12001-06-30 Zack Weinberg <zackw@stanford.edu> 2 3 * rtl.def (DEFINE_INSN, DEFINE_INSN_AND_SPLIT, DEFINE_PEEPHOLE): 4 Change output-template slot to format 'T'. 5 * rtl.h (XTMPL): New. 6 * read-rtl.c (read_escape): New function. 7 (read_quoted_string, read_braced_string): Use it. 8 (read_rtx): Set star_if_braced from the format string. 9 Use XTMPL where appropriate. 10 * genoutput.c (gen_insn, gen_peephole): Use XTMPL to get the 11 template string. 12 13 * rtl.c: Include errors.h for sake of rtl_check_failed* routines. 14 Document 'T' in rtx format strings. 15 * Makefile.in (rtl.o, $(HOST_PREFIX_1)rtl.o): Depend on errors.h. 16 * errors.c (internal_error): Add missing ": " at end of string. 17 18 * i860.md: Change triple backslashes to double backslashes at 19 ends of lines in output templates. 20 * ns32k.md: Remove stray backslash-newline in output template. 21 222001-06-29 Nick Clifton <nickc@cambridge.redhat.com> 23 24 * gcc.c (process_command): Append a DIR_SEPARATOR to a path 25 specified by the -B switch, if doing so would create a valid 26 directory name. 27 * doc/invoke.texi: Document changed behavior of -B. 28 292001-06-29 DJ Delorie <dj@redhat.com> 30 31 * simplify-rtx.c (simplify_subreg): When simplifying a CONCAT, at 32 least get rid of the CONCAT if we can't simplify further. 33 34Fri Jun 29 12:27:24 2001 Jeffrey A Law (law@cygnus.com) 35 36 * simplify-rtx.c (simplify_rtx): Use swap_commutative_operands_p. 37 38 * doc/gcc.texi (Passes): Update due to recent -fdce -> -fssa-dce 39 changes. Fix documentation for SSA DCE pass. 40 41 * ssa-dce.c (ssa_eliminate_dead_code): Renamed from 42 eliminate_date_code. 43 * ssa.h (ssa_eliminate_dead_code): Corresponding changes. 44 * timevar.def (TV_SSA_DCE): Renamed from TV_DEAD_CODE_ELIM. 45 * toplev.c (DFI_ssa_dce): Renamed from DFI_dce. 46 (dump_file_info): Similar changes. 47 (flag_ssa_dce): Similarly 48 (f_options): Similar changes. 49 (rest_of_compilation): Corresponding changes. 50 * doc/invoke.texi: Update as option is now -fssa-dce instead 51 of -fdce. Update dump file name. 52 53 * ssa-dce.c (note_inherently_necessary_set): New function. 54 (find_inherently_necessary): Use it. Do not consider 55 NOTEs, CODE_LABELs or BARRIERS are necessary. Improve 56 handling of asms and unspecs. 57 (delete_insn_bb): Only delete INSNs, CALL_INSNs or JUMP_INSNs. 58 592001-06-29 Joseph S. Myers <jsm28@cam.ac.uk> 60 61 * target.h (struct gcc_target): Add comp_type_attributes and 62 set_default_type_attributes. 63 * target-def.h (TARGET_COMP_TYPE_ATTRIBUTES, 64 TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Define. 65 (TARGET_INITIALIZER): Update. 66 * doc/tm.texi (COMP_TYPE_ATTRIBUTES, TARGET_COMP_TYPE_ATTRIBUTES, 67 SET_DEFAULT_TYPE_ATTRIBUTES, TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): 68 Update documentation of old target macros to describe new target 69 hooks. 70 * tree.c (make_node): Use target.set_default_type_attributes. 71 (default_comp_type_attributes, 72 default_set_default_type_attributes): New functions. 73 * tree.h (default_comp_type_attributes, 74 default_set_default_type_attributes): Declare. 75 * c-typeck.c (COMP_TYPE_ATTRIBUTES): Don't define. 76 (comptypes): Use target.comp_type_attributes. 77 * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h 78 (arc_comp_type_attributes, arc_set_default_type_attributes, 79 COMP_TYPE_ATTRIBUTES, SET_DEFAULT_TYPE_ATTRIBUTES): Remove 80 functions and macros with default behavior. 81 * config/m32r/m32r-protos.h, config/m32r/m32r.c, 82 config/m32r/m32r.h (m32r_comp_type_attributes, 83 m32r_set_default_type_attributes, COMP_TYPE_ATTRIBUTES, 84 SET_DEFAULT_TYPE_ATTRIBUTES): Likewise. 85 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c, 86 config/m68hc11/m68hc11.h (m68hc11_comp_type_attributes, 87 m68hc11_set_default_type_attributes, COMP_TYPE_ATTRIBUTES, 88 SET_DEFAULT_TYPE_ATTRIBUTES): Likewise. 89 * config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c, 90 config/ns32k/ns32k.h (ns32k_comp_type_attributes, 91 COMP_TYPE_ATTRIBUTES): Likewise. 92 * config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c, 93 config/rs6000/rs6000.h (rs6000_comp_type_attributes, 94 rs6000_set_default_type_attributes, COMP_TYPE_ATTRIBUTES, 95 SET_DEFAULT_TYPE_ATTRIBUTES): Likewise. 96 * config/d30v/d30v.h (COMP_TYPE_ATTRIBUTES, 97 SET_DEFAULT_TYPE_ATTRIBUTES): Remove commented out macro 98 definitions. 99 * config/i386/i386.h (SET_DEFAULT_TYPE_ATTRIBUTES): Likewise. 100 * config/ns32k/ns32k.h (SET_DEFAULT_TYPE_ATTRIBUTES): Likewise. 101 * config/arm/arm.c (arm_comp_type_attributes, 102 arm_set_default_type_attributes): Make static. 103 (TARGET_COMP_TYPE_ATTRIBUTES, TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): 104 Define. 105 * config/arm/arm.h (COMP_TYPE_ATTRIBUTES, 106 SET_DEFAULT_TYPE_ATTRIBUTES): Don't define. 107 * config/arm/arm-protos.h (arm_comp_type_attributes, 108 arm_set_default_type_attributes): Don't declare. 109 * config/i386/i386.c (ix86_comp_type_attributes): Make static. 110 (TARGET_COMP_TYPE_ATTRIBUTES): Define. 111 * config/i386/i386.h (COMP_TYPE_ATTRIBUTES): Don't define. 112 * config/i386/i386-protos.h (ix86_comp_type_attributes): Don't 113 declare. 114 1152001-06-28 Jan van Male <jan.vanmale@fenk.wau.nl> 116 117 * predict.c (dump_prediction): Eliminate fprintf warning. 118 1192001-06-28 Diego Novillo <dnovillo@redhat.com> 120 121 * flow.c (dump_bb): Remove unused third argument to call 122 to fprintf when displaying the basic block header. 123 1242001-06-28 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 125 Jeff Law <law@redhat.com> 126 127 * Makefile.in (OBJS): Add df.o 128 (df.o): Add dependencies. 129 * basic-block.h (flow_depth_first_order_compute): Declare. 130 * flow.c (flow_depth_first_order_compute): No longer declare. 131 Make external. 132 * df.c, df.h: New files. 133 1342001-06-28 Zack Weinberg <zackw@stanford.edu> 135 136 * config/i386/i386.md: Global update to use new string syntax 137 where it will improve readability. Warning fixes: 138 (*truncdfsf2_2): Abort if which_alternative is not 0 or 1. 139 (*adddi_1_rex64, *adddi_2_rex64, *adddi_3_rex64, 140 *adddi_4_rex64, *adddi_5_rex64): Cast 1 to unsigned int. 141 142 * read-rtl.c: Syntactic sugar for C embedded in strings in 143 machine descriptions. 144 (read_string): Break inner loop into separate function. Takes 145 an int. Dispatch to read_quoted_string or read_braced_string 146 as appropriate. Automatically insert a leading star on braced 147 strings if STAR_IF_BRACED is true. 148 (read_quoted_string, read_braced_string): New functions. 149 * doc/rtl.texi, doc/md.texi: Document new syntax. Update 150 examples to match. 151 152 * rtl.c: Split RTL reader (read_rtx, read_skip_spaces, 153 traverse_md_constants, fatal_with_file_and_line, 154 fatal_expected_char, read_name, read_string, def_hash, 155 def_name_eq_p, read_constants, and related data) to its own 156 file. Weed out now-unnecessary #includes. 157 * read-rtl.c: New file. 158 * Makefile.in (HOST_RTL): Add read-rtl.o. 159 (read-rtl.o): New rule. 160 (rtl.o, $(HOST_PREFIX_1)rtl.o): Update dependencies. 161 * doc/gcc.texi (Passes): Talk briefly about the support 162 library used by genfoo. 163 * doc/rtl.texi (Reading RTL): read_rtx is not available in the 164 compiler itself. 165 1662001-06-28 Stan Shebs <shebs@apple.com> 167 168 * config/darwin.h (REGISTER_TARGET_PRAGMAS): Define. 169 * config/darwin-c.c: New file. 170 * config/darwin-protos.h: Declare new functions. 171 * config/rs6000/t-darwin (darwin-c.o): New rule. 172 * config.gcc (powerpc-*-darwin*): Define c_target_objs and 173 cxx_target_objs. 174 * doc/extend.texi (Pragmas): New section. 175 176Thu Jun 28 20:13:11 CEST 2001 Jan Hubicka <jh@suse.cz> 177 178 * flow.c (try_merge_block): Rename to try_optimize_cfg; 179 do basic simplifications on the CFG. 180 (is_forwarder_block_p, can_fallthru, try_redirect_by_replacing_jump, 181 try_simplify_condjump): New. 182 (redirect_edge_and_branch): Try replace jump insn. 183 (flow_delete_insn): Handle deleting of ADDR_VEC insns. 184 185 * basic-block.h (FALLTHRU_EDGE, BRANCH_EDGE): New macros. 186 187Thu Jun 28 11:19:42 2001 Jeffrey A Law (law@cygnus.com) 188 189 * ssa-dce.c (eliminate_dead_code): Properly handle control 190 dependencies implied by PHI nodes. 191 192 * ssa-dce.c (eliminate_dead_code): Remove fake edges from the 193 CFG after dead code elimination is complete. 194 1952001-06-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 196 197 * gthr-posix.h [LIBOBJC]: Add weak definitions of 198 sched_get_priority_max, sched_get_priority_min. 199 2002001-06-28 Gabriel Dos Reis <gdr@codesourcery.com> 201 202 * diagnostic.c (default_print_error_function): Tweak. 203 (report_error_function): Likewise. 204 * toplev.h (default_print_error_function): Move to... 205 * diagnostic.h: ...here. Add a `diagnostic_context *' parameter. 206 * tree.h (print_error_function): Move to... 207 * diagnostic.h: ...here. Add a `diagnostic_context *' parameter. 208 209Thu Jun 28 06:16:45 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 210 211 * expr.c (expand_assignment): When have varying-length object, 212 make MEM a BLKmode. 213 (expand_expr, case ADDR_EXPR): Use SAVE_EXPR_RTL after putting 214 SAVE_EXPR stack in case we had a SUBREG. 215 216Thu Jun 28 10:31:06 CEST 2001 Jan Hubicka <jh@suse.cz> 217 218 * i386.md (cmp?i): Simplify; refuse immediate operand 219 in alternative 0 220 * i386.c (cmpsi_operand): Refuse constants. 221 222 * i386.md (movsi_insv_1, movsi_insv_1_rex64): Allow immediate operand. 223 224 * flow.c (block_label, redirect_edge_and_branch): Split out from .... 225 (split_edge) .... here; 226 2272001-06-28 Neil Booth <neil@cat.daikokuya.demon.co.uk> 228 229 * i386/i386.c (ix86_valid_type_attribute_p): Give external 230 linkage, move declaration to... 231 * i386/i386-protos.h: ...here. 232 2332001-06-27 H.J. Lu (hjl@gnu.org) 234 235 * build-make (CC): Removed. 236 (HOST_CC): Set to $(CC_FOR_BUILD). 237 (HOST_CFLAGS): Replace $(CFLAGS) with $(CFLAGS_FOR_BUILD). 238 Fix a typo in comments. 239 240 * configure.in: Set CFLAGS to $(CFLAGS_FOR_BUILD) when 241 generating auto-build.h for canadian cross compile. Set CC 242 to `"${CC_FOR_BUILD}"' instead of just `${CC_FOR_BUILD}'. 243 Save/restore CFLAGS. 244 * configure: Regenerated. 245 2462001-06-27 Jim Wilson <wilson@redhat.com> 247 248 * emit-rtl.c (gen_highpart): Call validize_mem. 249 2502001-06-27 Bruce Korb <bkorb@gnu.org> 251 252 * fixinc/inclhack.def(hpux11_cpp_pow_inline): new, but real similar to 253 hpux10_cpp_pow_inline. Not similar enough. 254 (solaris_mutex_init): renamed. PTHREAD_*_INITIALIZER is a problem for 255 all Solaris versions. This fix patches MUTEX and COND initializers, 256 the RWLOCK one will wait for someone to complain. For now, anyway. 257 (uw7_byteorder_fix): It was looking for the byteorder.h file in the 258 wrong directory. 259 2602001-06-27 Stan Shebs <shebs@apple.com> 261 262 * objc/objc-act.c (handle_impent): Rewrite to be more portable 263 and to use ASM_DECLARE_CLASS_REFERENCE. 264 * config/darwin.h (ASM_DECLARE_CLASS_REFERENCE): Rename from 265 undocumented DECLARE_CLASS_REFERENCE, add file argument. 266 * doc/tm.texi (ASM_DECLARE_CLASS_REFERENCE): Document. 267 268Wed Jun 27 18:01:09 2001 Jeffrey A Law (law@cygnus.com) 269 270 * simplify-rtx.c (simplify_rtx): Canonicalize commutative expressions 271 by putting complex operands first and constants second. 272 2732001-06-27 Gabriel Dos Reis <gdr@codesourcery.com> 274 275 * diagnostic.h: Add documentation. Make macros polymorphic. 276 * diagnostic.c (ideal_line_wrap_cutoff): Remove 277 definition. Replace with diagnostic_line_cutoff. 278 (prefixing_policy): Remove. Replace with diagnostic_prefixing_rule. 279 2802001-06-27 Joseph S. Myers <jsm28@cam.ac.uk> 281 282 * doc/c-tree.texi, doc/contrib.texi, doc/cpp.texi, 283 doc/cppinternals.texi, doc/extend.texi, doc/gcc.texi, 284 doc/gcov.texi, doc/install-old.texi, doc/install.texi, 285 doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Replace 286 . at end of sentences preceded by a capital letter with @.. 287 2882001-06-26 Daniel Berlin <dan@cgsoftware.com> 289 290 * doc/invoke.texi: Add description of max-gcse-passes param. 291 292 * gcse.c (gcse_main): Use MAX_GCSE_PASSES instead of MAX_PASSES. 293 (MAX_PASSES): Remove now unneeded macro. 294 295 * params.h (MAX_GCSE_PASSES): New macro, to get parameter value of 296 max-gcse-passes param. 297 298 * params.def (PARAM_MAX_GCSE_PASSES): New parameter, controlling 299 maximum number of GCSE passes to run. Defaults to 1 (which is what 300 MAX_PASSES in gcse.c used to be). 301 3022001-06-27 Neil Booth <neil@cat.daikokuya.demon.co.uk> 303 304 * system.h (TARGET_ESC): Move to ... 305 * defaults.h (TARGET_ESC): ... here. 306 * target-def.h (TARGET_VALID_DECL_ATTRIBUTE, 307 TARGET_VALID_TYPE_ATTRIBUTE): Default to a no-op handler. 308 * tree.c (default_valid_attribute_p): New. 309 (valid_machine_attribute): Handlers can not be NULL. 310 * tree.h (default_valid_attribute_p): New. 311 * doc/tm.texi: Document TARGET_ESC. 312 * cp/decl2.c (import_export_class): Update. 313 3142001-06-26 Bruce Korb <bkorb@gnu.org> 315 316 * gcc/fixinc/fixincl.c(initialize): In very strict ANSI, you cannot 317 use preprocessing directives inside a string literal. Fixed. 318 3192001-06-26 Jim Wilson <wilson@redhat.com> 320 321 * doc/tm.texi (MAX_LONG_DOUBLE_TYPE_SIZE, INTEL_EXTENDED_IEEE_FORMAT): 322 Document. 323 3242001-06-27 Joseph S. Myers <jsm28@cam.ac.uk> 325 326 * doc/cpp.texi, doc/cppinternals.texi, doc/extend.texi, 327 doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi, 328 doc/tm.texi: Use @: where necessary when a full stop does not end 329 a sentence. 330 3312001-06-27 Joseph S. Myers <jsm28@cam.ac.uk> 332 333 * doc/gcc.texi, doc/install.texi, doc/invoke.texi: Remove trailing 334 whitespace. 335 3362001-06-26 Joseph S. Myers <jsm28@cam.ac.uk> 337 338 * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi, doc/gcc.texi, 339 doc/install.texi, doc/invoke.texi, doc/objc.texi, doc/rtl.texi, 340 doc/tm.texi: Use two spaces after ends of sentences. 341 3422001-06-26 Daniel Berlin <dan@cgsoftware.com> 343 344 * toplev.c (display_help): Fix param thinko. 345 * Makefile.in: Fix params.h dependencies. 346 3472001-06-26 Gabriel Dos Reis <gdr@codesourcery.com> 348 349 * toplev.c (decode_f_option): Adjust setting. 350 (toplev_main): Call diagnostic_initialize. Remove call to 351 reshape_diagnostic_buffer._ 352 353 * diagnostic.h (struct output_buffer): Add new field format_decoder. 354 (diagnostic_format_decoder): New macro. 355 (diagnostic_prefixing_rule): Likewise. 356 (diagnostic_line_cutoff): Likewise. 357 (set_message_prefixing_rule): Remove. 358 359 * diagnostic.c (lang_printer): Remove. 360 (diagnostic_message_length_per_line): Likewise. 361 (current_prefixing_rule): Likewise. 362 (initialize_diagnostics): Rename to... 363 (diagnostic_initialize): ...this. Tweak. 364 (default_initialize_buffer): Remove. 365 (reshape_diagnostic_buffer): Likewise. 366 (init_output_buffer): Adjust prefixing rule setting. 367 (output_format): Use format_decoder from the output_buffer. 368 369 * c-lang.c (c_init): Adjust tree formatter setting. 370 3712001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 372 373 * config/i386/sol2.h (CPP_SPEC): Pass -P for .S files. 374 3752001-06-26 Neil Booth <neil@daikokuya.demon.co.uk> 376 377 * Makefile.in (TARGET_H, TARGET_DEF_H): New. 378 (c-decl.o, tree.o, c-typeck.o, $(out_object_file)): Update. 379 * c-decl.c (duplicate_decls): Use function pointer. 380 * c-typeck.c (common_type): Similarly. 381 * tree.c (valid_machine_attribute): Similarly. 382 (merge_machine_type_attributes): Rename merge_type_attributes. 383 (merge_machine_decl_attributes): Rename merge_decl_attributes. 384 (merge_dllimport_decl_attributes): New function. 385 * tree.h (merge_machine_type_attributes): Rename merge_type_attributes. 386 (merge_machine_decl_attributes): Rename merge_decl_attributes. 387 (merge_dllimport_decl_attributes): New prototype. 388 * target.h: New. 389 * target-def.h: New. 390 391doc: (Joseph Myers) 392 * doc/gcc.texi, doc/tm.texi: Update documentation. 393 394cp: Make-lang.in: Update dependencies. 395 * spew.c: Include target.h. 396 (duplicate_decls): Call target function. 397 * decl2.c: include target.h 398 (import_export_class): Use existence of target function pointer. 399 * typeck.c: Include target.h. 400 (qualify_type_recursive): Rename variable. Call target function. 401 (type_after_usual_arithmetic_conversions): Similarly. 402 (common_type): Similarly. 403 404config: * 1750a/1750a.c, a29k/29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c, 405 avr/avr.c, c4x/c4x.c, clipper/clipper.c, convex/convex.c, 406 d30v/d30v.c, dsp16xx/dsp16xx.c, elxsi/elxsi.c, fr30/fr30.c, 407 i370/i370.c, i386/i386.c, i860/i860.c, i960/i960.c, ia64/ia64.c, 408 m32r/m32r.c, m68hc11/m68hc11.c, m68k/m68k.c, m88k/m88k.c, 409 mips/mips.c, mn10200/mn10200.c, mn10300/mn10300.c, ns32k/ns32k.c, 410 pa/pa.c, pdp11/pdp11.c, pj/pj.c, romp/romp.c, rs6000/rs6000.c, 411 sh/sh.c, sparc/sparc.c, v850/v850.c, vax/vax.c, we32k/we32k.c) 412 : Include target.h and target-def.h. Define target. 413 414 * arc/arc-protos.h (arc_valid_machine_decl_attribute): Remove. 415 * arc/arc.c (arc_valid_machine_decl_attribute): Rename 416 arc_valid_decl_attribute, make static. 417 * arc/arc.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove. 418 * arm/arm-protos.h (arm_valid_machine_decl_attribute, 419 arm_valid_type_attribute_p, arm_pe_valid_machine_decl_attribute, 420 arm_pe_merge_machine_decl_attributes): Remove. 421 * arm/arm.c (arm_valid_machine_decl_attribute_p): Rename 422 arm_valid_decl_attribute_p, make static. 423 (arm_pe_valid_decl_attribute_p): Move from pe.c. 424 * arm/pe.c (arm_pe_valid_machine_decl_attribute_p): Move to arm.c. 425 (arm_pe_merge_machine_decl_attributes): Move to tree.c. 426 * arm/arm.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove. 427 * arm/coff.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove. 428 * arm/elf.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove. 429 * arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): New. 430 (VALID_MACHINE_TYPE_ATTRIBUTE, VALID_MACHINE_DECL_ATTRIBUTE): Remove. 431 * avr/avr-protos.h (valid_machine_type_attribute, 432 valid_machine_decl_attribute): Remove. 433 * avr/avr.c (valid_machine_type_attribute, 434 valid_machine_decl_attribute): Rename and make static. 435 * avr/avr.h (VALID_MACHINE_TYPE_ATTRIBUTE, 436 VALID_MACHINE_DECL_ATTRIBUTE): Remove. 437 * c4x/c4x-protos.h (c4x_valid_type_attribute_p): Remove. 438 * c4x/c4x.c (c4x_valid_type_attribute_p): Make static. 439 * c4x/c4x.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove. 440 * d30v/d30v.h: Remove obsolete comments. 441 * h8300/h8300-protos.h (h8300_valid_machine_decl_attribute): Remove. 442 * h8300/h8300.c (h8300_valid_machine_decl_attribute): Rename, make 443 static. 444 * h8300/h8300.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove. 445 * i386/cygwin.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define. 446 (i386_pe_merge_decl_attributes, MERGE_MACHINE_DECL_ATTRIBUTES, 447 i386_pe_valid_type_attributes_p): Remove. 448 * i386/i386-protos.h (ix86_valid_decl_attribute_p, 449 ix86_valid_type_attribute_p): Remove. 450 * i386/i386.c (ix86_valid_decl_attribute_p): Remove. 451 (ix86_valid_type_attribute_p): Make static. 452 * i386/i386.h (VALID_MACHINE_DECL_ATTRIBUTE, 453 VALID_MACHINE_TYPE_ATTRIBUTE): Remove. 454 * i386/winnt.c (i386_pe_merge_decl_attributes): Move to tree.c. 455 * ia64/ia64-protos.h (ia64_valid_type_attribute): Remove. 456 * ia64/ia64.c (ia64_valid_type_attribute): Make static. 457 * ia64/ia64.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove. 458 * m32r/m32r-protos.h (m32r_valid_machine_decl_attribute): Remove. 459 * m32r/m32r.c (m32r_valid_decl_attribute): Make static. 460 * m32r/m32r.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove. 461 * m68hc11/m68hc11-protos.h (m68hc11_valid_decl_attribute_p, 462 m68hc11_valid_type_attribute_p): Remove. 463 * m68hc11/m68hc11.c (m68hc11_valid_decl_attribute_p): Remove. 464 (m68hc11_valid_type_attribute_p): Make static. 465 * m68hc11/m68hc11.h (VALID_MACHINE_DECL_ATTRIBUTE, 466 VALID_MACHINE_TYPE_ATTRIBUTE): Remove. 467 * mcore/mcore-protos.h (mcore_valid_machine_decl_attribute, 468 mcore_merge_machine_decl_attribute): Remove. 469 * mcore/mcore.c (mcore_valid_machine_decl_attribute): Rename, 470 make static. 471 (mcore_merge_machine_decl_attributes): Move to tree.c. 472 * mcore/mcore.h (VALID_MACHINE_DECL_ATTRIBUTE, 473 VALID_MACHINE_TYPE_ATTRIBUTE): Remove. 474 (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define. 475 * ns32k/ns32k-protos.h (ns32k_valid_decl_attribute_p, 476 ns32k_valid_type_attribute_p): Remove. 477 * ns32k/ns32k.c (ns32k_valid_decl_attribute_p): Remove. 478 (ns32k_valid_type_attribute_p): Make static. 479 * ns32k/ns32k.h (VALID_MACHINE_DECL_ATTRIBUTE, 480 VALID_MACHINE_TYPE_ATTRIBUTE): Remove. 481 * rs6000/rs6000-protos.h (rs6000_valid_decl_attribute_p, 482 rs6000_valid_type_attribute_p): Remove. 483 * rs6000/rs6000.c (rs6000_valid_decl_attribute_p): Remove. 484 (rs6000_valid_type_attribute_p): Make static. 485 * rs6000/rs6000.h (VALID_MACHINE_DECL_ATTRIBUTE, 486 VALID_MACHINE_TYPE_ATTRIBUTE): Remove. 487 * sh/sh-protos.h (sh_valid_machine_decl_attribute): Remove. 488 * sh/sh.c (sh_valid_machine_decl_attribute): Rename, make static. 489 * sh/sh.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove. 490 * v850/v850-protos.h (v850_valid_machine_decl_attribute): Remove. 491 * v850/v850.c (v850_valid_machine_decl_attribute): Rename, make static. 492 * v850/v850.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove. 493 4942001-06-26 Vladimir Makarov <vmakarov@toke.toronto.redhat.com> 495 496 * glimits.h (USHRT_MAX): Use unsigned suffix if int can not hold 497 it. 498 4992001-06-26 Gabriel Dos Reis <gdr@codesourcery.com> 500 501 * diagnostic.h (struct diagnostic_context): Add new field. 502 (lang_diagnostic_starter, lang_diagnostic_finalizer): Remove 503 declaratons. 504 (global_dc): Declare. 505 * diagnostic.c (global_diagnostic_context): New variable. 506 (global_output_buffer): Remove. 507 (global_dc): Define. 508 (lang_diagnostic_starter, lang_diagnostic_finalizer): Remove 509 definitions. 510 (initialize_diagnostics): Adjust initialization. 511 (set_diagnostic_context): Adjust setting. 512 5132001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 514 515 * config/mips/iris5.h (UNALIGNED_INT_ASM_OP, 516 UNALIGNED_SHORT_ASM_OP): Define. 517 * config/mips/iris6.h (UNALIGNED_INT_ASM_OP, 518 UNALIGNED_SHORT_ASM_OP): Undef. 519 520Tue Jun 26 12:40:12 CEST 2001 Jan Hubicka <jh@suse.cz> 521 522 * i386.md (float_truncate splitter, and to mov splitters): Add 523 reload_completed; fix operand predicate. 524 525 * haifa-sched.c (sched_init): Do not split insns. 526 * toplev.c (rest_of_compilation): Call split_all_insns before 527 sched1 pass; simplify condition of post-reload splitter; 528 call split_all_insn before sched2 pass. 529 5302001-06-26 Gabriel Dos Reis <gdr@codesourcery.com> 531 532 * diagnostic.h (diagnostic_prefixing_rule_t): New enum type. 533 (set_message_prefixing_rule): Adjust prototype. 534 * diagnostic.c (current_prefixing_rule): Adjust type. 535 5362001-06-26 Neil Booth <neil@daikokuya.demon.co.uk> 537 538 * defaults.h: Default escape sequences to ASCII. 539 * config/i370/i370.h: Adjust for ASCII default. 540 * config/1750a/1750a.h: Remove escape sequence definitions. 541 * config/a29k/a29k.h: Similarly. 542 * config/alpha/alpha.h: Similarly. 543 * config/arc/arc.h: Similarly. 544 * config/arm/arm.h: Similarly. 545 * config/avr/avr.h: Similarly. 546 * config/c4x/c4x.h: Similarly. 547 * config/clipper/clipper.h: Similarly. 548 * config/convex/convex.h: Similarly. 549 * config/d30v/d30v.h: Similarly. 550 * config/dsp16xx/dsp16xx.h: Similarly. 551 * config/elxsi/elxsi.h: Similarly. 552 * config/fr30/fr30.h: Similarly. 553 * config/h8300/h8300.h: Similarly. 554 * config/i386/i386.h: Similarly. 555 * config/i860/i860.h: Similarly. 556 * config/i960/i960.h: Similarly. 557 * config/ia64/ia64.h: Similarly. 558 * config/m32r/m32r.h: Similarly. 559 * config/m68hc11/m68hc11.h: Similarly. 560 * config/m68k/m68k.h: Similarly. 561 * config/m88k/m88k.h: Similarly. 562 * config/mcore/mcore.h: Similarly. 563 * config/mips/mips.h: Similarly. 564 * config/mn10200/mn10200.h: Similarly. 565 * config/mn10300/mn10300.h: Similarly. 566 * config/ns32k/ns32k.h: Similarly. 567 * config/pa/pa.h: Similarly. 568 * config/pdp11/pdp11.h: Similarly. 569 * config/pj/pj.h: Similarly. 570 * config/romp/romp.h: Similarly. 571 * config/rs6000/rs6000.h: Similarly. 572 * config/sh/sh.h: Similarly. 573 * config/sparc/sparc.h: Similarly. 574 * config/v850/v850.h: Similarly. 575 * config/vax/vax.h: Similarly. 576 * config/we32k/we32k.h: Similarly. 577 * doc/tm.texi: Update documentation. 578 5792001-06-26 Gabriel Dos Reis <gdr@merlin.codesourcery.com> 580 581 * diagnostic.c (digit_buffer): Remove as global. Move to... 582 * diagnostic.h (struct output_buffer): ... here. 583 * diagnostic.c (output_formatted_integer): Adjust use of digit_buffer. 584 5852001-06-25 Steve Ellcey <sje@cup.hp.com> 586 587 * config.gcc (ia64*-*-hpux*): Add ia64/hpux_longdouble.h to tm_file. 588 Define tmake_file to include ia64/t-hpux. 589 * real.c (INTEL_EXTENDED_IEEE_FORMAT): Test for value instead of 590 testing to see if it is defined. 591 * real.h (INTEL_EXTENDED_IEEE_FORMAT): Likewise. Default to 0 if 592 undefined. 593 * config/ia64/hpux_longdouble.h: New. 594 * config/ia64/ia64.c (hfa_element_mode): Add comment about incorrect 595 handling of long doubles. 596 (ia64_function_arg, ia64_function_value): Add checks for TFmode 597 and INTEL_EXTENDED_IEEE_FORMAT. 598 * config/ia64/ia64.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one. 599 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, LIBCALL_VALUE): Add checks for 600 TFmode and INTEL_EXTENDED_IEEE_FORMAT. 601 * config/ia64/ia64.md (all TFmode patterns): Test 602 INTEL_EXTENDED_IEEE_FORMAT in condition. 603 (floatdidf2, floatdisf2): New, for !INTEL_EXTENDED_IEEE_FORMAT. 604 * config/ia64/quadlib.c: New. 605 * config/ia64/t-hpux: New. 606 * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one. 607 6082001-06-25 Jim Wilson <wilson@redhat.com> 609 610 * config/i960/t-960bare (i960-c.o): Add missing header dependencies. 611 * config/i960/t-vxworks960: Likewise. 612 6132001-06-25 Dale Johannesen <dalej@apple.com> 614 615 * bitmap.c (bitmap_last_bit_set): Fix a non-c89 usage (null actual 616 argument to macro). 617 618Mon Jun 25 11:10:51 CEST 2001 Jan Hubicka <jh@suse.cz> 619 620 * i386.md (movsi_insv_1, movsi_insv_1_rex64): Fix constraints. 621 6222001-06-25 Joseph S. Myers <jsm28@cam.ac.uk> 623 624 * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi, 625 doc/gcc.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi, 626 doc/md.texi, doc/rtl.texi, doc/tm.texi: Be more consistent about 627 the use of "GCC" and related terms. 628 * doc/gcc.1, doc/gcov.1: Regenerate. 629 6302001-06-24 Joseph S. Myers <jsm28@cam.ac.uk> 631 632 * doc/extend.texi, doc/gcc.texi, doc/install-old.texi, 633 doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Remove 634 uses of @refill. 635 636Sun Jun 24 21:21:49 CEST 2001 Jan Hubicka <jh@suse.cz> 637 638 * (movsi_insv_1, movsi_insv_1_rex64): Allow immediate operand. 639 6402001-06-24 Richard Henderson <rth@redhat.com> 641 642 * builtins.c (expand_builtin_expect_jump): Disable if the 643 expression can't be re-evaluated. 644 6452001-06-24 Nick Clifton <nickc@cambridge.redhat.com> 646 647 * config/arm/arm.c (arm_compute_save_reg_mask): For FIQ interrupt 648 handlers examine register r0-r7, for other interrupt handlers 649 examine r0-r12. If the interrupt handler is not a leaf function 650 save all call clobbered registers. 651 (arm_output_epilogue): If the prologue has pushed the IP register, 652 restore it here. 653 (Arm_expand_prologue): For interrupt functions that need the frame 654 pointer, push the IP register before it is corrupted. 655 656 * config/arm/arm.h (ARM_SIGN_EXTEND): Fix compile time warnings 657 about the use of signed and unsigned quantities in a conditional. 658 6592001-06-23 Richard Henderson <rth@redhat.com> 660 661 * config/alpha/crtfastmath.c: New file. 662 * config/alpha/t-crtfm: New file. 663 * config/alpha/elf.h (ENDFILE_SPEC): Use crtfastmath.o. 664 * config/alpha/osf.h (ENDFILE_SPEC): Likewise. 665 * config/alpha/t-crtbe (EXTRA_PARTS): Add pieces defined here. 666 * config.gcc (alpha-{linux,freebsd,netbsd,osf}): Use alpha/t-crtfm; 667 do not set extra_parts here. 668 6692001-06-24 Joseph S. Myers <jsm28@cam.ac.uk> 670 671 * doc/install-old.texi: Remove more documentation of configure 672 options. 673 * doc/install.texi: Add it here. 674 675Sat Jun 23 19:40:05 CEST 2001 Jan Hubicka <jh@suse.cz> 676 677 * i386-protos.h (emit_i387_cw_initialization): Declare. 678 * i386.md (movsi_insv_1): Remove '*'. 679 (fix_trunc?f?i2): Revamp to use control word parameters. 680 (fix_trunc?i_1): Likewise; update splitters. 681 (fix splitter): Remove. 682 * i386.c (MAX_386_STACK_LOCALS): set to 3. 683 (emit_i387_cw_initialization): New function. 684 (output_fix_trunc): Do not initialize control word; 685 kill dead code; simplify. 686 6872001-06-23 Neil Booth <neil@cat.daikokuya.demon.co.uk> 688 689 * cppmacro.c (make_string_token): Avoid warning. 690 (cpp_macro_definition): Prepend the macro name. Update 691 comments. 692 * cppmain.c (cb_define, dump_macro): Update for changes 693 to cpp_macro_definition. 694 695Sat Jun 23 10:20:03 CEST 2001 Jan Hubicka <jh@suse.cz> 696 697 * flow.c (attempt_auto_inc, try_pre_increment_1): Fix typo. 698 699Sat Jun 23 01:23:59 CEST 2001 Jan Hubicka <jh@suse.cz> 700 701 * flow.c (mark_set_1, attempt_auto_inc, mark_used_reg, 702 try_pre_increment_1): compute REG_FREQ using bb->frequency. 703 704 * regclass.c (loop_cost): Kill. 705 (frequency): New global variable. 706 (record_operand_costs): Replace loop_cost by frequency. 707 (scan_one_insn): Likewise. 708 (regclass): Likewise; set frequency according to bb->frequency. 709 710 * flow.c (split_edge): Set frequency. 711 712Sat Jun 23 01:16:42 CEST 2001 Jan Hubicka <jh@suse.cz> 713 714 * predict.c (block_info_def): Add nvisited. 715 (propagate_freq): Count nvisited; re-queue delayed blocks; handle 716 irreducible regions. 717 718 * flow.c (dump_edge_info): Dump the probability of edge. 719 (combine_predictions_for_insn): Dump the basic block. 720 7212001-06-22 Joseph S. Myers <jsm28@cam.ac.uk> 722 723 * doc/gcc.texi: Update documentation of source files of C 724 compiler. 725 7262001-06-22 Richard Henderson <rth@redhat.com> 727 728 * doc/invoke.texi (-funsafe-math-optimizations): Document its 729 possible effects at link time. 730 7312001-06-22 Diego Novillo <dnovillo@redhat.com> 732 733 * basic-block.h (dump_edge_info): Declare. 734 (clear_edges): Declare. 735 (mark_critical_edges): Declare. 736 * flow.c (dump_edge_info): Remove static declaration. 737 (clear_edges): Ditto. 738 (mark_critical_edges): Ditto. 739 (free_basic_block_vars): Only clear edges and free basic block 740 array if basic_block_info is not NULL. 741 * ssa.c (compute_dominance_frontiers): Remove static declaration. 742 * ssa.h (compute_dominance_frontiers): Declare. 743 7442001-06-22 Toshiyasu Morita (toshiyasu.morita@hsa.hitachi.com) 745 746 * predict.c: (expected_value_to_br_prob): Check for const_true_rtx 747 instead of const1_rtx for true case. 748 7492001-06-22 David Mosberger <davidm@hpl.hp.com> 750 751 * config/ia64/crtfastmath.c: New file. 752 * config/ia64/t-ia64 (EXTRA_PARTS): Include it. 753 * config/ia64/linux.h (ENDFILE_SPEC): New. 754 7552001-06-22 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com> 756 757 * config/h8300/h8300.c (asm_file_start): Remove reference to 758 "release F-1". 759 7602001-06-22 Joseph S. Myers <jsm28@cam.ac.uk> 761 762 * c-common.c (verify_tree): Check for x being NULL. 763 * doc/c-tree.texi: Document COMPOUND_BODY of an empty 764 COMPOUND_STMT. 765 Fixes PR c/3259. 766 7672001-06-22 DJ Delorie <dj@redhat.com> 768 769 * config/arm/arm.h (struct machine_function): Remove ra_rtx. 770 * config/arm/arm.c (arm_mark_machine_status): Remove ra_rtx. 771 (arm_return_addr): Use get_hard_reg_initial_val et al. 772 * config/d30v/d30v.h (struct machine_function): Remove ra_rtx. 773 * config/d30v/d30v.c (d30v_mark_machine_status): Remove ra_rtx. 774 (d30v_return_addr): Use get_hard_reg_initial_val et al. 775 * config/rs6000/rs6000.h (struct machine_function): Remove ra_rtx. 776 * config/rs6000/rs6000.c (rs6000_override_options): Don't set 777 mark_machine_status. 778 (rs6000_mark_machine_status): Remove. 779 (rs6000_return_addr): Use get_hard_reg_initial_val. 780 (rs6000_ra_ever_killed): Use has_hard_reg_initial_val. 781 * config/v850/v850.h (INIT_EXPANDERS): Delete. 782 * config/v850/v850.c (struct machine_function): Delete. 783 (v850_init_machine_status): Delete. 784 (v850_mark_machine_status): Delete. 785 (v850_free_machine_status): Delete. 786 (v850_return_addr): Use get_hard_reg_initial_val. 787 (v850_init_expanders): Delete. 788 789Fri Jun 22 19:20:59 CEST 2001 Jan Hubicka <jh@suse.cz> 790 791 * predict.c (estimate_bb_frequencies): Do not handle conditional 792 jumps jumping to fallthru basic block as conditional jumps. 793 794Fri Jun 22 19:11:28 CEST 2001 Jan Hubicka <jh@suse.cz> 795 796 * regs.h (struct reg_info_def): Add freq field. 797 (REG_N_REFS): Update comment. 798 (REG_FREQ): New. 799 * regclass.c (scan_one_insn): Update REG_FREQ. 800 * flow.c (mark_set_1): Update REG_FREQ, make REG_N_SETS unweighted. 801 (attempt_auto_inc): Likewise. 802 (mark_used_reg): Likewise. 803 (try_pre_increment_1): Likewise. 804 * local-alloc.c (struct qty): Add freq field. 805 (alloc_qty): Set freq. 806 (update_equiv_regs): Set REG_FREQ. 807 (QTY_CMP_PRI): Use freq. 808 (combine_regs): Update qty->freq. 809 * global.c (struct allocno): Update comment for n_refs; 810 add freq field. 811 (local_reg_freq): New array. 812 (global_alloc): Update freq field; 813 allocate and initialize local_reg_freq. 814 (allocno_compare): Use freq field. 815 (find_reg): Likewise. 816 * reload1.c (count_pseudo): Use freq isntead of n_refs. 817 (count_spilled_pseudo): Likewise. 818 819 * tm.texi (GCOV_TYPE_SIZE): Document. 820 * basic-block.h (gcov_type): Define. 821 (struct edge_def): Use gcov_type for count field. 822 (struct basic_block_def): Likewise. 823 * defaults.h (GCOV_TYPE_SIZE): Define. 824 * final.c (end_final): Use GCOV_TYPE_SIZE. 825 * flow.c (dump_edge_info, dump_flow_info, dump_bb): Print count fields 826 using HOST_WIDEST_INT_PRINT_DEC. 827 * gcov-io.h (__fetch_gcov_type, __store_gcov_type, __read_gcov_type, 828 __write_gcov_type): New. 829 (store_long): Remove. 830 * gcov.c (gcov_type): Set default. 831 (struct adj_list): Use gcov_type for arc_count. 832 (bb_info): Use gcov_type for succ_count, pred_count and exec_count. 833 (create_program_flow_graph): Read arc_count properly. 834 (solve_program_flow_graph): 'total' is gcov_type. 835 (output_data): Line_counts is gcov_type, print it properly. 836 * libgcc2.c (struct bb): Counts is gcov_type. 837 (__bb_exit_func): Use __read_gcov_type and __write_gcov_type. 838 * profile.c (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set default. 839 (GCOV_TYPE_SIZE): Define. 840 (struct bb_info): succ_count and pred_count is gcov_type. 841 (compute_branch_probabilities): Use __read_gcov_type, 842 print read edges to the dump file. 843 (total): Is gcov_type. 844 (gen_edge_profiler): Use GCOV_TYPE_SIZE. 845 8462001-06-14 Andrew Haley <aph@cambridge.redhat.com> 847 848 * optabs.c (emit_libcall_block): When using non-call exceptions, 849 don't mark libcalls never throwing. 850 8512001-06-21 Stan Shebs <shebs@apple.com> 852 853 * objc/objc-act.c (hash_init): Use xcalloc. 854 8552001-06-21 Richard Henderson <rth@redhat.com> 856 857 * flow.c (entry_exit_blocks): Initialize frequency. 858 (split_block): Copy it. 859 (dump_flow_info): Dump it. 860 861Thu Jun 21 22:15:10 2001 J"orn Rennecke <amylaar@redhat.com> 862 863 * sh.c (barrier_align): Also recognize branch-around-a-jump-sequence 864 from machine-depedent_reorg for purposes of alignment supression 865 when no delay slot insn has been added. 866 8672001-06-21 Neil Booth <neil@cat.daikokuya.demon.co.uk> 868 869 * cppmacro.c (make_string_token): Null terminate. 870 8712001-06-21 DJ Delorie <dj@redhat.com> 872 873 * config/alpha/alpha.h (struct machine_function): Remove. 874 * config/alpha/alpha.c (integrate.h): Include. 875 (override_options): Don't set up machine_status hooks. 876 (alpha_init_machine_status): Remove. 877 (alpha_mark_machine_status): Remove. 878 (alpha_free_machine_status): Remove. 879 (alpha_return_addr): Use get_hard_reg_initial_val. 880 (alpha_gp_save_rtx): Likewise. 881 (alpha_ra_ever_killed): Use has_hard_reg_initial_val. 882 8832001-06-20 Aldy Hernandez <aldyh@redhat.com> 884 885 * config/sh/sh.md (interrupt_function): Use 886 current_function_interrupt. 887 (define_delay): Schedule in delay slot if TARGET_SH3, even if it is 888 an interrupt function. 889 890 * config/sh/sh.h (current_function_interrupt): Define extern. 891 892 * config/sh/sh.c (current_function_interrupt): New global. 893 (sh_expand_prologue): Set current_function_interrupt. 894 8952001-06-21 Phil Edwards <pme@sources.redhat.com> 896 897 * doc/install.texi: Add 'c' to list of --enable-languages choices. 898 8992001-06-21 DJ Delorie <dj@redhat.com> 900 901 * integrate.c (mark_hard_reg_initial_vals): Check for NULL. 902 903 * integrate.c (ggc.h): Include. 904 (initial_value_pair, initial_value_struct, 905 setup_initial_hard_reg_value_integration): Add prototypes. 906 (expand_inline_function): Call 907 setup_initial_hard_reg_value_integration. 908 (has_func_hard_reg_initial_val, get_func_hard_reg_initial_val, 909 get_hard_reg_initial_val, has_hard_reg_initial_val): New functions 910 to keep track of values present at the start of a function. 911 (mark_hard_reg_initial_vals): New, for gc. 912 (setup_initial_hard_reg_value_integration): New. Sets up pseudo 913 mappings for initial values. 914 (emit_initial_value_sets): New. Emits code to set initial value 915 pseudos. 916 * integrate.h: Add prototypes for new functions. 917 * function.h (struct function): Add hard_reg_initial_vals field. 918 * function.c (integrate.h): Include. 919 (mark_function_status): Call 920 mark_hard_reg_initial_vals. 921 * toplev.c (integrate.h): Include. 922 (rest_of_compilation): Call emit_initial_value_sets. 923 9242001-06-21 Stan Shebs <shebs@apple.com> 925 926 * doc/contrib.texi, doc/cpp.texi, doc/cppinternals.texi, 927 doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/invoke.texi, 928 doc/objc.texi, doc/tm.texi: Use the correct name "Objective-C" 929 everywhere instead of "Objective C". 930 9312001-06-21 Joseph S. Myers <jsm28@cam.ac.uk> 932 933 * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi, 934 doc/gcc.texi, doc/install-old.texi, doc/install.texi, 935 doc/invoke.texi, doc/rtl.texi: Consistently use "front end" and 936 "back end" as nouns and "front-end" and "back-end" as adjectives. 937 938Wed Jun 20 21:53:35 CEST 2001 Jan Hubicka <jh@suse.cz> 939 940 * predict.c (estimate_probability): Fix loop bounds. 941 942Wed Jun 20 19:10:48 CEST 2001 Jan Hubicka <jh@suse.cz> 943 944 * toplev.c (rest_of_compilation): Run mark_constant_function 945 before profile-arcs. 946 947Wed Jun 20 19:08:18 CEST 2001 Jan Hubicka <jh@suse.cz> 948 949 * predict.c (estimate_loops_at_level, propagate_freq 950 estimate_bb_frequencies, count_to_freqs): New functions. 951 (estimate_probability): Call estimate_bb_frequencies. 952 * basic-block.h (basic_block_def): Add field "freq". 953 (BB_FREQ_MAX): New constant. 954 955Wed Jun 20 17:02:50 2001 J"orn Rennecke <amylaar@redhat.com> 956 957 * sh.c (barrier_align): Don't ask for alignment when seeing a 958 branch-around-a-jump from machine_dependent_reorg. 959 960Wed Jun 20 08:35:02 2001 Jeffrey A Law (law@cygnus.com) 961 962 * ssa.c (rename_block): Update parameter to remove_phi_alternative 963 (convert_from_ssa): Do create REG_DEAD and REG_UNUSED notes when 964 re-running life analysis. 965 9662001-06-20 Stan Shebs <shebs@apple.com> 967 968 * objc/objc-act.c (hash_init): Assume xmalloc always succeeds, 969 also use memset to clear the hash tables. 970 (hash_enter): Assume xmalloc always succeeds. 971 (hash_add_attr): Ditto. 972 (continue_class): Ditto. 973 9742001-06-20 Michael Meissner <meissner@redhat.com> 975 976 * builtins.c (predict.h): Include. 977 (expand_builtin_expect): Update comment. 978 (expand_builtin_expect_jump): New function to expand 979 __builtin_expect inside of a conditional jump expansion. 980 981 * expr.c (do_jump): Special case __builtin_expect (<test>, 0) and 982 __builtin_expect (<test>, 1). 983 984 * Makefile.in (builtins.o): Depend on $(PREDICT_H). 985 986 * rtl.h (expand_builtin_expect_jump): Add prototype. 987 9882001-06-19 Geoffrey Keating <geoffk@redhat.com> 989 990 * doc/rtl.texi (Machine Modes): Correct description of 991 floating-point modes on machines with non-8-bit bytes. 992 9932001-06-19 Bernd Schmidt <bernds@redhat.com> 994 995 * regmove.c (optimize_reg_copy_3): Do nothing if previous insn 996 carries a REG_EQUIV note. If it carries REG_EQUAL, delete the 997 note. 998 999Tue Jun 19 07:53:52 2001 Jeffrey A Law (law@cygnus.com) 1000 1001 * ssa.c (remove_phi_alternative): Remove declaration. No longer 1002 static. Second argument is a pointer to a basic block structure, 1003 not a basic block index. 1004 (convert_to_ssa): Do not remove dead code. 1005 (convert_from_ssa): Do not remove dead code to create death notes. 1006 * ssa.h (remove_phi_alternative): Declare. 1007 1008 * flow.c (delete_unreachable_blocks): Fix patch error in 1009 previous change (call to find_unreachable_blocks was lost). 1010 1011 * ssa.c (ssa_uses): Remove definition. 1012 (apply_delayed_renames): Don't grow ssa_uses. 1013 (rename_block): Remove comment related to ssa_uses. 1014 (rename_registers): Do not initialize ssa_uses. 1015 (convert_from_ssa): Do not free ssa_uses. 1016 1017 * ssa-dce.c: Renamed from dce.c. 1018 * Makefile.in (OBJS): Replace dce.o with ssa-dce.o 1019 (dependencies): Replace dce.c with ssa-dce.c and dce.o with 1020 ssa-dce.o. 1021 10222001-06-19 Eric Christopher <echristo@redhat.com> 1023 1024 * emit-rtl.c (gen_lowpart_common): Do not assume that SFmode 1025 and DFmode are UNITS_PER_WORD and 2*UNITS_PER_WORD. Use 1026 GET_MODE_BITSIZE instead of GET_MODE_SIZE/UNITS_PER_WORD. 1027 1028Tue Jun 19 01:52:27 2001 J"orn Rennecke <amylaar@redhat.com> 1029 1030 * sh.c (output_branch): Delete bogus code. 1031 1032 * sh.c (initial_elimination_offset): 1033 Fix FROM == RETURN_ADDRESS_POINTER_REGNUM case. 1034 1035Mon Jun 18 12:50:49 2001 Jeffrey A Law (law@cygnus.com) 1036 1037 * flow.c (find_unreachable_blocks): New function. 1038 (delete_unreachable_blocks): Use find_unreachable_blocks. 1039 * basic-block.h (find_unreachable_blocks): Declare. 1040 1041 * dce.c (eliminate_dead_code): Fix formatting glitch. 1042 10432001-06-18 Jason Merrill <jason_merrill@redhat.com> 1044 1045 * c-common.h (RETURN_NULLIFIED_P): New macro. 1046 * c-semantics.c (genrtl_return_stmt): Check it. 1047 1048 * expr.c (clear_storage): Set TREE_NOTHROW on the decl for memset. 1049 (emit_block_move): Likewise. 1050 1051Mon Jun 18 17:27:24 CEST 2001 Jan Hubicka <jh@suse.cz> 1052 1053 * unroll.c: Include predict.h. 1054 (unroll_loop): Drop prediction notes on preconditioning. 1055 * predict.def (PRED_LOOP_PRECONDITIONG, PRED_LOOP_CONDITION): 1056 New; add comments on the others. 1057 * Makefile.in: (unroll.o): Add dependency on predict.h. 1058 * loop.c (strength_reduce): Fix branch prediction. 1059 1060Mon Jun 18 17:26:56 CEST 2001 Jan Hubicka <jh@suse.cz> 1061 1062 * stmt.c (emit_case_nodes): Optimize test whether index is in given 1063 interval. 1064 1065Mon Jun 18 15:43:10 CEST 2001 Jan Hubicka <jh@suse.cz> 1066 1067 * predict.c (estimate_probability): Do not bail out early 1068 when note is present. 1069 (combine_predictions_for_insn): Fix note removal code. 1070 10712001-06-18 Ben Elliston <bje@redhat.com> 1072 1073 * except.c (resolve_fixup_regions): Initialize "cleanup". 1074 10752001-06-17 Neil Booth <neil@daikokuya.demon.co.uk> 1076 1077 * tm.texi: Document STDC_0_IN_SYSTEM_HEADERS. 1078 1079Sat Jun 16 20:20:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1080 1081 * expr.c (expand_expr, case ADDR_EXPR): If taking address of SAVE_EXPR, 1082 use put_var_into_stack. 1083 10842001-06-16 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 1085 1086 * gccspec.c (lang_specific_driver): If compiling ObjC, add 1087 -shared-libgcc when necessary. 1088 * Makefile.in (gccspec.o): Compile with DRIVER_DEFINES. 1089 10902001-06-16 Daniel Berlin <dan@cgsoftware.com> 1091 1092 * bitmap.h: Add dump_bitmap, bitmap_zero, bitmap_union_of_diffs, 1093 bitmap_a_or_b, bitmap_a_and_b, bitmap_first_set_bit, 1094 bitmap_last_set_bit. All for compatibility with sbitmap's. 1095 1096 *bitmap.c (bitmap_zero): New function. 1097 (bitmap_union_of_diffs): New function. 1098 (bitmap_first_set_bit): New function. 1099 (bitmap_last_set_bit): New function. 1100 11012001-06-16 Neil Booth <neil@daikokuya.demon.co.uk> 1102 1103 * cpp.texi, invoke.texi: Update. 1104 * cpp.1, gcc.1: Regenerate. 1105 1106Sat Jun 16 12:45:20 CEST 2001 Jan Hubicka <jh@suse.cz> 1107 1108 * i386.md (minsf): Fix splitter. (PR fortran/3191) 1109 11102001-06-16 Neil Booth <neil@daikokuya.demon.co.uk> 1111 1112 * doc/cpp.texi: Update. 1113 * doc/cpp.1: Regenerate. 1114 11152001-06-15 Loren J. Rittle <ljrittle@acm.org> 1116 1117 * doc/install.texi: Use correct markup hints. 1118 1119Fri Jun 15 18:05:22 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1120 1121 * function.c (gen_mem_addressof): Handle case where DECL is SAVE_EXPR. 1122 1123 * explow.c (expr_size): If DECL and size specified, use it. 1124 11252001-06-15 Zack Weinberg <zackw@stanford.edu> 1126 1127 * doc/cpp.texi: Formatting corrections. 1128 Correct buggy example of use of __GNUC__ etc. 1129 Clarify $ in identifiers. 1130 * doc/cpp.1: Regenerate. 1131 1132Fri Jun 15 19:35:38 CEST 2001 Jan Hubicka <jh@suse.cz> 1133 1134 * optabs.c (expand_twoval_binop): Avoid undefined behavior. 1135 11362001-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 1137 1138 * doc/install.texi (Specific, alpha*-*-*): Fixed Tru64 UNIX 1139 etc. spelling. 1140 (Specific, alpha-*-osf1): Renamed to alpha*-*-osf*. 1141 Added Tru64 UNIX V5.1 bootstrap hints. 1142 (Specific, alpha*-*-osf*): Removed old section, obsolete. 1143 11442001-06-15 Andreas Jaeger <aj@suse.de> 1145 1146 * doc/install.texi (Specific): Mention that glibc cannot be 1147 compiled with GCC 3.0. 1148 11492001-06-14 Andrew Haley <aph@cambridge.redhat.com> 1150 1151 * combine.c (nonzero_bits): Don't optimize away division by 1152 zero. 1153 11542001-06-15 Zack Weinberg <zackw@stanford.edu> 1155 1156 * doc/cpp.texi: Revised and brought up to date. 1157 * doc/cpp.1: Regenerate. 1158 11592001-06-15 Loren J. Rittle <ljrittle@acm.org> 1160 1161 * doc/install.texi: Update --enable-threads to match reality. 1162 11632001-06-15 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 1164 1165 * doc/install.texi: Update for C4x. 1166 * README.C4X: Remove. 1167 11682001-06-14 Joseph S. Myers <jsm28@cam.ac.uk> 1169 1170 * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi, 1171 doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi, 1172 doc/objc.texi, doc/rtl.texi, doc/tm.texi: Fix spelling and typos. 1173 Consistently use "built-in" and "bit-field". Minor logical markup 1174 improvements. 1175 * doc/gcc.1: Regenerate. 1176 11772001-06-14 Richard Henderson <rth@redhat.com> 1178 1179 * config/mips/mips.md (exception_receiver): New. 1180 11812001-06-14 Daniel J. Berlin <dan@cgsoftware.com> 1182 1183 * doc/gcc.texi: Update passes documentation to be more in tune 1184 with reality. 1185 1186Thu Jun 14 15:38:28 CEST 2001 Jan Hubicka <jh@suse.cz> 1187 1188 * i386.c (ix86_expand_prologue): Fix merging conflict. 1189 11902001-06-14 Joseph S. Myers <jsm28@cam.ac.uk> 1191 1192 * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi, 1193 doc/gcc.texi, doc/gcov.texi, doc/install-old.texi, 1194 doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Use more 1195 logical markup. Use TeX quotes and dashes. Use @dots{} and 1196 @minus{}. Avoid spaces inside @var. Update last modification 1197 date in gcc.texi. 1198 * doc/gcc.1, doc/gcov.1: Regenerate. 1199 1200Thu Jun 14 12:44:15 CEST 2001 Jan Hubicka <jh@suse.cz> 1201 1202 * i386.c (x86_accumulate_outgoing_args, x86_prologue_using_move, 1203 x86_epilogue_using_move): New global variables. 1204 (override_options): Enable ACCUMULATE_OUTGOING_ARGS if preferred. 1205 (ix86_emit_save_regs_using_mov): New static function. 1206 (ix86_expand_prologue, ix86_expand_epilogue): Use moves if preferred. 1207 * i386.h (MASK_MMX, MASK_SSE, MASK_SSE2, MASK_128BIT_LONG_DOUBLE, 1208 MASK_MIX_SSE_I387): Renumber. 1209 (MASK_NO_ACCUMULATE_OUTGOING_ARGS): New. 1210 (x86_accumulate_outgoing_args, x86_prologue_using_move, 1211 x86_epilogue_using_move): Declare. 1212 (TARGET_PROLOGUE_USING_MOVE, TARGET_EPILOGUE_USING_MOVE): New. 1213 12142001-06-13 John David Anglin <dave@hiauly1.hia.nrc.ca> 1215 1216 * inclhack.def (hpux10_cpp_pow_inline): New hack. 1217 12182001-06-13 Richard Henderson <rth@redhat.com> 1219 1220 * ifcvt.c (dead_or_predicable): Fix return value last patch. 1221 12222001-06-13 Mark Mitchell <mark@codesourcery.com> 1223 1224 * NEWS: Remove. 1225 12262001-06-13 Richard Henderson <rth@redhat.com> 1227 1228 * ifcvt.c (cond_exec_get_condition): Use reversed_comparison_code. 1229 (cond_exec_process_if_block, dead_or_predicable): Likewise. 1230 12312001-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 1232 1233 * mips-tfile.c (copy_object): Always pass indexNil for symbol 1234 table index. 1235 12362001-06-13 Kazu Hirata <kazu@hxi.com> 1237 1238 * config/h8300/h8300.h (OK_FOR_T): Remove. 1239 (EXTRA_CONSTRAINT): Do not use OK_FOR_T. 1240 * config/h8300/h8300.md: Remove alternatives involving inc and dec 1241 in the helper patterns for addhi3 and addsi3. 1242 12432001-06-13 Phil Edwards <pme@sources.redhat.com> 1244 1245 * doc/contrib.texi: Link to libstdc++'s thanks.html for now. 1246 12472001-06-13 Zack Weinberg <zackw@stanford.edu> 1248 1249 * Makefile.in: Move _bb and __gcc_bcmp to LIB2FUNCS_ST. 1250 * libgcc-std.ver: Take out __bb* and __gcc_bcmp. 1251 1252 * config/t-slibgcc-elf-ver, config/t-slibgcc-sld, 1253 config/alpha/t-osf4, config/mips/t-iris6: Extract all 1254 references to @shlib_map_file@, @shlib_objs@, or 1255 @shlib_base_name@ to Makefile variables. 1256 Bump soname version of libgcc to 1. 1257 12582001-06-13 Joseph S. Myers <jsm28@cam.ac.uk> 1259 1260 * doc/install.texi: Use more logical markup. Include @node 1261 commands in the source when generating any non-HTML. 1262 12632001-06-13 Joseph S. Myers <jsm28@cam.ac.uk> 1264 1265 * README: Remove. Some of the contents moved to ../README. 1266 12672001-06-13 Alexandre Oliva <aoliva@redhat.com> 1268 1269 * doc/install.texi (--enable-shared): List package names 1270 recognized by GCC. 1271 12722001-06-13 Alexandre Oliva <aoliva@redhat.com> 1273 1274 * doc/install.texi (ix86-*-solaris*): Removed, outdated. 1275 (*-*-solaris*): Document problem in /bin/sh that affects 1276 configuring libraries. 1277 (sparc-*-solaris*): Recommend GNU binutils 2.11.1 or vendor tools. 1278 (*-sun-solaris2.8): Document linker problem that explains why 1279 libjava is disabled by default. 1280 12812001-06-09 Mark Mitchell <mark@codesourcery.com> 1282 1283 Revert this patch: 1284 * toplev.c (rest_of_compilation): Remove dead code before 1285 purge_addressof. 1286 12872001-06-12 Alexandre Oliva <aoliva@redhat.com> 1288 1289 Reverted: 1290 2001-06-07 Nathan Sidwell <nathan@codesourcery.com> 1291 * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support. 1292 * configure: Rebuilt. 1293 12942001-06-12 Jim Wilson <wilson@redhat.com> 1295 1296 * loop.c (strength_reduce): Move bl->all_reduced set before 1297 check_ext_dependant_givs call. 1298 (check_ext_dependant_givs): Clear bl->all_reduced when ignoring givs. 1299 13002001-06-12 Alexandre Oliva <aoliva@redhat.com> 1301 1302 * doc/extend.texi (Function Attributes): Document SH's sp_switch 1303 and trap_exit. 1304 13052001-06-13 Joseph S. Myers <jsm28@cam.ac.uk> 1306 1307 * doc/invoke.texi: Use more logical markup. Use TeX quotes, 1308 dashes and @dots{}. 1309 13102001-06-12 Richard Henderson <rth@redhat.com> 1311 1312 * config/i386/i386.c (ix86_expand_prologue): Always use 1313 gen_pro_epilogue_adjust_stack; update arguments. 1314 (ix86_expand_epilogue): Likewise. 1315 (ix86_emit_epilogue_esp_adjustment): Remove. 1316 (ix86_adjust_cost): Remove pro_epilogue_adjust_stack hack. 1317 * config/i386/i386.md (pro_epilogue_adjust_stack): Use a BLKmode 1318 clobber of scratch memory instead of a modification of EBP as the 1319 barrier. Update all peepholes to match. 1320 13212001-06-12 Joseph S. Myers <jsm28@cam.ac.uk> 1322 1323 * doc/gcc.texi: Change the font used for @def... commands to a 1324 fixed width font. 1325 * doc/extend.texi: Use more logical markup. Use "built-in" 1326 instead of "builtin". Use @deftypefn to mark up built-in 1327 functions; specify their types in the @deftypefn and not in the 1328 descriptive text. Use TeX quotes and dashes. Add more index 1329 entries. 1330 13312001-06-12 lars brinkhoff <lars@nocrew.org> 1332 1333 * gcc.texi (HOST_BITS_PER_LONGLONG): Document. 1334 (DIR_SEPARATOR_2): Likewise. 1335 13362001-06-12 Joseph S. Myers <jsm28@cam.ac.uk> 1337 1338 * doc/install.texi (--exec-prefix, --bindir, --libdir, 1339 --with-slibdir, --infodir, --mandir, --with-cpp-install-dir): 1340 Document. 1341 (--enable-cpp): Change to document --disable-cpp instead; update 1342 to reflect current default. 1343 (--without-fast-fixincludes): Remove documentation. 1344 (Final install): Document installation directories in more 1345 detail. Document use of make dvi. 1346 1347Tue Jun 12 19:01:43 CEST 2001 Jan Hubicka <jh@suse.cz> 1348 1349 * recog.c (validate_replace_rtx_1): Fix previous patch. 1350 1351Tue Jun 12 17:25:39 CEST 2001 Jan Hubicka <jh@suse.cz> 1352 1353 * recog.c (validate_replace_rtx_1): Do plus_constant call always. 1354 1355Tue Jun 12 17:24:07 CEST 2001 Jan Hubicka <jh@suse.cz> 1356 1357 * simplify-rtx.c (simplify_subreg): Allow volatile memory 1358 to be subregged in case we don't have move instruction. 1359 1360Tue Jun 12 12:20:12 CEST 2001 Jan Hubicka <jh@suse.cz> 1361 1362 * loop.c: Include predict.h 1363 (strength_reduce): Drop branch prediction note in case 1364 number of iterations is known. 1365 * predict.def (PRED_LOOP_ITERATIONS): new. 1366 * Makefile.in (loop.o): Add dependency on predict.h 1367 13682001-06-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 1369 1370 * c-decl.c (grokdeclarator): Use INTEGRAL_TYPE_P. 1371 1372 * c-typeck.c (c_start_case): Likewise. 1373 13742001-06-12 Mark Mitchell <mark@codesourcery.com> 1375 1376 * expr.c (store_field): Don't set MEM_ALIAS_SET for a field 1377 in a structure at a variable address. 1378 13792001-06-12 Joseph S. Myers <jsm28@cam.ac.uk> 1380 1381 * doc/gcov.texi: Use more logical markup. 1382 13832001-06-11 Mark Mitchell <mark@codesourcery.com> 1384 1385 * unroll.c (initial_reg_note_copy): Use PUT_REG_NOTE_KIND and 1386 REG_NOTE_KIND, not PUT_MODE and GET_MODE. 1387 (final_reg_note_copy): Remove REG_WAS_0 notes that are no longer 1388 valid. 1389 13902001-06-11 Stan Shebs <shebs@apple.com> 1391 1392 * config/darwin.h (ASM_FILE_END): Remove decl of language_string. 1393 13942001-06-11 Stephane Carrez <Stephane.Carrez@worldnet.fr> 1395 1396 * config/m68hc11/m68hc11.md ("*lshrdi3_const32"): Mark the clobber 1397 as an early clobber to make sure it is not used by reload in 1398 one of the operands. 1399 14002001-06-11 Mark Mitchell <mark@codesourcery.com> 1401 1402 * doc/c-tree.texi: Update information about flag_honor_std. 1403 * doc/install.texi: Note that binutils is required on HPUX 11. 1404 * doc/invoke.texi (-fhonor-std): Note that -fno-honor-std is 1405 now the default. 1406 1407 * config/mips/abi64.h (RETURN_IN_MEMORY): Fix handling of 1408 variable-sized types. 1409 14102001-06-11 Joseph S. Myers <jsm28@cam.ac.uk> 1411 1412 * doc/md.texi: Use TeX dashes and quotes. 1413 14142001-06-11 Joseph S. Myers <jsm28@cam.ac.uk> 1415 1416 * doc/rtl.texi: Reference manual chapter about trees. 1417 14182001-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 1419 1420 * config/mips/iris6.h (NO_BUILTIN_WINT_TYPE): Define. 1421 (WINT_TYPE): Override. 1422 (WINT_TYPE_SIZE): Likewise. 1423 (SUBTARGET_CPP_SIZE_SPEC): Define __WINT_TYPE__ as appropriate. 1424 1425 * config/sparc/sol2.h (WINT_TYPE): Define. 1426 (WINT_TYPE_SIZE): Likewise. 1427 1428 * config/sparc/sol2-sld-64.h (NO_BUILTIN_WINT_TYPE): Define. 1429 (WINT_TYPE): Override. 1430 (WINT_TYPE_SIZE): Likewise. 1431 (CPP_ARCH32_SPEC): Add __WINT_TYPE__ definition. 1432 (CPP_ARCH64_SPEC): Likewise. 1433 14342001-06-11 Richard Henderson <rth@redhat.com> 1435 1436 * unwind-dw2-fde.c (__deregister_frame_info): Don't play games 1437 with alias attribute. 1438 1439 * config/linux.h (CPLUSPLUS_CPP_SPEC): Use %(cpp) not $(cpp_cpu). 1440 * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): Likewise. 1441 14422001-06-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 1443 1444 * config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): New. 1445 14462001-06-11 Stan Shebs <shebs@apple.com> 1447 1448 * config/darwin.c (darwin_encode_section_info): Rewrite to simplify 1449 and fix coding mistakes. 1450 14512001-06-11 Nick Clifton <nickc@cambridge.redhat.com> 1452 1453 * config/m32r/m32r.md (movstrsi_internal): Do not expect a 1454 return string from m32r_output_block_move. 1455 * config/m32r/m32r-protos.h: Make m32r_output_block_move a 1456 void function. 1457 * config/m32r/m32r.h (INT32_P): Rename to UNIT32_P and remove 1458 integer overflow. 1459 (ROUND_ADVANCE): Remove signed/unsigned conflict. 1460 * config/m32r/m32r.c: Declare prototypes for static functions. 1461 (move_src_operand): Replace INT32_P with UINT32_P. 1462 (function_arg_partial_nregs): Fixed signed/unsigned conflict 1463 in initialisation of 'size'. 1464 (m32r_sched_reord): Remove redundant declarations of 'code'. 1465 (m32r_output_block_move): Change to a void function. 1466 (m32r_encode_section_info): Cast return of 1467 TREE_STRING_POINTER to avoid compile time warning. 1468 14692001-06-11 Richard Henderson <rth@redhat.com> 1470 1471 * config/alpha/osf5.h (TARGET_LD_BUGGY_LDGP): New. 1472 * config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Default. 1473 (struct machine_function): Add gp_save_rtx. 1474 * config/alpha/alpha.c (alpha_mark_machine_status): Mark it. 1475 (alpha_gp_save_rtx): New. 1476 * config/alpha/alpha-protos.h: Declare it. 1477 * config/alpha/alpha.md (exception_receiver): Make an expander. 1478 Use alpha_gp_save_rtx if TARGET_LD_BUGGY_LDGP. 1479 14802001-06-11 Richard Henderson <rth@redhat.com> 1481 1482 * config/alpha/osf.h (LINK_SPEC): Hide _GLOBAL_* symbols. 1483 14842001-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 1485 1486 * configure.in: Align --help messages. 1487 Remove trailing full stops. 1488 Consistently use lower case. 1489 Fix DWARF 2 spelling. 1490 * configure: Rebuilt. 1491 14922001-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 1493 1494 * config/alpha/alpha.h (CPP_SPEC): Don't define __LANGUAGE_C and 1495 variants for .cpp/.cp/.c++ files. 1496 Move definition of __LANGUAGE_C_PLUS_PLUS ... 1497 (CPLUSPLUS_CPP_SPEC): ... here. 1498 1499Mon Jun 11 15:47:45 CEST 2001 Jan Hubicka <jh@suse.cz> 1500 1501 * jump.c (duplicate_loop_exit_test): Fix loop header heuristics. 1502 15032001-06-11 Joseph S. Myers <jsm28@cam.ac.uk> 1504 1505 * c-decl.c (store_parm_decls): When comparing types in an 1506 old-style function declaration with those from a previous 1507 prototype, compare the unqualified versions of parameter types. 1508 Fixes PR c/3116. 1509 15102001-06-11 Joseph S. Myers <jsm28@cam.ac.uk> 1511 1512 * doc/objc.texi: Use more logical markup. Use TeX dashes. 1513 15142001-06-11 Joseph S. Myers <jsm28@cam.ac.uk> 1515 1516 * doc/c-tree.texi: Use more logical markup. 1517 15182001-06-11 Joseph S. Myers <jsm28@cam.ac.uk> 1519 1520 * c-decl.c (xref_tag): Don't return previous tags of wrong type. 1521 15222001-06-11 Aldy Hernandez <aldyh@redhat.com> 1523 1524 * loop.c (scan_loop): Do not combine asm statements. 1525 15262001-06-11 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 1527 1528 * simplify-rtx.c (simplify_subreg): Fix offset calculation 1529 for complex values within a CONCAT. 1530 15312001-06-11 Joseph S. Myers <jsm28@cam.ac.uk> 1532 1533 * doc/install.texi: Update details of what components are included 1534 in the GCC distribution. Update default directory for g++ 1535 includes. Update documentation relating to old libio. Adjust 1536 documentation on DejaGnu environment variables. Remove 1537 documentation of --enable-cpplib. 1538 15392001-06-11 Joseph S. Myers <jsm28@cam.ac.uk> 1540 1541 * doc/contrib.texi: Fix alphabetical order. Fix typos. Improve 1542 markup. 1543 15442001-06-10 Richard Henderson <rth@redhat.com> 1545 1546 * ifcvt.c (life_data_ok): New. 1547 (merge_if_block): Use it to determine whether to update 1548 global_live_at_end. 1549 (if_convert): Set it. 1550 15512001-06-10 Richard Henderson <rth@redhat.com> 1552 1553 * config/alpha/osf5.h (ASM_OLDAS_SPEC): Add -c. 1554 15552001-06-10 Alexandre Oliva <aoliva@redhat.com> 1556 1557 * doc/invoke.texi (MN10300 Options): Document -mno-crt0. 1558 (SH Options): Document -mieee. 1559 * doc/install.texi (Final install): Remove obsolete information 1560 about installing cross compilers. 1561 * doc/gcc.1: Rebuilt. 1562 15632001-06-10 Richard Henderson <rth@redhat.com> 1564 1565 * config/alpha/alpha.c (override_options): Set align_loops, 1566 align_jumps, and align_functions. 1567 * config/alpha/alpha.h (FUNCTION_BOUNDARY): Set to 32 bits. 1568 (LOOP_ALIGN, LABEL_ALIGN_AFTER_BARRIER): Remove. 1569 15702001-06-11 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 1571 1572 * emit-rtl.c (gen_lowpart_common): Do not assume that SFmode and DFmode 1573 are one and two words in size. 1574 15752001-06-10 Richard Henderson <rth@redhat.com> 1576 1577 * doc/invoke.texi (Optimization Options): Document -fpeephole2. 1578 (Code Generation Options): Document -fnon-call-exceptions. 1579 15802001-06-10 Mark Kettenis <kettenis@gnu.org> 1581 1582 * config/i386/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Undefine. 1583 15842001-06-10 Stephane Carrez <Stephane.Carrez@worldnet.fr> 1585 1586 * m68hc11.md (peepholes): Remove unused and wrong peepholes. 1587 15882001-06-10 Mark Mitchell <mark@codesourcery.com> 1589 Gabriel Dos Reis <gdr@codesourcery.com> 1590 1591 * Makefile.in (c-parse.o): Depend on diagnostic.h 1592 (dwarf2out.o): Likewise. 1593 1594 * dwarf2out.c: #include diagnostic.h 1595 1596 * toplev.h (warningcount, errorcount, sorrycount): Remove 1597 declarations. 1598 1599 * toplev.c (warningcount, errorcount, sorrycount): Remove 1600 definitions. 1601 1602 * diagnostic.h (struct output_buffer): Reorder fields. 1603 (diagnostic_kind_count): New macro. 1604 (errorcount, warningcount, sorrycount): Define as macros. 1605 (diagnostic_report_warnings_p): New macro. 1606 (output_state): Add diagnostic_count field. 1607 1608 * diagnostic.c (warningcount, errorcount, inhibit_warnings): 1609 Remove tentative declaration. 1610 (count_error): Use diagnostic_report_warnings_p. 1611 1612 * c-parse.in: #include diagnostic.h 1613 16142001-06-10 Stephane Carrez <Stephane.Carrez@worldnet.fr> 1615 1616 * config/m68hc11/m68hc11.md ("extendhisi2"): Fix constraints to 1617 prefer a memory for operand 1. 1618 ("*addsi3"): Fix constraints, the '!' was too strong. 1619 ("*addsi3_split"): Accept soft register and split accordingly. 1620 16212001-06-10 Stephane Carrez <Stephane.Carrez@worldnet.fr> 1622 1623 * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline): 1624 Move definition in the RTX_CODE section. 1625 16262001-06-10 Stephane Carrez <Stephane.Carrez@worldnet.fr> 1627 1628 * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Define the return 1629 address as relative to the argument pointer. 1630 1631Sun Jun 10 10:58:53 CEST 2001 Jan Hubicka <jh@suse.cz> 1632 1633 * predict.def (PRED_OPCODE): Place before call and error_return. 1634 1635Sun Jun 10 10:00:17 CEST 2001 Jan Hubicka <jh@suse.cz> 1636 1637 * predict.def (PRED_CALL, PRED_ERROR_RETURN): New. 1638 * predict.c (estimate_probability): Calculate dominance 1639 information; improve detection of NORETURN heuristics; 1640 add call/error_return heuiristics; tweak comparison heuristics 1641 to recognize -1. 1642 16432001-06-09 Alexandre Oliva <aoliva@redhat.com> 1644 1645 * doc/invoke.texi (C Dialect Options): Document -aux-info. 1646 (Debugging Options): Document -print-multi-directory and 1647 -print-multi-lib. 1648 * doc/gcc.1: Rebuilt. 1649 1650 * toplev.c (independent_decode_option): Require `=' between 1651 `-aux-info' and filename in the same argument. 1652 * gcc.c: Don't pass -aux-info=filename twice. 1653 16542001-06-09 Mark Mitchell <mark@codesourcery.com> 1655 1656 * expr.c (expand_expr, case ARRAY_REF): Do not replace 1657 an array element with the known initializing value if it has 1658 side-effects. 1659 1660 * toplev.c (rest_of_compilation): Remove dead code before 1661 purge_addressof. 1662 16632001-06-09 Neil Booth <neil@daikokuya.demon.co.uk> 1664 1665 * cppinit.c (print_help): Document -fpreprocessed. 1666 * invoke.texi: Similarly. 1667 1668Sun Jun 10 00:35:37 CEST 2001 Jan Hubicka <jh@suse.cz> 1669 1670 * predict.def: New file. 1671 * predict.h: New file. 1672 * predict.c: Include predict.h. 1673 (predictor_info): New structure and array. 1674 (predict_edge, predict_insn): Rewrite; make global. 1675 (predict_edge_def, predict_insn_def): New global functions. 1676 (dump_prediction, combine_predictions_for_insns): New 1677 static functions. 1678 (estimate_probability): Change calls to predict_edge 1679 to predict_edge_def and calls to predict_insn to predict_insn_def; 1680 combine probabilities. 1681 (expected_value_to_br_prob): Behave as predictor. 1682 * rtl.h (REG_BR_PRED): Update coment. 1683 (invert_br_probabilities): New. 1684 * jump.c: Include predict.h 1685 (duplicate_loop_exit_test): Drop branch prediction notes. 1686 (invert_jump): Use invert_br_probabilities. 1687 * Makefile.in: Add dependency on predict.h for jump and predict pass. 1688 * ifcvt.c (dead_or_predicable): Use invert_br_probabilities. 1689 * combine.c (distribute_notes): Handle BR_PRED. 1690 1691Sat Jun 9 23:29:41 CEST 2001 Jan Hubicka <jh@suse.cz> 1692 1693 * predict.c (predict_insn, predict_edge): New static functions. 1694 (estimate_probability): Revamp to use new functions; 1695 fix loop header heruistics; add loop exist heruistics 1696 16972001-06-09 Alexandre Oliva <aoliva@redhat.com> 1698 1699 * config.gcc: Re-enable bi-arch sparc on Solaris 7 and above. 1700 17012001-06-09 Peter Jakubek <pjak@snafu.de> 1702 1703 * config/m68k/m68k.md (ashrdi_const): Fix right shift by 16. 1704 17052001-06-09 John David Anglin <dave@hiauly1.hia.nrc.ca> 1706 1707 * vax.h (NOTICE_UPDATE_CC): Set CC_NO_OVERFLOW in cc_status.flags 1708 for integer operations that don't update C bit. 1709 17102001-06-09 Nicola Pero <nicola@brainstorm.co.uk> 1711 1712 * gthr-posix.h (__gthread_objc_init_thread_system): If 1713 pthread_key_create fails, it's not clear what the return value is. 1714 This obvious fix makes sure it always returns -1 if a problem 1715 occurs. 1716 17172001-06-09 Joseph S. Myers <jsm28@cam.ac.uk> 1718 1719 * doc/gcc.texi: Use @defcodeindex for the index of options. Add 1720 more index entries. Use more logical markup where appropriate. 1721 Use TeX quotes and dashes. 1722 17232001-06-09 Benjamin Kosnik <bkoz@redhat.com> 1724 1725 * unwind-pe.h: Conditionally qualify references to abort with 1726 std::. 1727 17282001-06-09 Julian Foad <julian_foad@hotmail.com> 1729 1730 * doc/invoke.texi: Remove superfluous text. 1731 17322001-06-08 Richard Henderson <rth@redhat.com> 1733 1734 * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): New. 1735 (LIB_SPEC): Mirror config/linux.h version. 1736 17372001-06-08 Richard Henderson <rth@redhat.com> 1738 1739 * except.c (get_exception_pointer, get_exception_filter): Take a 1740 struct function. Update all callers. 1741 * except.h (get_exception_pointer): Update declaration. 1742 * expr.c (expand_expr): Update get_exception_pointer call. 1743 * integrate.c (expand_inline_function): Remap the exception pointer 1744 from callee to caller. 1745 17462001-06-08 Mark Mitchell <mark@codesourcery.com> 1747 1748 * c-decl.c (grokdeclarator): Make the TREE_TYPE for declarations 1749 accurately reflect its cv-qualification. 1750 * c-typeck.c (type_lists_compatible_p): Ignore the top-levl 1751 cv-qualifiers on function types. 1752 17532001-06-08 Mark Mitchell <mark@codesourcery.com> 1754 1755 * basic-block.h: Improve comments. 1756 * except.c (expand_eh_region_end_allowed): Remove redundant call 1757 to do_pending_stack_adjust. 1758 * flow.c (life_analysis): Fix typo in comment. 1759 (calculate_global_regs_live): Add documentation. 1760 (mark_set_1): Likewise. 1761 (debug_regset): Likewise. 1762 * doc/rtl.texi (cond_exec): Document it. 1763 1764Fri Jun 8 21:52:51 CEST 2001 Jan Hubicka <jh@suse.cz> 1765 1766 * i386.h (CONST_COSTS): set cost of constants representable in 1767 immediate fields to 0. 1768 1769Fri Jun 8 21:34:54 CEST 2001 Jan Hubicka <jh@suse.cz> 1770 1771 * function.c (diddle_return_value): Kill code to determine 1772 return value before expand_function_end. 1773 (expand_function_end): Delay call to clobber_return_register 1774 after fucntion return value is computed. 1775 1776 Re-install temporary reverted patch: 1777 * toplev.c (rest_of_compilation): Call split_all_insns 1778 before reg-stack and shorten-branches. Do shorten-branches 1779 after reg-stack. 1780 * final.c (shorten_branches): Remove insn splitting code. 1781 17822001-06-08 Joseph S. Myers <jsm28@cam.ac.uk> 1783 1784 * doc/gcc.texi, doc/invoke.texi: Add index of command line 1785 options. Use @opindex to index them rather than other indexing 1786 commands. Use @var{...} instead of <...>. Avoid spaces in names 1787 inside @var. Don't use @kindex to index escape sequences in 1788 source code. 1789 17902001-06-08 Jason Merrill <jason_merrill@redhat.com> 1791 1792 * stmt.c (current_nesting_level): New fn. 1793 * tree.h: Declare it. 1794 * c-semantics.c (genrtl_compound_stmt): Use it. 1795 1796 * dbxout.c (dbxout_symbol): Use DECL_RTL_SET_P. 1797 17982001-06-08 Jakub Jelinek <jakub@redhat.com> 1799 1800 * jump.c (mark_modified_reg): Allow jump threading if condition 1801 codes are represented by a hard register. 1802 18032001-06-08 Jakub Jelinek <jakub@redhat.com> 1804 1805 * config/ia64/ia64.c (ia64_function_arg): Use [SDT]Fmode as gr_mode 1806 for complex floats passed to unprototyped functions. 1807 18082001-06-08 Mark Mitchell <mark@codesourcery.com> 1809 1810 * except.c (expand_eh_region_end_allowed): Call 1811 do_pending_stack_adjust as necessary. 1812 1813Fri Jun 8 14:16:33 CEST 2001 Jan Hubicka <jh@suse.cz> 1814 1815 * function.c (clobber_return_register): Clobber the pseudo return 1816 register too. 1817 1818 * sibcall.c (skip_unreturned_value): New function. 1819 (call_ends_block_p): Use it. 1820 1821 * recog.c (split_insn): Break out from ... 1822 (split_all_insns): ... here; do not use basic block information 1823 when it is broken. 1824 1825Thu Jun 7 18:27:53 CEST 2001 Jan Hubicka <jh@suse.cz> 1826 1827 * simplify-rtx.c (simplify_subreg): Fix verification of 1828 combined subreg. 1829 18302001-06-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 1831 1832 * config/mips/mips.h (CPP_SPEC): Simplify .s/.S handling. 1833 Don't define _LANGUAGE_C and variants for .cpp/.cp/.c++ files. 1834 Move definition of _LANGUAGE_C_PLUS_PLUS ... 1835 (CPLUSPLUS_CPP_SPEC): ... here. 1836 Fixes PRs c++/3047, target/441. 1837 18382001-06-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 1839 1840 * doc/install.texi2html (MAKEINFO): Keep value if set already. 1841 18422001-06-08 Joseph S. Myers <jsm28@cam.ac.uk> 1843 1844 * doc/gcc.texi: Add trailing slash to URL. 1845 18462001-06-07 Stan Shebs <shebs@apple.com> 1847 1848 * config/darwin.h (ENCODE_SECTION_INFO): Define. 1849 (REDO_SECTION_INFO_P): Ditto. 1850 (STRIP_NAME_ENCODING): Ditto. 1851 (ASM_DECLARE_OBJECT_NAME): Use ENCODE_SECTION_INFO. 1852 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Ditto. 1853 (ASM_OUTPUT_LABELREF): Use STRIP_NAME_ENCODING. 1854 (GEN_LAZY_PTR_NAME_FOR_SYMBOL): Ditto. 1855 * config/darwin.c: No longer include c-tree.h. 1856 (machopic_classify_ident): Rewrite to use symbol encoding. 1857 (lookup_name_darwin): Remove. 1858 (machopic_non_lazy_ptr_name): Handle encoded symbols. 1859 (machopic_stub_name): Use STRIP_NAME_ENCODING. 1860 (machopic_validate_stub_or_non_lazy_ptr): Ditto. 1861 (machopic_finish): Ditto, remove test of decl. 1862 (update_non_lazy_ptrs): New function. 1863 (darwin_encode_section_info): New function. 1864 * config/darwin-protos.h: Declare it. 1865 * config/rs6000/rs6000.c (machopic_output_stub): Use 1866 STRIP_NAME_ENCODING. 1867 18682001-06-07 Mark Mitchell <mark@codesourcery.com> 1869 1870 * tree.h (DECL_SOURCE_FILE): Improve documentation. 1871 (DECL_SOURCE_LINE): Likewise. 1872 18732001-06-07 Loren J. Rittle <ljrittle@acm.org> 1874 1875 * config/alpha/elf.h (MAKE_DECL_ONE_ONLY): Copy definition 1876 from config/elfos.h. 1877 18782001-06-07 Phil Edwards <pme@sources.redhat.com> 1879 1880 * linux.h (CPLUSPLUS_CPP_SPEC): Move -D_GNU_SOURCE to here. 1881 * pa/pa-linux.h: Allow CPLUSPLUS_CPP_SPEC to remain. 1882 18832001-06-08 Joseph S. Myers <jsm28@cam.ac.uk> 1884 1885 * doc/contrib.texi: Add copyright notice. 1886 18872001-06-08 Joseph S. Myers <jsm28@cam.ac.uk> 1888 1889 * doc/md.texi: Use four digit years in copyright notice. 1890 18912001-06-08 Joseph S. Myers <jsm28@cam.ac.uk> 1892 1893 * config.gcc: For $target_alias of athlon-*, set 1894 target_cpu_default2=5. 1895 1896Thu Jun 7 16:17:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1897 1898 * global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after 1899 end of last block if last real insn is a JUMP_INSN. 1900 19012001-06-07 Joseph S. Myers <jsm28@cam.ac.uk> 1902 1903 * NEWS: Regenerate. 1904 19052001-06-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 1906 1907 * gthr-posix.h (__gthread_objc_thread_detach): Simply cast 1908 pthread_t to objc_thread_t. 1909 (__gthread_objc_thread_id): Likewise. 1910 19112001-06-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 1912 1913 * alpha/osf5.h (CPP_XFLOAT_SPEC): Override default definition. 1914 (ASM_OLDAS_SPEC): Likewise. 1915 1916 * alpha/osf.h (CPP_XFLOAT_SPEC): Define. 1917 (CPP_SUBTARGET_SPEC): Use it. 1918 (ASM_OLDAS_SPEC): Define. 1919 (ASM_SPEC): Use it. 1920 (SUBTARGET_EXTRA_SPECS): Define, declare the new specs above. 1921 19222001-06-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 1923 1924 * config/alpha/alpha.c (alpha_va_arg): Handle TFmode, TCmode args, 1925 passed by reference. 1926 19272001-06-07 Joseph S. Myers <jsm28@cam.ac.uk> 1928 1929 * doc/tm.texi (TARGET_SWITCHES, TARGET_OPTIONS): Adjust markup. 1930 Document use of N_(...), and show it in examples. Note that 1931 documentation should be added to invoke.texi. Avoid an overfull 1932 hbox. 1933 1934Thu Jun 7 17:09:50 CEST 2001 Jan Hubicka <jh@suse.cz> 1935 1936 * toplev.c (rest_of_compilation): Revert previous patch. 1937 * final.c (shorten_branches): Likewise. 1938 19392001-06-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 1940 1941 * pself.c, pself1.c, pself2.c, pself3.c, pself4.c, pself5.c: 1942 Remove. 1943 19442001-06-07 Joseph S. Myers <jsm28@cam.ac.uk> 1945 1946 * doc/install-old.texi: Remove more obsolete documentation. 1947 1948Thu Jun 7 13:20:14 CEST 2001 Jan Hubicka <jh@suse.cz> 1949 1950 * expr.c (copy_blkmode_from_reg): Fix operand_subword_force call. 1951 1952Thu Jun 7 12:12:58 CEST 2001 Jan Hubicka <jh@suse.cz> 1953 1954 * toplev.c (rest_of_compilation): Call split_all_insns 1955 before reg-stack and shorten-branches. Do shorten-branches 1956 after reg-stack. 1957 * final.c (shorten_branches): Remove insn splitting code. 1958 19592001-06-07 Nathan Sidwell <nathan@codesourcery.com> 1960 1961 * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support. 1962 * configure: Rebuilt. 1963 19642001-06-07 Andreas Jaeger <aj@suse.de> 1965 1966 * emit-rtl.c (operand_subword): Remove unused variable. 1967 1968Wed Jun 6 14:51:05 CEST 2001 Jan Hubicka <jh@suse.cz> 1969 1970 * i386.md (floatdi?f): Avoid usinf of SSE instructions 1971 if TARGET_64BIT is false. 1972 (floatdi?f_i386_only): New insn. 1973 (floatdi?f_i386): Disable for !TARGET_64BIT. 1974 1975 * (min?f, max?f splitters): Handle case where 1976 operands are cross-matched. 1977 1978 * i386.h (HI_REGISTER_NAMES): Remove redundant definition 1979 (MMX_REGISTER_NAMES): Kill. 1980 (PRINT_OPERAND): Fix comment. 1981 (PRINT_REG): Likewise. 1982 * i386.c (print_reg): Kill support for 'm' CODE; simplify. 1983 (print_operand): Update comment; kill 'm'. 1984 1985 * i386.c (x86_branch_hints): New global variable 1986 (print_operand): Support outputting of branch prediction hints. 1987 * i386.md (conditional jump patterns): Add branch prediction hints 1988 to the template. 1989 * i386.h (x86_branch_hints): Declare 1990 (TARGET_BRANCH_PREDICTION_HINTS): New macro. 1991 (PRINT_OPERAND_FUNCT_VALID_P): New. 1992 * final.c (final_forward_branch_p): New function. 1993 19942001-06-06 Richard Henderson <rth@redhat.com> 1995 1996 * flow.c (mark_used_reg): Clean up looping over multiple hard 1997 registers. Do conditional life bits across multiple hard regs. 1998 19992001-06-05 Jeffrey D. Oldham <oldham@codesourcery.com> 2000 2001 * reload1.c (reload): Revert Schmidt's change so all USEs are not 2002 deleted during reload. 2003 20042001-06-05 Mark Mitchell <mark@codesourcery.com> 2005 2006 * c-semantics.c (genrtl_scope_stmt): Write out nested inline 2007 functions here, instead of ... 2008 * c-decl.c (c_expand_body): ... here. 2009 20102001-06-05 David O'Brien <obrien@FreeBSD.org> 2011 2012 * config.gcc, config/sparc/bsd.h: Do not directly include 2013 sparc/sparc.h. Instead do it via tm_file. 2014 20152001-06-05 Richard Henderson <rth@redhat.com> 2016 2017 * dwarf2.h (DW_EH_PE_aligned): New. 2018 * dwarf2asm.c (eh_data_format_name): Name it. 2019 (dw2_asm_output_encoded_addr_rtx): Align for it. 2020 * dwarf2out.c (output_call_frame_info): Handle it for personality 2021 routine and LSDA pointers. 2022 2023 * unwind-pe.h (DW_EH_PE_aligned): New. 2024 (base_of_encoded_value): Handle it. 2025 (read_encoded_value_with_base): Likewise. 2026 * unwind-dw2-fde.c (base_from_object): Likewise. 2027 (get_cie_encoding): Likewise. 2028 2029 * config/alpha/elf.h: Remove ecoff commentary. 2030 * config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New. 2031 20322001-06-05 David O'Brien <obrien@FreeBSD.org> 2033 2034 * config.gcc, config/i386/bsd386.h: Do not directly include 2035 i386/386bsd.h. Instead do it via tm_file. 2036 20372001-06-05 David O'Brien <obrien@FreeBSD.org> 2038 2039 * elfos.h (USING_ELFOS_H): Identify the use of elfos.h in the same 2040 way svr4.h does. 2041 20422001-06-05 Pascal Obry <obry@act-europe.fr> 2043 2044 * configure.in: Quote $enable_win32_registry in case the value has 2045 spaces in it. 2046 * configure: Ditto. 2047 20482001-06-05 Mark Mitchell <mark@codesourcery.com> 2049 2050 * print-rtl.c (xspaces): Remove. 2051 (print_rtx): Use printf field-width, rather than xpsaces, to 2052 indent. 2053 * toplev.c (main): Disable sibling-call optimization if we are 2054 handling exceptions. 2055 20562001-06-05 Bernd Schmidt <bernds@redhat.com> 2057 2058 * reload1.c (reload): Delete all USEs generated during reload. 2059 20602001-06-05 scott snyder <snyder@fnal.gov> 2061 2062 * gccbug.in: Fix typo. 2063 20642001-06-05 Andreas Jaeger <aj@suse.de> 2065 2066 * builtins.def: Fix definition of __builtin_cosf, it uses float as 2067 parameter and return value. 2068 20692001-06-04 Anthony Green <green@redhat.com> 2070 2071 * config/sparc/elf.h (CPP_PREDEFINES): Don't assert cpu or 2072 machine. This is now done in sparc.h. 2073 20742001-06-05 Nathan Sidwell <nathan@codesourcery.com> 2075 2076 Correct CVS resurrection of invoke.texi. 2077 * doc/invoke.texi: Document new tree dump flags. 2078 20792001-06-05 Joseph S. Myers <jsm28@cam.ac.uk> 2080 2081 * c-typeck.c (build_c_cast): Use TYPE_MAIN_VARIANT when checking 2082 for casting an aggregate to its own type. Fixes PR c/2735. 2083 20842001-06-05 Joseph S. Myers <jsm28@cam.ac.uk> 2085 2086 * doc/texinfo.tex: Update to version 2001-05-24.08. 2087 20882001-06-05 Nathan Sidwell <nathan@codesourcery.com> 2089 2090 * c-common.h (flag_dump_translation_unit): Remove. 2091 (enum tree_dump_index): Define. 2092 (TDF_ADDRESS, TDF_SLIM): New #defines. 2093 (dump_node_to_file): Remove. 2094 (dump_node): Make extern. Add flags. 2095 (dump_flag, dump_enabled_p, dump_begin, dump_end, 2096 dump_switch_p): Prototype. 2097 * c-common.c (flag_dump_translation_unit): Remove. 2098 * c-decl.c (c_decode_option): Remove -fdump-translation-unit 2099 logic. Use dump_switch_p. 2100 * c-dump.h (struct dump_info): Add node and user fields. 2101 (dump_pointer): Declare. 2102 * c-dump.c (dump_node): Make extern. Add flags. 2103 (SOL_COLUMN, EOL_COLUMN, COLUMN_ALIGNMENT): New #defines. 2104 (dump_new_line, dump_maybe_newline): Use them. 2105 (dump_pointer): New function. 2106 (dequeue_and_dump): Check TDF_SLIM before dumping a _DECL's 2107 chain or function's body. Dump address, if TDF_ADDRESS set. 2108 (dump_flag): Define. 2109 (dump_node_to_file): Remove. 2110 (struct dump_file_info): New struct. 2111 (dump_files): New array. 2112 (dump_begin, dump_end, dump_enabled_p, dump_switch_p): Define. 2113 * c-lang.c (finish_file): Adjust dumping. 2114 * toplev.h (dump_base_name): Make extern. 2115 * invoke.texi: Document new flags. 2116 21172001-06-04 Mark Mitchell <mark@codesourcery.com> 2118 2119 * c-tree.h (lang_decl): Add pending_sizes fields. 2120 * c-decl.c (store_parm_decls): Save pending_sizes away for nested 2121 functions. 2122 (c_expand_body): Expand them. 2123 (lang_mark_tree): Mark lang_decl:pending_sizes. 2124 * function.c (expand_pending_sizes): New function, broken out 2125 from ... 2126 (expand_function_start): ... here. 2127 * tree.h (expand_pending_sizes): Declare it. 2128 21292001-06-04 Loren J. Rittle <ljrittle@acm.org> 2130 2131 * doc/install.texi: Update FreeBSD information. Generalize 2132 and update information for alpha-based platforms using ELF. 2133 21342001-06-04 John David Anglin <dave@hiauly1.hia.nrc.ca> 2135 2136 * c-decl.c (get_parm_info): Use INTEGRAL_TYPE_P. 2137 (store_parm_decls): Likewise. 2138 * c-typeck.c (convert_arguments): Likewise. 2139 21402001-06-04 Richard Henderson <rth@redhat.com> 2141 2142 * sibcall.c (optimize_sibling_and_tail_recursive_call): Suppress 2143 optimization if current_function_calls_setjmp. 2144 21452001-06-04 Joseph S. Myers <jsm28@cam.ac.uk> 2146 2147 * doc/c-tree.texi: Fix documentation of TREE_STRING_LENGTH for 2148 wide strings. 2149 2150Mon Jun 4 20:44:25 CEST 2001 Jan Hubicka <jh@suse.cz> 2151 2152 * simplify-rtx.c (simplify_subreg): Fix combining of 2153 paradoxical subregs. 2154 2155Mon Jun 4 20:15:25 CEST 2001 Jan Hubicka <jh@suse.cz> 2156 2157 * rtlanal.c (rtx_unsable_p): ADDRESSOF is stable. 2158 (no_labels_between_p): Short circuit case beg==end. 2159 2160Mon Jun 4 20:03:05 CEST 2001 Jan Hubicka <jh@suse.cz> 2161 2162 * rtlanal.c (operand_preference): Fix preference for objects. 2163 2164Mon Jun 4 20:00:40 CEST 2001 Jan Hubicka <jh@suse.cz> 2165 2166 * gcse.c (handle_avail_expr): Be prepared to handle single_set 2167 parallels. 2168 2169Mon Jun 4 19:59:46 CEST 2001 Jan Hubicka <jh@suse.cz> 2170 2171 * combine.c (if_then_else_cond): Use simplify_subreg instead 2172 of operand_subword. 2173 * integreate.c (sub_constants): Likewise. 2174 2175Mon Jun 4 19:59:12 CEST 2001 Jan Hubicka <jh@suse.cz> 2176 2177 * emit-rtl.c (constant_subword): Deprecate; remove most of code 2178 and use simplify_gen_subreg. 2179 2180Mon Jun 4 19:55:23 CEST 2001 Lars Brinkhoff <lars@nocrew.org> 2181 2182 * sibcall.c (skip_copy_to_return_value): recognize the situation 2183 when the called function's return value is copied into an 2184 intermediate pseudo, and then into the calling functions return 2185 value register. 2186 2187Mon Jun 4 16:50:33 CEST 2001 Jan Hubicka <jh@suse.cz> 2188 2189 * simplify_rtx.c (simplify_subreg): Keep subregs on return values, 2190 check CLASS_CANNOT_CHANGE_MODE before avoiding subreg on hard reg, 2191 in case register wasn't OK previously, accept it now; allow 2192 subregs of frame pointer if reload completed and frame pointer 2193 is not needed. 2194 2195 * combine.c (sombine_simplify_rtx): Fix comment; 2196 use subreg_lowpart_offset instead of subreg_lowpart_p 2197 (gen_lowpart_for_combine): Use subreg_lowpart_offset. 2198 * rtl.h (subreg_lowpart_parts_p): Kill. 2199 (subreg_lowpart_offset, subreg_highpart_offset): Declare. 2200 * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset. 2201 * emit-rtl.c (gen_lowpart_SUBREG): Use subreg_lowpart_offset; 2202 (gen_lowpart_common): Likewise. 2203 (subreg_lowpart_p): Likewise. 2204 (subreg_lowpart_parts_p): Kill. 2205 (subreg_lowpart_offset, subreg_highpart_offset): New function. 2206 2207 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg 2208 to simplify SUBREG and REG. 2209 (gen_highpart): Use simplify_gen_subreg for all simplifications. 2210 2211 * emit-rtl.c (gen_realpart, gen_imagpart): Do not handle 2212 CONCAT specially. 2213 2214 * rtlanal.c (replace_regs): Use simplify_gen_subreg 2215 2216Mon Jun 4 09:21:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2217 2218 * doc/c-tree.texi (ARRAY_REF): Say what type of expression must be. 2219 (ARRAY_RANGE_REF): Added description. 2220 2221 * tree.def (ARRAY_RANGE_REF): New code. 2222 * alias.c (handled_component_p, can_address_p): Handle it. 2223 * dwarf2out.c (loc_descriptor_from_tree): Likewise. 2224 * explow.c (set_mem_attributes): Likewise. 2225 * expr.c (expand_assignment, get_inner_reference): Likewise. 2226 (expand_expr, expand_expr_unaligned, do_jump): Likewise. 2227 * fold-const.c (operand_equal_p): Likewise. 2228 * tree.c (staticp, stabilize_reference): Likewise. 2229 * varasm.c (decode_addr_const): Likewise. 2230 2231Sun Jun 3 21:59:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2232 2233 * reload.c (reload_inner_reg_of_subreg): Return 1 for PLUS. 2234 (push_reload): Handle non-REG in reload_inner_reg_of_subreg case. 2235 22362001-06-03 kaz Kojima <kkojima@rr.iij4u.or.jp> 2237 2238 * gcc/config/sh/sh.c (print_operand_address, print_operand): Call 2239 mark_constant_pool_use before output_addr_const. 2240 (struct pool_node): New field wend. 2241 (add_constant): Note a sequence of constants that are referenced 2242 by a given label. 2243 (pool_window_label, pool_window_last): New variables. 2244 (dump_table): Emit a unspec_volatile representing the end of a 2245 sequence of constants. 2246 (mark_constant_pool_use): New function. 2247 * gcc/config/sh/sh.md (UNSPECV_WINDOW_END): New constant. 2248 (consttable_2): Add the second operand which flags whether 2249 this consttable entry was used or not. 2250 (consttable_4, consttable_8, consttable_sf, consttable_df): 2251 Likewise. 2252 (consttable_window_end): New insn. 2253 22542001-06-03 Alexandre Oliva <aoliva@redhat.com> 2255 2256 * insn-addr.h (INSN_ADDRESSES_NEW): Make insn_uid__ unsigned. 2257 Reformat according to coding standards. 2258 2259 Warning removal. 2260 * config/sh/sh.c (print_operand_address): Cast INTVAL to int. 2261 (shl_and_kind): Cast wide constant. 2262 (gen_far_branch): Define as static, as in declaration. 2263 (barrier_align): Compute cache-line length as unsigned. Add 2264 parentheses in initial credit computation. 2265 (rounded_frame_size): Add parentheses. 2266 (permanent_obstack): Remove declaration. Include ggc.h for 2267 declaration of ggc_add_root_rtx(). 2268 (get_free_reg): Removed declaration of unused variable reg. 2269 (legitimize_pic_address): Mark mode argument as unused. 2270 22712001-06-03 Igor Shevlyakov <igor@windriver.com> 2272 2273 * config/sh/sh.c (output_branch): Support for insn with lenght 2274 attr 12 & 16 which represents cond branches outside +-4096 range. 2275 22762001-06-03 Alexandre Oliva <aoliva@redhat.com> 2277 2278 * config/sh/lib1funcs.asm (ic_invalidate): Align the 2279 cache-mirroring sequence. Add nops. 2280 22812001-06-03 Joseph S. Myers <jsm28@cam.ac.uk> 2282 2283 * doc/install-old.texi: Remove more old installation 2284 documentation. 2285 * doc/install.texi: Add relevant parts here. 2286 22872001-06-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 2288 2289 * doc/install.texi2html: New script. 2290 22912001-06-03 David Edelsohn <edelsohn@gnu.org> 2292 2293 * doc/install.texi: Update AIX information again. 2294 22952001-06-02 Joseph S. Myers <jsm28@cam.ac.uk> 2296 2297 * doc/gcc.texi, doc/install-old.texi: Remove old system-specific 2298 installation documentation. 2299 * doc/install.texi: Move it to here. 2300 23012001-06-02 Joseph S. Myers <jsm28@cam.ac.uk> 2302 2303 * doc/install.texi: Clean up Texinfo markup. 2304 23052001-06-02 Joseph S. Myers <jsm28@cam.ac.uk> 2306 2307 * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi: Move contents 2308 to just after title page. 2309 23102001-06-02 Joseph S. Myers <jsm28@cam.ac.uk> 2311 2312 * doc/install-old.texi: Remove documentation of some configuration 2313 options. 2314 * doc/install.texi: Add relevant parts of this documentation here. 2315 23162001-06-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 2317 2318 * contrib.texi: Updated entries for Mark Mitchell, Joseph S. Myers, 2319 Gerald Pfeifer, Bernd Schmidt, and Dean Wakerley. 2320 2321Sat Jun 2 12:23:51 CEST 2001 Jan Hubicka <jh@suse.cz> 2322 2323 * i386.md (all uses of ext_register_operand): Make sure they are 2324 VOIDmode; replace all uses outside zero_extend. 2325 (and?i splitters): Use ext_register_operands. 2326 (test?i peep2): Remove ignored constraints. 2327 * i386.c (ext_register_operand): Check that operand is 2328 either pseudo or hard or 'Q' register. 2329 2330Sat Jun 2 06:53:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2331 2332 * tree.h (struct record_layout_info_s): New field unpadded_align. 2333 (set_lang_adjust_rli): New declaration. 2334 * stor-layout.c (layout_decl): If DECL is packed, but at alignment 2335 it would have if not packed, do not downgrade DECL_ALIGN. 2336 (lang_adjust_rli, set_lang_adjust_rli): New. 2337 (start_record_layout): Initialize new field unpadded_align. 2338 (debug_rli): Display it. 2339 (place_union_field, place_field): Set it. 2340 (layout_type, case RECORD_TYPE): Call via lang_adjust_rli if set. 2341 2342 * print-tree.c (print_node): Don't print "regdecl" when bit doesn't 2343 mean that; use proper names instead. 2344 Print DECL_NO_STATIC_CHAIN. 2345 2346 * except.c (expand_builtin_frob_return_addr): Add missing call 2347 to convert_memory_address #ifdef POINTERS_EXTEND_UNSIGNED. 2348 (expand_builtin_eh_return): Likewise. 2349 (expand_eh_return): Clean up ptr_mode != Pmode cases. 2350 23512001-06-01 Jan van Male <jan.vanmale@fenk.wau.nl> 2352 2353 * doc/invoke.texi: Remove references to papers about sequence points 2354 to readings.html, refer to that page. 2355 23562001-06-01 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 2357 2358 * README: Update references to installation instructions. 2359 23602001-06-01 Laurent Guerby <guerby@acm.org> 2361 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 2362 2363 * doc/install.texi: Define srcdir when sources come from CVS. 2364 Significantly improve markup. Wrap overly long lines 2365 23662001-06-01 DJ Delorie <dj@redhat.com> 2367 2368 * c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi, 2369 extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi, 2370 objc.texi, rtl.texi, tm.texi, texinfo.tex, gcc.1, cpp.1, 2371 gcov.1: Move to doc subdirectory. 2372 * install.texi: Move to doc/install-old.texi. 2373 * gcc.texi: Move to doc, refer to install-old.texi. 2374 * Makefile.in: Reflect move of docs to doc/. 2375 * f/Make-lang.in: Ditto. 2376 * java/Make-lang.in: Ditto. 2377 * doc/.cvsignore: New. 2378 23792001-05-31 Jan van Male <jan.vanmale@fenk.wau.nl> 2380 2381 * invoke.texi: use two spaces between command options, eliminate 2382 some 'overfull hboxes' 2383 23842001-06-01 Hans-Peter Nilsson <hp@axis.com> 2385 2386 * Makefile.in (s-mlib): Make backtick-commands always succeed. 2387 (DRIVER_DEFINES): Ditto. 2388 23892001-05-31 Richard Henderson <rth@redhat.com> 2390 2391 * gcc.c (init_gcc_specs): When linking against libgcc_s.so, 2392 also link against libgcc.a. 2393 23942001-05-31 Geoff Keating <geoffk@cygnus.com> 2395 2396 * config/mips/mips.h (ASM_OUTPUT_ASCII): Convert to function. 2397 * config/mips/mips.c (mips_output_ascii): New function. 2398 * config/mips/mips-protos.h (mips_output_ascii): Prototype. 2399 2400 * config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Force to 4. 2401 2402Thu May 31 19:09:53 CEST 2001 Jan Hubicka <jh@suse.cz> 2403 2404 * flow.c (set_block_for_new_insns): Remove bogus shortcut. 2405 * i386.c (ix86_expand_int_movcc): Force one of operands to be register. 2406 24072001-05-31 Rodney Brown <rbrown64@csc.com.au> 2408 2409 * install.texi (Configuration): Add html links for --with-gnu-as & 2410 --with-gnu-ld and refer to them from hppa & SCO triplets. 2411 (Specific): Link back to with-gnu-ld for all ELF platfoms. 2412 (Specific): Reword AVR binutils recommendation. 2413 24142001-05-30 Zack Weinberg <zackw@stanford.edu> 2415 2416 * ggc-page.c (size_lookup): Increase minimum allocation size 2417 to eight bytes. 2418 (ggc_print_statistics): Report size of each bin in bytes, not 2419 as its order; there is no longer a direct relationship. 2420 24212001-05-31 Jan van Male <jan.vanmale@fenk.wau.nl> 2422 2423 * extend.texi: Fix formating of examples, eliminate some 2424 'overfull hboxes'. 2425 * gcc.texi: Eliminate some 'overfull hboxes'. 2426 * invoke.texi: Use two spaces between command options, eliminate 2427 some 'overfull hboxes'. 2428 24292001-05-30 Richard Henderson <rth@redhat.com> 2430 2431 * dwarf2out.c (dwarf2out_finish): Don't emit DW_AT_stmt_list at -g1. 2432 24332001-05-30 Tom Tromey <tromey@redhat.com> 2434 2435 * gcc.c (do_spec_1): In `%O' case, if we computed saved_suffix, 2436 use it in the new association. 2437 24382001-05-30 Loren J. Rittle <ljrittle@acm.org> 2439 John David Anglin <dave@hiauly1.hia.nrc.ca> 2440 2441 * gthr-posix.h (__gthread_active_ptr): Cast function pointer 2442 to target type to allow ISO C++ compiler to accept it. 2443 * gthr-dce.h (__gthread_active_ptr): Likewise. 2444 * gthr-solaris.h (__gthread_active_ptr): Likewise. 2445 24462001-05-30 Neil Booth <neil@daikokuya.demon.co.uk> 2447 2448 * cpplex.c (_cpp_lex_token): Revert patch of 16 May 2001 2449 so that we do accept comments in preprocessed input. 2450 24512001-05-30 Neil Booth <neil@daikokuya.demon.co.uk> 2452 2453 * cpphash.c (alloc_node): Cast allocated pointer. 2454 24552001-05-30 Gordon Sadler <gbsadler1@lcisp.com> 2456 2457 * invoke.texi (Option Summary): Remove -isystem-c++ from options. 2458 24592001-05-29 Stan Shebs <shebs@apple.com> 2460 2461 * gcc.texi: Add links for information about Objective-C. 2462 24632001-05-29 Nathan Sidwell <nathan@codesourcery.com> 2464 2465 * configure.in (gcc_version): Remove unrequired \ on ". (Solaris 2466 /bin/sed fails on [^\"]). 2467 (configargs.h): Likewise. 2468 24692001-05-29 Hartmut Schirmer <SchirmerH@Innovative-Systems.de> 2470 2471 * config/sh/sh.h (IDENT_ASM_OP): End with TAB, not LF. 2472 24732001-05-28 Stan Shebs <shebs@apple.com> 2474 2475 * objc/objc.gperf: Remove, no longer used. 2476 24772001-05-28 Joseph S. Myers <jsm28@cam.ac.uk> 2478 2479 * c-tree.texi, contrib.texi, cpp.texi, extend.texi, gcc.texi, 2480 gcov.texi, install.texi, md.texi, objc.texi, rtl.texi, tm.texi: 2481 Remove trailing whitespace. 2482 24832001-05-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 2484 2485 * doc/install.texi (Specific): http://reality.sgi.com/ariel/freeware/ 2486 became http://freeware.sgi.com/. 2487 24882001-05-27 Geoffrey Keating <geoffk@redhat.com> 2489 2490 * local-alloc.c (update_equiv_regs): Don't eliminate constant 2491 expressions at -O0. 2492 24932001-05-27 Stan Shebs <shebs@apple.com> 2494 2495 * objc/objc-act.c: Add/fix various comments. 2496 (init_selector): Remove, no longer used. 2497 (build_msg_pool_reference): Ditto. 2498 (objc_debug): Ditto. 2499 25002001-05-27 Neil Booth <neil@daikokuya.demon.co.uk> 2501 2502 * c-decl.c (init_decl_processing): 2503 Don't call start_identifier_warnings. 2504 * flags.h (warn_id_clash, id_clash_len): Remove. 2505 * stringpool.c: Don't include flags.h. 2506 (scan_for_clashes, do_identifier_warnings, 2507 start_identifier_warnings): Remove. 2508 * toplev.c (warn_id_clash, id_clash_len): Remove. 2509 (display_help): Don't document -Wid-clash. 2510 (decode_W_option): Print warning on -Wid-clash. 2511 * tree.h (start_identifier_warnings): Remove. 2512 * invoke.texi: Remove documentation of -Wid-clash. 2513 25142001-05-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 2515 2516 * fixinc/fixtests.c: Declare entries in ENV_TABLE. 2517 25182001-05-27 Bruce Korb <bkorb@gnu.org> 2519 2520 * fixinc/check.tpl(HACK) add and use a Scheme variable 2521 (has no test text): error out if no "test_text" is defined 2522 * fixinc/fixincl.tpl: likewise 2523 (FIXIDX): make it an enumeration so we minimize diffs 2524 * fixinc/inclhack.def: re-alphabetize and add sort instructions 2525 * fixinc/fixincl.x: regenerate 2526 * fixinc/tests/base/stdio.h: test output got moved due to 2527 the alphabetizing 2528 * README-fixinc: rewrite (mostly) 2529 25302001-05-27 Neil Booth <neil@daikokuya.demon.co.uk> 2531 2532 * cpplib.c (run_directive): Set pfile->directive. 2533 25342001-05-23 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr> 2535 2536 * c-tree.texi: Reformat the manual as a single chapter now 2537 included by gcc.texi. 2538 * gcc.texi: Include c-tree.texi. Merge all indexes. 2539 * Makefile.in (dvi): Add generation for the cppinternals 2540 documentation. Added dependencies on fdl.texi and c-tree.texi 2541 where appropriate. Use TEXI2DVI instead of custom tex calls. 2542 (info): Added dependencies on fdl.texi and c-tree.texi where 2543 appropriate. Remove the target c-tree.info. 2544 25452001-05-27 Lars Brinkhoff <lars@nocrew.org> 2546 2547 * combine.c (try_combine): Fix typo in comment. 2548 * expr.c (expand_expr): Likewise. 2549 * config/i370/i370.md (untyped_call): Likewise. 2550 25512001-05-26 Bruce Korb <bkorb@gnu.org> 2552 2553 * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX" 2554 when fixincl is operating in test mode 2555 * fixinc/inclhack.def(AAB_dgux_int_varargs) : aesthetics 2556 (AAB_ultrix_limits): remove redundant text 2557 (AAB_ultrix_memory): ditto 2558 (AAB_ultrix_string): ditto 2559 (djgpp_wchar_h): fix the test text 2560 (irix_stdio_va_list): add test text 2561 (irix_limits_const): add a testing output file (limits.h is overwritten) 2562 (strict_ansi_not_ctd): put limits.h second in list for same reason 2563 (solaris27_mutex_init): test text needed selection text, too 2564 2565 * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX" 2566 when fixincl is operating in test mode 2567 25682001-05-26 Philip Blundell <philb@gnu.org> 2569 2570 * config/c4x/c4x-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H. 2571 * config/i960/i960-protos.h: Likewise. 2572 * config/i370/i370-protos.h: Likewise. 2573 * config/h8300/h8300-protos.h: Likewise, 2574 * config/sh/sh-protos.h: Likewise. 2575 * config/v850/v850-protos.h: Likewise. 2576 25772001-05-26 Philip Blundell <philb@gnu.org> 2578 2579 * config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H. 2580 25812001-05-25 Zack Weinberg <zackw@stanford.edu> 2582 2583 * toplev.c (debug_args, f_options, W_options): Mark 2584 descriptions for translation. 2585 (display_help): Translate descriptions on output. 2586 2587 * cp/lang-options.h, f/lang-options.h, java/lang-options.h, 2588 objc/lang-options.h: Mark descriptions for translation. 2589 2590 * aclocal.m4: Quote final argument of patsubst. Use 2591 3-argument form of AC_DEFINE. Restore quotes to [] while 2592 using AC_FD_CC. 2593 * configure.in: Remove unnecessary changequote calls. 2594 * configure, config.in: Regenerate. 2595 25962001-05-25 Sam TH <sam@uchicago.edu> 2597 2598 * basic-block.h: Fix header include guards. 2599 * bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h 2600 cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h 2601 except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h 2602 gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h 2603 gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h 2604 insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h 2605 rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h 2606 varray.h version.h: Likewise. 2607 * config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h 2608 config/arm/arm.h config/c4x/c4x-protos.h 2609 config/h8300/h8300-protos.h config/h8300/h8300.h 2610 config/i370/i370-protos.h config/i370/i370.h 2611 config/i960/i960-protos.h config/mcore/mcore.h 2612 config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h 2613 config/v850/v850-protos.h config/v850/v850.h: Likewise. 2614 * fixinc/fixlib.h fixinc/server.h: Likewise. 2615 26162001-05-25 Stacey Sheldon <ssheldon@Catena.com> 2617 2618 * config/arc/initfini.c (.init): Fix typo. 2619 26202001-05-25 Geoffrey Keating <geoffk@redhat.com> 2621 2622 * config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4. 2623 26242001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 2625 2626 * i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages. 2627 26282001-05-25 Richard Henderson <rth@redhat.com> 2629 2630 * libgcc-std.ver: Export XFmode and TFmode versions of symbols. 2631 26322001-05-25 Richard Henderson <rth@redhat.com> 2633 2634 * config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux. 2635 (i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld. 2636 (sparc*-*-solaris2): Likewise. 2637 * config/t-linux: Remove shared libgcc macros. 2638 * config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc. 2639 * config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld. 2640 26412001-05-25 Loren J. Rittle <ljrittle@acm.org> 2642 2643 * config.gcc (*-*-freebsd*): Report bad configuration. 2644 26452001-05-25 David Edelsohn <edelsohn@gnu.org> 2646 2647 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker. 2648 2649 * config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have 2650 any prefix. 2651 (ASM_OUTPUT_LABELREF): Delete. 2652 26532001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 2654 2655 * fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd, 2656 strict_ansi_only): Don't run if stdc_0_in_system_headers. 2657 * fixinc/fixincl.x: Regenerate. 2658 * fixinc/fixtests.c (stdc_0_in_system_headers_test): New function. 2659 (FIX_TEST_TABLE): Declare it. 2660 * fixinc/fixlib.h: Include config.h. 2661 26622001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 2663 2664 * fixinc/inclhack.def (alpha___assert): Change char * args to 2665 const char * on Tru64 UNIX to avoid excessive warnings from 2666 assert.h. 2667 * fixinc/fixincl.x: Regenerate. 2668 26692001-05-25 Geoff Keating <geoffk@redhat.com> 2670 2671 * dbxout.c (dbxout_symbol): Invert previous patch, which was 2672 outputting a tag only for variable-size records. 2673 26742001-05-25 Jeff Knaggs <jknaggs@redhat.com> 2675 2676 * config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p 2677 instead of rtx_equal_p for early clobber test. 2678 26792001-05-26 Mark Mitchell <mark@codesourcery.com> 2680 2681 * builtins.def: Encode additional information, such as names and 2682 types, here. 2683 * builtin-types.def: New file. 2684 * builtins.c (built_in_names): Adjust use of DEF_BUILTIN. 2685 (built_in_decls): Likewise. Don't explicitly initialize global 2686 data to NULL. 2687 (expand_builtin_mathfn): Handle float and long double variants of 2688 math builtins. 2689 (expand_builtin): Likewise. 2690 * c-common.c (c_common_nodes_and_builtins): Make it table-driven. 2691 (expand_tree_builtin): Handle long, long long, float, and long 2692 double variants of math functions. 2693 * c-common.h (c_tree_index): Remove some unused nodes. 2694 (void_ftype): Remove. 2695 (void_type_ptr): Likewise. 2696 (int_ftype_int): Likewise. 2697 (ptr_ftype_sizetype): Likewise. 2698 * c-decl.c (init_decl_processing): Remove creation of DWARF 2699 builtins. 2700 * defaults.h (MD_INIT_BUILTINS): Provide default definition. 2701 * tree.h (built_in_function): Adjust definition of DEF_BUILTIN. 2702 * Makefile.in (c-common.o): Depend on builtin-types.def. 2703 27042001-05-25 Dale Johannesen <dalej@apple.com> 2705 2706 * config/rs6000/t-darwin: Fix dependencies for darwin.o. 2707 27082001-05-25 Neil Booth <neil@daikokuya.demon.co.uk> 2709 2710 * c-parse.in (notype_initdcl): Remove redundant line. 2711 27122001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 2713 2714 * aclocal.m4: Fixed typo. 2715 (gcc_AC_HEADER_STDBOOL): Define. 2716 (gcc_AC_C__BOOL): Define. 2717 * configure.in: Use them. 2718 (AC_CHECK_HEADERS): Remove stdbool.h 2719 * configure, config.in: Regenerate. 2720 27212001-05-25 Richard Henderson <rth@redhat.com> 2722 2723 * function.c (expand_function_start): Don't abort on PARALLEL 2724 returns from hard_function_value. 2725 27262001-05-25 Richard Henderson <rth@redhat.com> 2727 2728 * config/i386/i386.md: Revert previous change. Do not apply 2729 the peephole if the components do not die after the sequence. 2730 27312001-05-25 Joseph S. Myers <jsm28@cam.ac.uk> 2732 2733 * c-parse.in (array_declarator): New. Handle C99 constructs. 2734 Don't restrict [*] declarators to C only. 2735 (after_type_declarator, parm_declarator_starttypename, 2736 parm_declarator_nostarttypename, notype_declarator, 2737 direct_absdcl1): Use it. 2738 * c-decl.c (build_array_declarator, set_array_declarator_type): 2739 New functions. Warn that [*] isn't properly implemented; pedwarn 2740 for [*] outside C99 mode if pedantic rather than giving a hard 2741 error. 2742 (grokdeclarator): Handle static and type qualifiers in parameter 2743 array declarators. 2744 * c-tree.h (build_array_declarator, set_array_declarator_type): 2745 Declare. 2746 * extend.texi (Attribute Syntax): Document attributes in parameter 2747 array declarators. 2748 27492001-05-25 Mark Mitchell <mark@codesourcery.com> 2750 2751 * config/i386/i386.md: Make sure cmpstr peepholes do not 2752 affect liveness information. 2753 27542001-05-24 Mark Mitchell <mark@codesourcery.com> 2755 2756 * c-typeck.c (digest_init): Issue error messages about 2757 invalid constants, not warnings. 2758 27592001-05-24 Mark Mitchell <mark@codesourcery.com> 2760 2761 * invoke.texi (-fno-builtin): Document that this is always on 2762 in C++. 2763 27642001-05-24 Philip Blundell <philb@gnu.org> 2765 2766 * doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is 2767 required. 2768 27692001-05-24 Philip Blundell <philb@gnu.org> 2770 2771 * config/arm/arm.c (output_return_instruction): Correctly handle 2772 interworking and interrupt functions. 2773 27742001-05-24 Philip Blundell <philb@gnu.org> 2775 2776 * config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for 2777 -m{no-}sched-prolog. Fix typos and improve formatting. 2778 27792001-05-24 Philip Blundell <philb@gnu.org> 2780 2781 * invoke.texi (ARM Options): Improve wording slightly. Add 2782 documentation for more options, including those for Thumb mode. 2783 Don't mention options that don't exist or are unimplemented. 2784 (Thumb Options): Delete; merged into above section. 2785 27862001-05-24 Geoff Keating <geoffk@redhat.com> 2787 2788 * config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define. 2789 (MD_FALLBACK_FRAME_STATE_FOR): Use it. 2790 2791Thu May 24 19:47:19 CEST 2001 Jan Hubicka <jh@suse.cz> 2792 2793 * simplify-rtx.c (simplify_subreg): Fix CONCAT simplification; 2794 fix hard register simplification. 2795 2796Thu May 24 00:15:17 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 2797 2798 * sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead 2799 of just copying CPP_CPU_SPEC. 2800 2801Thu May 24 15:56:48 CEST 2001 Jan Hubicka <jh@suse.cz> 2802 2803 * i386.c (incdec_operand): Accept only 1 and -1. 2804 28052001-05-23 Kelley Cook <kelley.cook@home.com> 2806 2807 * Makefile.in: Move many of the *_H definitions eariler in the 2808 file, so that rules in t-* files that use them for 2809 dependencies will work in a parallel build. 2810 * config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H). 2811 28122001-05-23 Richard Henderson <rth@redhat.com> 2813 2814 * integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT. 2815 28162001-05-23 Neil Booth <neil@daikokuya.demon.co.uk> 2817 2818 * cpp.texi: Update for handling of charconsts. 2819 * cpplex.c (maybe_read_ucs): Don't accept D800-DFFF. Update 2820 diagnostics. Skip to the end if the UCS is too short. 2821 (cpp_interpret_charconst): Long charconsts issue a warning 2822 not an error. 2823 28242001-05-23 Richard Henderson <rth@redhat.com> 2825 2826 * doc/install.texi (alpha-linux): Require binutils 2.11. 2827 28282001-05-23 Neil Booth <neil@daikokuya.demon.co.uk> 2829 2830 * c-lex.c (read_escape, read_ucs): Delete. 2831 (lex_string): Use cpp_parse_escape. 2832 * cpplex.c (read_ucs): Rename maybe_read_ucs. Do nothing 2833 if not C++ or not C99. Warn if traditional. 2834 (parse_escape): Rename cpp_parse_escape. Make the bitmask 2835 unsigned. Warn for out-of-range escape sequences here. 2836 Update to use maybe_read_ucs. 2837 (cpp_interpret_charconst): Don't warn here. 2838 * cpplib.h (cpp_parse_escape): New exported function. 2839 28402001-05-23 Joseph S. Myers <jsm28@cam.ac.uk> 2841 2842 * extend.texi (Attribute Syntax): Clarify application of 2843 attributes to parameters declared as functions or arrays. 2844 28452001-05-23 Jason Merrill <jason_merrill@redhat.com> 2846 2847 * dbxout.c (dbxout_type_methods): Do still group methods by name. 2848 28492001-05-23 Zack Weinberg <zackw@stanford.edu> 2850 2851 * diagnostic.c (vnotice): Kill. 2852 (fnotice): Call vfprintf directly. 2853 (diagnostic_for_decl, output_do_verbatim, output_verbatim, 2854 verbatim, set_diagnostic_context): Rename string argument to 2855 indicate that it is run through gettext. 2856 (vbuild_message_string, build_message_string, output_do_printf): 2857 Rename string argument to indicate that it is NOT run through 2858 gettext. 2859 (output_printf, diagnostic_for_decl, fatal_io_error, sorry, 2860 output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn): 2861 Run msgid argument through gettext. 2862 (default_print_error_function): Run constant strings through 2863 gettext when nothing else will. 2864 (fatal_error, internal_error, error_recursion): Use fnotice. 2865 Present complete sentences to gettext. 2866 28672001-05-23 Mark Mitchell <mark@codesourcery.com> 2868 2869 * jump.c (mark_jump_label): Fix thinko in 2001-05-19 change. 2870 28712001-05-23 Richard Henderson <rth@redhat.com> 2872 2873 * function.c (expand_function_start): Always use a pseudo 2874 for the function result value. 2875 28762001-05-22 Richard Henderson <rth@redhat.com> 2877 2878 * config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the 2879 section pointer alignment. 2880 2881 * doc/install.texi (alpha-linux): Require binutils >= 2.10. 2882 2883 * unwind-dw2-fde.c (__deregister_frame_info): Stringize use 2884 of __USER_LABEL_PREFIX__. 2885 28862001-05-22 Richard Henderson <rth@redhat.com> 2887 2888 * unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favor of... 2889 (__deregister_frame_info_bases): New. 2890 * unwind-dw2-fde.h: Declare it. 2891 * libgcc-std.ver: Export it. 2892 * crtstuff.c (__do_global_dtors_aux): Call it if we would have 2893 called __register_frame_info_bases. 2894 28952001-05-22 Loren J. Rittle <ljrittle@acm.org> 2896 2897 * config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair 2898 instead of #elif (which is OK for this case but not in general). 2899 29002001-05-22 Andrew MacLeod <amacleod@redhat.com> 2901 2902 * builtins.c (expand_builtin_longjmp): A longjmp can be a call too. 2903 * config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer 2904 parameters to __ia64_nonlocal_goto. Flag as NO_RETURN. 2905 * config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing 2906 "r2" to the assembly file. Only issue allocs with nonzero parameters. 2907 29082001-05-22 Loren J. Rittle <ljrittle@acm.org> 2909 David O'Brien <obrien@freebsd.org> 2910 2911 * config/freebsd.h (LIB_SPEC): Key the exact setting to 2912 configure-time options and target version of FreeBSD. Set-up 2913 to match architectural change in threading support. Correctly 2914 report when -pthread option is not supported by configure-time 2915 options. 2916 (FBSD_CPP_PREDEFINES): Move from architecture-specific files 2917 and extend to encode target version number in run-time setting 2918 of __FreeBSD__ macro to match the system compiler. 2919 (CPP_PREDEFINES): Likewise. 2920 (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG. 2921 2922 * config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h. 2923 * config/i386/freebsd.h (CPP_PREDEFINES): Likewise. 2924 29252001-05-22 Loren J. Rittle <ljrittle@acm.org> 2926 David O'Brien <obrien@freebsd.org> 2927 2928 * config.gcc (the unlabeled system switch statement): Add 2929 generic configuration section to handle *-*-freebsd*. Also, 2930 to match the system compiler, default to threading support (it 2931 may be disabled with the standard --disable-threads 2932 configuration-time switch). 2933 (i[34567]86-*-freebsd* in machine-specific section): Use it. 2934 (alpha*-*-freebsd* in machine-specific section): Likewise. 2935 2936 * config/freebsd3.h: New file to expose FBSD_MAJOR macro (3). 2937 * config/freebsd4.h: New file to expose FBSD_MAJOR macro (4). 2938 * config/freebsd5.h: New file to expose FBSD_MAJOR macro (5). 2939 * config/freebsd6.h: New file to expose FBSD_MAJOR macro (6). 2940 * config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro. 2941 29422001-05-22 Loren J. Rittle <ljrittle@acm.org> 2943 David O'Brien <obrien@freebsd.org> 2944 2945 * config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC. 2946 * config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add 2947 -pthread instead setting macro. 2948 29492001-05-22 Richard Henderson <rth@redhat.com> 2950 2951 * crtstuff.c (__register_frame_info_bases): Declare. 2952 (frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA. 2953 (__do_global_dtors_aux, __do_global_dtors): Streamline. 2954 2955 * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New. 2956 (CRT_GET_RFIB_DATA): New. 2957 * config/i386/sysv4.h: Likewise. 2958 * config/i386/sco5.h: Likewise. 2959 (ASM_PREFERRED_EH_DATA_FORMAT): New. 2960 29612001-05-22 Richard Henderson <rth@redhat.com> 2962 2963 * rtl.c (read_string): Break out from ... 2964 (read_rtx): ... here. 2965 29662001-05-22 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 2967 2968 * doc/install.texi (Specific): Remove a bogus and duplicate part 2969 copied from the end of the document. 2970 29712001-05-22 Bernd Schmidt <bernds@redhat.com> 2972 2973 * Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency. 2974 29752001-05-22 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 2976 2977 * install.texi: Remove obsolete information on SunOS as well as 2978 i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*. 2979 (Installing GNU CC on the Sun): Remove section. 2980 29812001-05-22 Alexandre Oliva <aoliva@redhat.com> 2982 2983 * cppfiles.c (remove_component_p): Don't assume lstat/stat will 2984 keep errno unchanged on success. 2985 29862001-05-22 Joseph S. Myers <jsm28@cam.ac.uk> 2987 2988 * c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly 2989 once for hexadecimal floats, whether or not they contain a decimal 2990 point. Don't let the setting of pedantic otherwise affect the 2991 parsing of hexadecimal floats. 2992 29932001-05-22 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 2994 2995 * README.ACORN: Remove obsolete file. 2996 29972001-05-22 Jan Hubicka <jh@suse.cz> 2998 2999 * combine.c (gen_binary): Use swap_commutative_operands_p 3000 (simplify_comparison): Likewise. 3001 * expmed.c (emit_store_flag): Likewise. 3002 * expr.c (compare_from_rtx): Likewise. 3003 (do_compare_rtx_and_jump): Likewise. 3004 * optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort 3005 if not emitting a branch and operands want swapping. 3006 30072001-05-22 Neil Booth <neil@daikokuya.demon.co.uk> 3008 3009 * c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one. 3010 * stringpool.c: (IS_FE_IDENT, make_identifier): Delete. 3011 (maybe_get_identifier): Update. 3012 * tree.h (make_identifier): Delete. 3013 30142001-05-21 Richard Henderson <rth@redhat.com> 3015 3016 * combine.c (subst): Do not substitute for a register as 3017 a destination subreg/strict_low_part/zero_extract. 3018 3019 * combine.c (simplify_comparison): Update op1 after constant 3020 extension. 3021 * recog.c (const_int_operand): Accept only constants valid 3022 for the given mode. 3023 * genrecog.c: Update comments wrt const_int_operand. 3024 3025 * emit-rtl.c (init_emit_once): Zero unused memory in a 3026 CONST_DOUBLE. 3027 30282001-05-21 Mark Mitchell <mark@codesourcery.com> 3029 3030 * tree.h (type_num_arguments): Declare it. 3031 * tree.c (type_num_arguments): New function. 3032 30332001-05-21 Richard Henderson <rth@redhat.com> 3034 3035 * dwarf2out.c (current_funcdef_number): Move outside dwarf2 3036 conditional ifdef. 3037 30382001-05-21 Geoff Keating <geoffk@redhat.com> 3039 3040 * config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax. 3041 (maxsf3+1): Delete. 3042 (minsf3): Use rs6000_emit_minmax. 3043 (minsf3+1): Generalize to handle both SMIN and SMAX. Use 3044 rs6000_emit_minmax. 3045 (movsfcc): Use rs6000_emit_cmove. 3046 (fselsfsf4): Don't compare a CONST_INT with a floating-point value. 3047 Don't generate emit_fselsfsf4. 3048 (fseldfsf4): Likewise. 3049 (maxdf3): Use rs6000_emit_minmax. 3050 (maxdf3+1): Delete. 3051 (mindf3): Use rs6000_emit_minmax. 3052 (mindf3+1): Generalize to handle both SMIN and SMAX. Use 3053 rs6000_emit_minmax. 3054 (movdfcc): Use rs6000_emit_cmove. 3055 (fseldfdf4): Don't compare a CONST_INT with a floating-point value. 3056 Don't generate emit_fselsfsf4. 3057 (fselsfdf4): Likewise. 3058 * config/rs6000/rs6000.c (zero_fp_constant): New predicate. 3059 (min_max_operator): New predicate. 3060 (rs6000_emit_cmove): New function. 3061 (rs6000_emit_minmax): New function. 3062 * config/rs6000/rs6000-protos.h: Prototype new functions. 3063 * config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant 3064 and min_max_operator. 3065 3066 * config/rs6000/rs6000.c (output_cbranch): Handle all 3067 conditional types in the switch statement. 3068 30692001-05-21 Mark Mitchell <mark@codesourcery.com> 3070 3071 * c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for 3072 non-register variables. 3073 * extend.texi: Document that asm-specifications do not make sense 3074 for non-static local variables. 3075 30762001-05-21 Jason Merrill <jason_merrill@redhat.com> 3077 3078 * dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose. 3079 (dbxout_type_fields): Lose minimal_debug support. 3080 (dbxout_type_methods, dbxout_type): Likewise. 3081 30822001-05-17 Andrew Haley <aph@redhat.com> 3083 3084 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New. 3085 30862001-05-21 Richard Henderson <rth@redhat.com> 3087 3088 * dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION. 3089 Update all users. 3090 30912001-05-20 Richard Henderson <rth@redhat.com> 3092 3093 * dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION, 3094 DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION, 3095 DEBUG_STR_SECTION): Rename from s/DEBUG_//. Update all users. 3096 * dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION, 3097 DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION): 3098 Likewise. 3099 * config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION, 3100 DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION, 3101 DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above. 3102 (DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New. 3103 * config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION, 3104 DEBUG_PUBNAMES_SECTION): Rename as above. 3105 (DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New. 3106 31072001-05-20 Richard Henderson <rth@redhat.com> 3108 3109 * optabs.c (emit_cmp_and_jump_insns): Don't swap commutative 3110 operands unless the operation is commutative. 3111 31122001-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 3113 3114 * fold-const.c (tree_expr_nonnegative_p): Detect more non-negative 3115 cases. 3116 31172001-05-21 Joseph S. Myers <jsm28@cam.ac.uk> 3118 3119 * extend.texi: Clarify documentation of extensions included in ISO 3120 C99. Prefer C99 terminology and syntax to old GNU terminology and 3121 syntax. Add more index entries. Document mixed declarations and 3122 code as an extension in C89 mode. Warn about future changes to 3123 semantics of inline functions. Fixes PR other/930. 3124 3125Sun May 20 16:39:24 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 3126 3127 * expr.c (expand_expr, case ARRAY_REF): Don't fold constant 3128 access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER. 3129 (expand_expr, case COMPONENT_REF): Do copy if misaligned even 3130 if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER. 3131 3132 * stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL. 3133 31342001-05-20 Richard Henderson <rth@redhat.com> 3135 3136 * sched-deps.c (sched_analyze_insn): Force volatile memory reads 3137 to be output before a branch. 3138 31392001-05-20 Richard Henderson <rth@redhat.com> 3140 3141 * Makefile.in (dwarf2asm.o): Depend on $(TREE_H). 3142 31432001-05-20 Richard Henderson <rth@redhat.com> 3144 3145 * config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t. 3146 (ASM_DOUBLE): Remove. 3147 * config/i386/bsd.h, config/i386/sco5.h: Likewise. 3148 * config/i386/sun386.h: Likewise. 3149 3150 * config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New. 3151 (UNALIGNED_INT_ASM_OP, INT_ASM_OP): New. 3152 3153 * config/i386/cygwin.h (INT_ASM_OP): Remove. 3154 * config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise. 3155 * config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise. 3156 * config/i386/netbsd.h, config/i386/openbsd.h: Likewise. 3157 3158 * config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t. 3159 * config/i386/djgpp.h, config/i386/i386.h: Likewise. 3160 * config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise. 3161 * config/i386/sco5.h, config/i386/svr3gas.h: Likewise. 3162 * config/i386/sysv4.h, config/i386/vsta.h: Likewise. 3163 * config/i386/win32.h: Likewise. 3164 31652001-05-20 Joseph S. Myers <jsm28@cam.ac.uk> 3166 3167 * invoke.texi: Add more options to summary list. 3168 31692001-05-20 Joseph S. Myers <jsm28@cam.ac.uk> 3170 3171 * invoke.texi: Document meaning of -pedantic when -std=gnu* is 3172 used. Fixes PR c/2291. 3173 * gcc.1: Regenerate. 3174 31752001-05-20 Stephane Carrez <Stephane.Carrez@worldnet.fr> 3176 3177 * config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore 3178 the -fpic and -fPIC options, clear flag_pic. 3179 31802001-05-20 Neil Booth <neil@daikokuya.demon.co.uk> 3181 3182 * hashtable.c (calc_hash): Fix HASHSTEP definition. 3183 * stringpool.c (make_identifier): No statistics here anymore. 3184 * objc-act.c (steup_string_decl): Remove redundant check. 3185 31862001-05-20 Neil Booth <neil@daikokuya.demon.co.uk> 3187 3188 * Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS, 3189 cpplib.o, cpphash.o, fix-header): Update. 3190 (hashtable.o): New target. 3191 * c-common.h: Include cpplib.h. Define C_RID_CODE and 3192 struct c_common_identifier here. 3193 * c-lang.c (c_init_options): Update. Call set_identifier_size. 3194 * c-lex.c (c_lex): Update. 3195 * c-pragma.h: Update. 3196 * c-tree.h (struct lang_identifier): Contain c_common_identifier. 3197 Delete rid_code. 3198 (C_RID_CODE): Delete. 3199 * cpphash.c: Rewrite to use hashtable.c. 3200 * cpphash.h: Update include guards. 3201 (struct cpp_reader): Remove hashtab. 3202 hash_ob and buffer_ob are no longer pointers. Add hash_table 3203 and our_hashtable. 3204 (HASHSTEP, _cpp_init_hashtable, _cpp_lookup_with_hash): Delete. 3205 (_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable. 3206 (_cpp_cleanup_stacks): Rename _cpp_init_directives. 3207 * cppinit.c (cpp_create_reader): Update. 3208 * cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update. 3209 (cpp_interpret_charconst): Eliminate warning. 3210 * cpplib.c (do_pragma, do_endif, push_conditional, 3211 cpp_push_buffer, cpp_pop_buffer): Update. 3212 (_cpp_init_stacks): Rename cpp_init_directives. 3213 (_cpp_cleanup_stacks): Remove. 3214 * cpplib.h: Update include guards. Include tree-core.h and c-rid.h. 3215 (cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME, 3216 cpp_forall_identifiers, cpp_create_reader): Update. 3217 (C_RID_CODE, cpp_make_node): New. 3218 (c_common_identifier): New identifier node for C front ends. 3219 * cppmain.c (main): Update. 3220 * fix-header.c (read_scan_file): Update. 3221 * flags.h (id_clash_len): Make unsigned. 3222 * ggc.h (ggc_mark_nonnull_tree): New. 3223 * hashtable.c: New. 3224 * hashtable.h: New. 3225 * stringpool.c: Update comments and copyright. Update to use 3226 hashtable.c. 3227 * toplev.c (approx_sqrt): Move to hashtable.c. 3228 (id_clash_len): Make unsigned. 3229 * toplev.h (ident_hash): New. 3230 * tree.c (gcc_obstack_init): Move to hashtable.c. 3231 * tree.h: Include hashtable.h. 3232 (IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update. 3233 (GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New. 3234 (struct tree_identifier): Update. 3235 (make_identifier): New. 3236cp: 3237 * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update. 3238 (C_RID_CODE): Remove. 3239 * lex.c (cxx_init_options): Call set_identifier_size. Update. 3240 (init_parse): Don't do it here. 3241objc: 3242 * objc-act.c (objc_init_options): Call set_identifier_size. Update. 3243 3244Sat May 19 18:23:04 2001 Richard Henderson <rth@redhat.com> 3245 3246 * except.c (dw2_build_landing_pads): Use word_mode, not Pmode, 3247 as ncessary. 3248 (expand_eh_return): Convert between word_mode and Pmode. 3249 * unwind-dw2.c (extract_cie_info): Do not assume words and pointers 3250 are the same size. 3251 (execute_stack_op): Likewise. 3252 (execute_cfa_program): Likewise. 3253 (uw_frame_state_for): Likewise. 3254 (uw_update_context_1): Likewise. 3255 * unwind.inc (_Unwind_Reason_Code): Likewise. 3256 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Define. 3257 (EH_RETURN_STACKADJ_RTX): Likewise. 3258 * config/mips/mips.c (compute_frame_size): Make space for saving 3259 EH return registers. 3260 (mips_expand_epilogue): Handle EH stack adjustments. 3261 * config/mips/mips.md (eh_return): New pattern. 3262 (eh_set_lr_si): Likewise. 3263 (eh_set_lr_di): Likewise. 3264 Add splitter to perform EH return after reload. 3265 32662001-05-19 Mark Mitchell <mark@codesourcery.com> 3267 3268 * jump.c (mark_jump_label): Tidy previous change. 3269 32702001-05-19 Bruce Korb <bkorb@gnu.org> 3271 3272 * fixinc/genfixes: no need for two warnings 3273 * fixinc/Makefile.in: open stdin for those building with a closed one. 3274 32752001-05-19 Mark Mitchell <mark@codesourcery.com> 3276 3277 * jump.c (jump_optimize_1): Tidy. 3278 (mark_jump_label): When changing the label in a LABEL_REF, change 3279 update any REG_EQUAL notes as well. 3280 32812001-05-19 Joseph S. Myers <jsm28@cam.ac.uk> 3282 3283 * c-parse.in (parm_declarator): Split into 3284 parm_declarator_starttypename and parm_declarator_nostarttypename. 3285 (parm_declarator_starttypename, parm_declarator_nostarttypename): 3286 New. Allow parenthesised sub-declarators which don't begin with a 3287 TYPENAME. Fixes PR c/166. 3288 32892001-05-19 Mark Mitchell <mark@codesourcery.com> 3290 3291 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New 3292 macro. 3293 * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): 3294 Document it. 3295 * toplev.c (main): If the target does not allow profiling without 3296 a frame pointer, issue an error message. 3297 * config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): 3298 Define it to false. 3299 3300Sat May 19 07:53:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 3301 3302 * recog.c (general_operand): Modify last change to allow it if reload 3303 has completed. 3304 3305Sat May 19 10:23:54 CEST 2001 Jan Hubicka <jh@suse.cz> 3306 3307 * recog.c (general_operand): Prohibit nonzero subreg bytes on 3308 subregs containing mem. 3309 3310Sat May 19 09:40:45 2001 Denis Chertykov <denisc@overta.ru> 3311 3312 * regrename.c (regrename_optimize): frame pointer register can 3313 use a few hardregs. 3314 33152001-05-18 Jason Merrill <jason_merrill@redhat.com> 3316 3317 * README.DWARF: Move into dwarfout.c. 3318 33192001-05-18 Dale Johannesen <dalej@apple.com> 3320 3321 * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin 3322 specific misuse of r0 as a reload address. 3323 3324Fri May 18 22:42:04 CEST 2001 Jan Hubicka <jh@suse.cz> 3325 3326 * combine.c (combine_simplify_rtx): Clear op0_mode if simplification 3327 succeeded. 3328 3329Fri May 18 07:26:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 3330 3331 * genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe. 3332 (add_to_sequence): Make that decision type. 3333 (maybe_both_true_2, nodes_identical_1, factor_tests): Use it. 3334 (write_switch, write_cond, debug_decision_2): Likewise. 3335 3336 * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing 3337 for INTEGER_TYPE. 3338 (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of 3339 variable size. 3340 33412001-05-18 Stan Shebs <shebs@apple.com> 3342 3343 * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers. 3344 * configure: Regenerate. 3345 33462001-05-18 Per Bothner <per@bothner.com> 3347 3348 Changes needed for java/jvspec.c 3349 * gcc.h (n_infiles, outfiles): Add declarations. 3350 * gcc.c (n_infiles, outfiles): Mske no longer static. 3351 3352Fri May 18 10:14:42 2001 Jeffrey A Law (law@cygnus.com) 3353 3354 * config/pa/som.h (EXCEPTION_SECTION): Define. 3355 33562001-05-18 Daniel Berlin <dan@cgsoftware.com> 3357 3358 * dwarf2out.c: Add dw_loc_list_ref, a reference to a location 3359 list. 3360 Add have_location_lists, a variable to determine whether we need a 3361 .debug_loc section or not. 3362 (enum dw_val_class): Add dw_val_class_loc_list. 3363 (dw_val_struct): Add val_loc_list. 3364 (dw_loc_list_struct): New structure, represents location lists. 3365 (new_loc_list): New function, return a new location list, given 3366 the range and location expression. 3367 (add_loc_descr_to_loc_list): New function, add a location 3368 expression to a location list, given the expression and range. 3369 (output_loc_list): New function, output a location list. 3370 (gen_internal_sym): Modified to take symbol prefix, so we can 3371 reuse it for location list symbols. 3372 (add_AT_loc_list): New function, add a location list to a DIE at 3373 the named attribute. 3374 (AT_loc_list): New function, return the location list reference 3375 for a given attribute, if it's a location list. 3376 (print_die): Handle dw_val_class_loc_list. 3377 (size_of_die): Ditto. 3378 (value_format): Ditto. 3379 (output_die): Ditto. 3380 (output_location_lists): New function, output all of the location 3381 lists for a DIE and it's children. 3382 (dwarf2out_finish): Call output_location_lists if we have location 3383 lists. 3384 3385 3386Fri May 18 15:39:16 CEST 2001 Jan Hubicka <jh@suse.cz> 3387 3388 * gcse.c (try_replace_reg): First try global replace, later try to 3389 simplify the expression. 3390 3391 * gcse.c (find_used_regs): Change calling convention; work via 3392 note_uses. 3393 (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too. 3394 33952001-05-18 Bernd Schmidt <bernds@redhat.com> 3396 3397 Revert 3398 2001-02-09 Nick Clifton <nickc@redhat.com> 3399 * config/arm/arm.md: Change output constraint on post inc 3400 load/store multiple patterns to be a read/write constraint. 3401 34022001-05-18 Mark Mitchell <mark@codesourcery.com> 3403 3404 * basic-block.h (struct basic_block_def): Add documentation about 3405 what a basic block is, and what the various fields are used for. 3406 * flow.c (calculate_globlal_regs_live): Add documentation about 3407 how the algorithm works, and how we know that it will terminate. 3408 Check that the the inductive assumption that guarantees 3409 termination actually holds. 3410 (mark_used_regs): Treat conditionally set registers as used. 3411 (debug_regset): Add comment. 3412 * rtl.texi (cond_exec): Add documentation. 3413 3414 * function.c (expand_function_start): Avoid creating BLKmode 3415 pseudos. 3416 34172001-05-17 Mark Mitchell <mark@codesourcery.com> 3418 3419 * dwarf2out.c (output_comp_unit): Always output a compilation-unit 3420 DIE, even if it has no children. 3421 (dwarf2out_finish): Always output the line-number table, even if 3422 it has no content. 3423 34242001-05-18 David Edelsohn <edelsohn@gnu.org> 3425 3426 * rs6000.md (movsfcc,movdfcc): Remove NE case. 3427 34282001-05-17 Bruce Korb <bkorb@gnu.org> 3429 3430 * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template 3431 * fixinc/genfixes: emit a warning if AutoGen is out of date 3432 34332001-05-17 Brendan Conoboy <blc@cygnus.com> 3434 Bruce Korb <bkorb@gnu.org> 3435 3436 * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not 3437 found in fixinc directory. Facilitates binary distributions. 3438 34392001-05-17 Jeffrey Oldham <oldham@codesourcery.com> 3440 3441 * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not 3442 COMPLEX_TYPE. 3443 3444Thu May 17 19:42:39 2001 Mark Kettenis <kettenis@wins.uva.nl> 3445 3446 * dwarf2out.c (modified_type_die): Equate qualified type to die. 3447 3448Thu May 17 23:19:46 CEST 2001 Jan Hubicka <jh@suse.cz> 3449 3450 * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg. 3451 (simplify_subreg): Handle complex types represented as CONCAT. 3452 3453 * recog.c (validate_replace_rtx_1): Properly canonicalize expression 3454 * rtl.h (swap_commutative_operands_p): Declare. 3455 * rtlanal.c (swap_commutative_operands_p): New. 3456 (operand_preference): New static function. 3457 3458 * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p. 3459 (gen_binary): Likewise. 3460 * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise. 3461 * simplify-rtx.c (simplify_gen_binary, 3462 simplify_gen_relational): Likewise. 3463 3464Thu May 17 20:43:36 CEST 2001 Jan Hubicka <jh@suse.cz> 3465 3466 * cse.c (fold_rtx): Use simplify_subreg. 3467 3468 * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg. 3469 (simplify_gen_subreg): New. 3470 (simplify_rtx): Use simplify_subreg. 3471 * rtl.h (simplify_gen_subreg): Declare. 3472 34732001-05-17 Mark Mitchell <mark@codesourcery.com> 3474 3475 * doc/install.texi: Update Solaris information. 3476 3477 * except.h (protect_cleanup_actions): Remove it. 3478 (lang_protect_cleanup_actions): Declare it. 3479 * except.c (protect_cleanup_actions): Remove it. 3480 (lang_protect_cleanup_actions): New variable. 3481 (init_eh): Don't make protect_cleanup_actions a GC root. 3482 (expand_eh_region_and_cleanup): Call 3483 lang_protect_cleanup_actions. 3484 (output_function_exception_table): Remove unused `align' 3485 variable. 3486 * varasm.c (assemble_external): Abort if we have not yet 3487 opened the assembly output file. 3488 3489Thu May 17 11:54:50 2001 Jeffrey A Law (law@cygnus.com) 3490 3491 * except.c (sjlj_emit_function_enter): Call assemble_external_libcall 3492 for eh_personality_libfunc. 3493 3494Thu May 17 19:48:00 CEST 2001 Jan Hubicka <jh@suse.cz> 3495 3496 * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode 3497 when calling simplify_subreg. This is needed to allow replacing 3498 of expression of one mode by expression of different mode. 3499 3500Thu May 17 19:40:03 CEST 2001 Jan Hubicka <jh@suse.cz> 3501 3502 * simplify-rtx.c (simplify_subreg): Avoid creating of incorrect subregs. 3503 35042001-05-17 Bernd Schmidt <bernds@redhat.com> 3505 3506 * expr.c (protect_from_queue): Protect against subsequent calls to 3507 emit_queue. 3508 (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being 3509 too clever. 3510 3511Thu May 17 18:17:34 CEST 2001 Jan Hubicka <jh@suse.cz> 3512 3513 * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs. 3514 35152001-05-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 3516 3517 * gccbug.in (CATEGORIES): Add "bootstrap". 3518 3519Thu May 17 16:59:41 CEST 2001 Jan Hubicka <jh@suse.cz> 3520 3521 * simplify-rtx.c (simplify_subreg): Break out from ... 3522 * combine.c (combine_splify_rtx) ... here and ... 3523 * recog.c (validate_replace_rtx_1): ... here; 3524 * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare. 3525 * emit-rtl.c (subreg_lowpart_parts_p): Break out from ... 3526 (subreg_lowpart_p): ... here. 3527 35282001-05-17 Bernd Schmidt <bernds@redhat.com> 3529 3530 * stmt.c (expand_asm_operands): For inout operands, make sure 3531 the substitution of '=' for '+' makes it into the rtl. 3532 3533 * reload1.c (delete_output_reload): Call eliminate_regs on substed. 3534 (reload_as_needed): Call update_eliminable_offsets a bit later. 3535 35362001-05-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 3537 3538 * gcc.texi (gccbug): Refer to the web pages for detailed information 3539 on GNATS. 3540 35412001-05-16 Zack Weinberg <zackw@stanford.edu> 3542 3543 * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file. 3544 3545 * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR, 3546 OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1, 3547 LIB1FUNCS, and LIB1FUNCS_EXTRA. Delete rules: libgcc1-test, 3548 libgcc1-test.o. Clarify commentary now that libgcc1 no longer exists. 3549 * cross-make: Don't set LIBGCC1. 3550 * mklibgcc.in: Delete all code for building from libgcc1.c. 3551 Always honor LIB1ASMFUNCS if set. 3552 3553 * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c, 3554 config/arc/lib1funcs.asm, config/arm/lib1funcs.asm, 3555 config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm, 3556 config/h8300/lib1funcs.asm, config/i386/cygwin.asm, 3557 config/i386/uwin.asm, config/m68hc11/larith.asm, 3558 config/m68k/lb1sf68.asm, config/mcore/lib1.asm, 3559 config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm, 3560 config/sparc/lb1spc.asm, config/sparc/lb1spl.asm, 3561 config/v850/lib1funcs.asm, config/c4x/libgcc.S: 3562 Delete or update references to libgcc1 in commentary. 3563 3564 * config/t-libc-ok, config/t-linux, config/t-linux-aout, 3565 config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k, 3566 config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms, 3567 config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff, 3568 config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe, 3569 config/arm/t-semi, config/arm/t-strongarm-coff, 3570 config/arm/t-strongarm-elf, config/arm/t-strongarm-pe, 3571 config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr, 3572 config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30, 3573 config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin, 3574 config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware, 3575 config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2, 3576 config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64, 3577 config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx, 3578 config/m68k/t-m68kbare, config/m68k/t-m68kelf, 3579 config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas, 3580 config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug, 3581 config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs, 3582 config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k, 3583 config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore, 3584 config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas, 3585 config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf, 3586 config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3, 3587 config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas, 3588 config/mips/t-ultrix, config/mn10200/t-mn10200, 3589 config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64, 3590 config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro, 3591 config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43, 3592 config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas, 3593 config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux, 3594 config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf, 3595 config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare, 3596 config/sparc/t-sparclite, config/sparc/t-splet, 3597 config/sparc/t-sunos41, config/sparc/t-vxsparc, 3598 config/sparc/t-vxsparc64, config/v850/t-v850: 3599 Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST. 3600 3601 * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h: 3602 Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY. 3603 * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE, 3604 FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY, 3605 nongcc_SI_type, nongcc_word_type, or perform_* 3606 * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3. 3607 3608 * config/i386/386bsd.h, config/i386/beos-elf.h, 3609 config/i386/linux-aout.h, config/i386/linux-oldld.h, 3610 config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h, 3611 config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h: 3612 Don't include i386/perform.h. 3613 3614 * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370, 3615 config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe, 3616 config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta, 3617 config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas, 3618 config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40, 3619 config/vax/t-openbsd, config/vax/t-vax: Delete. 3620 3621 * config.gcc: Remove references to deleted files. 3622 (arm-semi-aof): Use arm/t-semi for tmake_file. 3623 3624 * gcc.texi, install.texi, invoke.texi, tm.texi: 3625 Delete or rewrite text which is no longer relevant now that 3626 libgcc1 no longer exists. 3627 3628 * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix: 3629 No need to set INSTALL_ASSERT_H. (Missed in previous sweep.) 3630 36312001-05-16 Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de> 3632 Bruce Korb <bkorb@gnu.org> 3633 3634 * fixinc/inclhack.def(solaris27_mutex_init): Fix broken mutex 3635 initializer 3636 36372001-05-16 Zack Weinberg <zackw@stanford.edu> 3638 3639 * i386.md: Add two peepholes to clean up code generated by 3640 cmpstr* expanders. 3641 36422001-05-16 Richard Henderson <rth@redhat.com> 3643 3644 * dwarf2asm.c (eh_data_format_name): Add names for "pointer size" 3645 variants of non-absolute encodings. 3646 3647 * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New. 3648 3649 * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases, 3650 __register_frame_info_table_bases): Export. 3651 36522001-05-16 Richard Henderson <rth@redhat.com> 3653 3654 * except.c (eh_data_format_name): Move to ... 3655 * dwarf2asm.c: ... here. Use designated initializers if available. 3656 (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary. 3657 * dwarf2asm.h: Update declarations. 3658 * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind 3659 ASM_PREFERRED_EH_DATA_FORMAT. 3660 (output_call_frame_info): Likewise. Use 'L' augmentation for 3661 the LSDA encoding. 3662 3663 * unwind-dw2-fde.h (struct fde_vector): New. 3664 (struct old_object): Rename from struct object. 3665 (struct object): New. 3666 (__register_frame_info_bases): Declare. 3667 (__register_frame_info_table_bases): Declare. 3668 (struct dwarf_fde): Remove explicit pc_begin/pc_range members. 3669 * unwind-dw2-fde.c (objects): Remove. 3670 (unseen_objects, seen_objects): New. 3671 (__register_frame_info_bases): New. 3672 (__register_frame_info): Use it. 3673 (__register_frame_info_table_bases): New. 3674 (__register_frame_info_table): Use it. 3675 (__deregister_frame_info): Rewrite for changed object struct. 3676 (base_from_object, get_cie_encoding, get_fde_encoding): New. 3677 (fde_unencoded_compare): Rename from fde_compare; uninline. 3678 (fde_single_encoding_compare, fde_mixed_encoding_compare): New. 3679 (start_fde_sort): Adjust for new definition of fde_vector. 3680 (fde_insert): Likewise. 3681 (end_fde_sort): Likewise. Select comparison function based 3682 on properties of the object. 3683 (fde_split): Take object and fde_compare_t arguments. 3684 (frame_heapsort, fde_merge): Likewise. 3685 (classify_object_over_fdes): Rename from count_fdes. Handle 3686 encoded pointers. Collect encoding, mixed_encoding, and pc_begin 3687 for the object. 3688 (add_fdes): Handle encoded pointers. 3689 (init_object): Rename from frame_init. Update for new struct object. 3690 (linear_search_fdes): Rename from search_fdes. Handle encoded 3691 pointers. 3692 (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE. 3693 (binary_search_single_encoding_fdes): New. 3694 (binary_search_mixed_encoding_fdes): New. 3695 (search_object): New. 3696 (_Unwind_Find_FDE): Update for new struct object. Fill in 3697 the dwarf_eh_bases. 3698 * unwind-dw2.c: Include unwind-pe.h. Constify all pointers 3699 iterating over EH data. 3700 (_Unwind_FrameState): Remove saw_lsda, addr_encoding. Add 3701 fde_encoding, lsda_encoding. 3702 (read_uleb128, read_sleb128): Remove. 3703 (read_encoded_pointer): Remove. All callers use read_encoded_value. 3704 (extract_cie_info): Set lsda_encoding from 'L' augmentation. 3705 (uw_frame_state_for): Don't set bases.func. Handle encoded fde 3706 pointers. 3707 * unwind-pe.h: Add "struct" to _Unwind_Context references. 3708 37092001-05-16 Neil Booth <neil@cat.daikokuya.demon.co.uk> 3710 3711 * cppexp.c (lex): Use NODE_NAME and NODE_LEN. 3712 * cpphash.c (_cpp_lookup_with_hash): Similarly. 3713 * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len, 3714 cpp_spell_token, cpp_output_token): Similarly. 3715 * cpplib.c (lex_macro_node, do_undef, do_pragma, 3716 do_pragma_poison, parse_assertion, do_assert): Similarly. 3717 * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p, 3718 save_parameter, _cpp_create_definition, check_trad_stringification, 3719 cpp_macro_definition): Similarly. 3720 * cppmain.c (cb_define, cb_undef, dump_macro): Similarly. 3721 * c-lex.c (cb_undef, c_lex): Similarly. 3722 * fix-header.c (recognized_function): Similarly. 3723 * cpplib.h (NODE_LEN, NODE_NAME): New. 3724 (cpp_hashnode): Rename length len. 3725 3726Wed May 16 13:41:10 2001 Jeffrey A Law (law@cygnus.com) 3727 3728 * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in 3729 GPRs. 3730 37312001-05-16 Andreas Jaeger <aj@suse.de> 3732 3733 * Makefile.in (toplev.o): Add dependency on dwarf2asm.h. 3734 3735 * toplev.c: Include dwarf2asm.h for prototype of 3736 dw2_output_indirect_constants. 3737 3738Wed May 16 19:53:53 CEST 2001 Jan Hubicka <jh@suse.cz> 3739 3740 * stmt.c (expand_asm_operands): Be able to offload addressof 3741 expression to memory. (PR optimization/185) 3742 3743Wed May 16 18:53:23 CEST 2001 Jan Hubicka <jh@suse.cz> 3744 3745 * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after 3746 applying distributive law. 3747 37482001-05-16 John David Anglin <dave@hiauly1.hia.nrc.ca> 3749 3750 * pa-hpux10.h (THREAD_MODEL_SPEC): Define. 3751 3752 * gthr-dce.h (UNUSED): Attribute unused macro. 3753 (__gthread_key_dtor): Make arguments UNUSED. 3754 (__gthread_key_delete): Revise for compatibility with DRAFT4 3755 implementation. 3756 37572001-05-16 David Edelsohn <edelsohn@gnu.org> 3758 3759 * doc/install.texi: Update AIX information. 3760 * README.RS6000: Remove obsolete file. 3761 37622001-05-16 Jakub Jelinek <jakub@redhat.com> 3763 Nathan Sidwell <nathan@codesourcery.com> 3764 3765 * gcc.c (give_switch): Don't write before start of string. 3766 Always append suffix. 3767 37682001-05-16 Nathan Sidwell <nathan@codesourcery.com> 3769 3770 * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear 3771 after stage3. 3772 37732001-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 3774 3775 * README.ALTOS: Remove obsolete file. 3776 37772001-05-16 Neil Booth <neil@daikokuya.demon.co.uk> 3778 3779 * c-lex.h (save_and_forget_protocol_qualifiers, 3780 forget_protocol_qualifiers, remember_protocol_qualifiers): 3781 Remove deleted functions' prototypes. 3782 37832001-05-16 Neil Booth <neil@daikokuya.demon.co.uk> 3784 3785 * c-parse.in (methodtype): New production. 3786 (methoddef, methodproto): Collapse separate '-' and '+' 3787 handlers into 1. 3788 37892001-05-16 Neil Booth <neil@cat.daikokuya.demon.co.uk> 3790 3791 * c-common.h (RID_FIRST_PQ): New. 3792 * c-parse.in (objc_pq_context): New. 3793 (objc parser): Set objc_pq_context rather than calling 3794 remember_protocol_qualifiers and forget_protocol_qualifiers. 3795 Don't call save_and_forget_protocol_qualifiers. 3796 (yylexname): Handle objc protocol qualifiers here. 3797 * stringpool.c (struct str_header): Replace with sp_hashnode. 3798 (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New. 3799 (alloc_string): Rename alloc_ident. Use the SP_ accessors. 3800 Allocate an IDENTIFIER_NODE for each identifier. 3801 (FORALL_STRINGS, set_identifier): Delete. 3802 (FORALL_IDS, expand_string_table, stringpool_statistics): Update. 3803 (ggc_alloc_string): Use an obstack. 3804 (get_identifier, maybe_get_identifier, mark_string_hash): Update. 3805 * tree.h: Update comments. 3806 (set_identifier): Delete. 3807 * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq, 3808 save_and_forget_protocol_qualifiers, forget_protocol_qualifiers, 3809 remember_protocol_qualifiers): Delete. 3810 3811Tue May 15 22:14:09 2001 Jeffrey A Law (law@cygnus.com) 3812 3813 * flow.c (life_analysis): After life analysis is complete, do 3814 an optional scan over insns looking for REG_LABEL notes that 3815 reference a deleted label. 3816 (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL 3817 before peeking at LABEL_NUSES. 3818 38192001-05-15 Richard Henderson <rth@redhat.com> 3820 3821 * unwind-sjlj.c (_Unwind_GetDataRelBase): New. 3822 (_Unwind_GetTextRelBase): New. 3823 38242001-05-15 Mark Mitchell <mark@codesourcery.com> 3825 3826 * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define. 3827 38282001-05-15 Geoffrey Keating <geoffk@redhat.com> 3829 3830 * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation 3831 so that CHOOSE_SECTION gets used. 3832 3833 * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat 3834 TARGET_RELOCATABLE like flag_pic for now. 3835 38362001-05-15 David Edelsohn <edelsohn@gnu.org> 3837 3838 * rs6000.md (movdi splitter): Sign extend more efficiently. 3839 * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant 3840 to "long long" valid on 32-bit and 64-bit hosts. 3841 (logical_operand): Cast trunc_int_for_mode return value. 3842 (rs6000_emit_move): Shift macro to encapsulate variable. 3843 (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC. 3844 (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but 3845 plus_constant requires signed argument. 3846 38472001-05-15 Loren J. Rittle <ljrittle@acm.org> 3848 3849 * gthr-posix.h: Make additional pthread-* functions weak. 3850 3851Tue May 15 13:51:32 CEST 2001 Jan Hubicka <jh@suse.cz> 3852 3853 * recog.c (apply_change_group): Avoid unneeded validating. 3854 38552001-05-14 David Edelsohn <edelsohn@gnu.org> 3856 3857 * rs6000.c (num_insns_constant_wide): Constants are sign-extended. 3858 (num_insns_constant): CONST_INT can be 64-bits. 3859 38602001-05-14 Stan Shebs <shebs@apple.com> 3861 3862 * config/darwin.h (LIB_SPEC): Just use -lSystem. 3863 (LIBGCC_SPEC): Don't define. 3864 38652001-05-14 Richard Henderson <rth@redhat.com> 3866 3867 * configure.in (gcc_cv_as_eh_frame): New test. 3868 * config.in, configure: Rebuild. 3869 * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT. 3870 38712001-05-14 Andrew MacLeod <amacleod@redhat.com> 3872 3873 * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in 3874 extended precision divide. 3875 38762001-05-14 Andrew MacLeod <amacleod@redhat.com> 3877 3878 * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier 3879 for RETURNS as well. 3880 3881Mon May 14 17:34:48 CEST 2001 Jan Hubicka <jh@suse.cz> 3882 3883 * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH 3884 (CPP_CPU??_SIZE_TYPE): New. 3885 (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from... 3886 (CPP_CPU_SPEC): ... here; support choosing of CPU. 3887 (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon. 3888 (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only 3889 compiler. 3890 * i386.c (override_options): Add sorry about not suported modes. 3891 3892Mon May 14 08:56:47 2001 Jeffrey A Law (law@cygnus.com) 3893 3894 * config/pa/som.h (NM_FLAGS): Remove. 3895 (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names. 3896 (ASM_OUTPUT_SECTION_NAME): Remove. 3897 (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise. 3898 38992001-05-14 Mark Mitchell <mark@codesourcery.com> 3900 3901 * regrename.c (regrename_optimize): Do not rename registers to 3902 leaf registers. 3903 39042001-05-14 Alexandre Oliva <aoliva@redhat.com> 3905 3906 * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may 3907 contain MEMs. Remove useless distinction about clobbering 3908 registers. 3909 39102001-05-13 Geoff Keating <geoffk@redhat.com> 3911 3912 * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to... 3913 * config/rs6000/aix.h (EXCEPTION_SECTION): ... here. 3914 * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete. 3915 (ASM_PREFERRED_EH_DATA_FORMAT): Define. 3916 (EXCEPTION_SECTION): Define. 3917 39182001-05-13 Zack Weinberg <zackw@stanford.edu> 3919 3920 * libgcc2.c, libgcc2.h: Restore __eprintf. Label as used for 3921 binary backward compat only. 3922 * Makefile.in (LIB2FUNCS_ST): New. Put _eprintf here, not 3923 in LIB2FUNCS. Pass it to mklibgcc. 3924 * mklibgcc.in: Handle LIB2FUNCS_ST. 3925 3926 * Makefile.in (installdirs): Don't create $(gcc_tooldir). 3927 39282001-05-13 Alexandre Oliva <aoliva@redhat.com> 3929 3930 * tm.texi (THREAD_MODEL_SPEC): Document it. 3931 * gcc.c (main): Use it. 3932 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it. 3933 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise. 3934 39352001-05-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 3936 3937 * rtl.h (SYMBOL_REF_WEAK): New macro. 3938 * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap. 3939 * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary. 3940 * rtl.texi (SYMBOL_REF_WEAK): Document it. 3941 * gcc.texi: Remove wrong description. 3942 39432001-05-13 Mark Mitchell <mark@codesourcery.com> 3944 3945 * Makefile.in (STAMP): New macro. 3946 Replace all uses of `touch' with $(STAMP). 3947 * fixinc/Makefile.in: Likewise. 3948 3949Sun May 13 07:26:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 3950 3951 * configure.in: ldopen is never in -lexc, so don't test for it. 3952 Add test for exc_resume in -lexc for Ada. 3953 * configure: Regenerated. 3954 39552001-05-12 Richard Henderson <rth@redhat.com> 3956 3957 * dwarf2asm.c (size_of_encoded_value): New function. 3958 * dwarf2asm.h: Declare it. 3959 * except.c (output_function_exception_table): Align the TType 3960 array only as wide as the encoding. 3961 39622001-05-12 Zack Weinberg <zackw@stanford.edu> 3963 3964 * extend.texi: Document #pragma GCC java_exceptions. 3965 39662001-05-12 Neil Booth <neil@cat.daikokuya.demon.co.uk> 3967 3968 * c-parse.in (bison parser, init_reswords): Remove uses of 3969 doing_objc_thang. 3970 * c-tree.h (doing_objc_thang): Remove. 3971 39722001-05-12 Neil Booth <neil@daikokuya.demon.co.uk> 3973 3974 * cpplex.c (_cpp_lex_token): Ensure we warn at most once 3975 about files not ending in newlines. 3976 39772001-05-12 Neil Booth <neil@cat.daikokuya.demon.co.uk> 3978 3979 * dwarfout.c (dwarfout_init): Add cast. 3980 * sched-deps.c (sched_analyze_insn): Remove unused vars. 3981 * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so. 3982cp: 3983 * method.c (build_mangled_C99_name): Remove unused prototype. 3984 39852001-05-12 Alexandre Oliva <aoliva@redhat.com> 3986 3987 * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta. 3988 39892001-05-12 Alexandre Oliva <aoliva@redhat.com> 3990 3991 * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define. 3992 * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document. 3993 39942001-05-11 Richard Henderson <rth@redhat.com> 3995 3996 * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New. 3997 * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1, 3998 dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New. 3999 * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype. 4000 (dw2_output_indirect_constants): Prototype. 4001 * dwarf2out.c (dwarf2out_begin_prologue): Generate 4002 current_function_func_begin_label if we'll need it for EH. Exit 4003 early for IA64_UNWIND_INFO. 4004 * except.c: Get DW_EH_PE_* defines from dwarf2.h. 4005 (eh_data_format_name): Update for indirect references. 4006 (output_function_exception_table): Care for IA64_UNWIND_INFO. 4007 Handle ASM_PREFERRED_EH_DATA_FORMAT. 4008 * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't 4009 define HAVE_eh_return etc. 4010 * final.c (final_start_function): Always call dwarf2out_begin_prologue. 4011 (final_end_function): Don't call output_function_exception_table. 4012 * toplev.c (compile_file): Call dw2_output_indirect_constants. 4013 (rest_of_compilation): Invoke output_function_exception_table 4014 for ia64 before assemble_end_function. 4015 * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document. 4016 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document. 4017 4018 * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New. 4019 * unwind.h: Declare them. 4020 * libgcc-std.ver: Export them. 4021 * unwind-pe.h: New file. 4022 4023 * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New. 4024 4025 * config/ia64/fde-glibc.c: Use "struct unw_table_entry" 4026 instead of "fde". 4027 (find_fde_for_dso): Extract DT_PLTGOT. 4028 (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return 4029 the segment and gp as well. 4030 * config/ia64/frame-ia64.c: Remove file. 4031 * config/ia64/frame-ia64.h: Remove file. 4032 * config/ia64/unwind-ia64.c: New file. 4033 * config/ia64/unwind-ia64.h: New file. 4034 * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove. 4035 (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove. 4036 (ASM_OUTPUT_EH_DOUBLE_INT): Remove. 4037 (ASM_PREFERRED_EH_DATA_FORMAT): New. 4038 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New. 4039 (IA64_UNWIND_INFO): Re-enable. 4040 (HANDLER_SECTION): Remove. 4041 (EH_RETURN_DATA_REGNO): New. 4042 * config/ia64/ia64.md (exception_receiver): Remove. 4043 * config/ia64/t-glibc (LIB2ADDEH): Re-enable. 4044 * config/ia64/t-ia64 (LIB2ADDEH): Re-enable. 4045 40462001-05-11 Richard Henderson <rth@redhat.com> 4047 4048 * config/ia64/ia64.c (group_barrier_needed_p): Don't allow 4049 calls and jumps to be bundled together. 4050 (ia64_reorg): Emit a break after a noreturn call that ends 4051 a function. 4052 * config/ia64/ia64.md (break_f): New. 4053 40542001-05-12 Neil Booth <neil@daikokuya.demon.co.uk> 4055 4056 * c-lex.c (lex_charconst): Convert into a simple wrapper 4057 around cpp_interpret_charconst, to which most of the code 4058 body is moved. 4059 * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE, 4060 MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK, 4061 MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove. 4062 (lex): Use cpp_interpret_charconst. 4063 * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst, 4064 hex_digit_value): New functions. 4065 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros. 4066 * cpplib.h (cpp_interpret_charconst): New prototype. 4067 * Makefile.in: Update. 4068 40692001-05-12 Dean Wakerley <dean@wakerley.com> 4070 4071 * doc/install.texi: New file. Converted to texinfo from the HTML 4072 documentation in wwwdocs/htdocs/install. 4073 4074Fri May 11 15:50:13 2001 Jeffrey A Law (law@cygnus.com) 4075 4076 * gcse.c (insert_insn_end_bb): Do not search for assignments to 4077 non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE. 4078 4079 * toplev.c (compile_file): Move comment for opening output 4080 file to just before the code that opens the output file. 4081 40822001-05-11 Jakub Jelinek <jakub@redhat.com> 4083 4084 * regmove.c (regmove_optimize): Suppress the optimization for 4085 unchanging destination register. Add comment above function. 4086 40872001-05-11 Zack Weinberg <zackw@stanford.edu> 4088 4089 * Makefile.in: Exterminate all references to assert.h. 4090 * cross-make: Likewise. 4091 * assert.h: Delete. 4092 * configure.in: Correct commentary. 4093 * configure: Regenerate. 4094 4095 * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h: 4096 Remove __eprintf. 4097 4098 * config/t-freebsd, config/t-linux, config/t-linux-aout, 4099 config/t-netbsd, config/t-rtems, config/x-linux, 4100 config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe: 4101 No need to override INSTALL_ASSERT_H. 4102 4103 * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx, 4104 fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap, 4105 fixinc/fixincl.sh: Don't install assert.h into objdir/include. 4106 41072001-05-11 Graham Stott <grahams@redhat.com> 4108 4109 * combine.c (simplify_comparison): Fix typo. 4110 41112001-05-11 Mark Mitchell <mark@codesourcery.com> 4112 4113 * loop.h (struct movables): Remove `num'. 4114 * loop.c (scan_loop): Don't set it. Use count_insns_in_loop. 4115 Adjust call to strength_reduce. 4116 (num_unmoved_movables): New function. 4117 (move_movables): Don't set movables->num. 4118 (strength_reduce): Compute the number of instructions in the loop 4119 here, rather than in the caller. 4120 (check_dbra_loop): Always clear reversible_mem_store if there 4121 are any memory sets. 4122 (loop_regs_scan): Don't count instructions here. 4123 (count_insn_in_loop): New function. 4124 41252001-05-11 Mark Mitchell <mark@codesourcery.com> 4126 4127 * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P. 4128 41292001-05-11 Neil Booth <neil@daikokuya.demon.co.uk> 4130 4131 * c-common.c (finish_label_expr): New function, lifted from 4132 from cp/semantics.c. 4133 * c-common.h (finish_label_expr, lookup_label): New prototypes. 4134 * c-parse.in: Move 3 blocks of parser code into new functions. 4135 * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions. 4136 * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes. 4137 (lookup_label): Remove. 4138 41392001-05-11 Alexandre Oliva <aoliva@redhat.com> 4140 4141 * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define 4142 FLOAT_BIT_ORDER_MISMATCH. 4143 41442001-05-10 David Edelsohn <edelsohn@gnu.org> 4145 4146 * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to 4147 bytes. Reported by Kazu Hirata <kazu@hxi.com>. 4148 41492001-05-10 David Edelsohn <edelsohn@gnu.org> 4150 4151 * expr.c (emit_group_load): extract_bit_field requires a REG or 4152 MEM as an argument. 4153 4154Thu May 10 14:45:44 2001 Jeffrey A Law (law@cygnus.com) 4155 4156 * cse.c (cse_insn): Mostly remove first hunk of code which collapsed 4157 a computed jump into an unconditional jump. 4158 In second hunk of code for collapsing computed and conditional jumps 4159 into unconditional jumps, reemit the jump in additional cases. 4160 4161 * jump.c (jump_optimize_1): Do not wrap the new jump target 4162 inside a LABEL_REF; gen_jump will do that automatically. 4163 41642001-05-10 Toon Moene <toon@moene.indiv.nluug.nl> 4165 4166 * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool 4167 contents for a SYMBOL_REF in case of floating point constants. 4168 41692001-05-10 DJ Delorie <dj@redhat.com> 4170 4171 * c-common.c (combine_strings): Widen strings in a 4172 host-endian-independent way. 4173 41742001-05-10 Joseph S. Myers <jsm28@cam.ac.uk> 4175 4176 * c-parse.in: Remove many shift/reduce conflicts. Update 4177 %expect values. 4178 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea, 4179 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea, 4180 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea, 4181 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea, 4182 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea, 4183 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea, 4184 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea, 4185 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts, 4186 declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa, 4187 declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs, 4188 maybe_type_quals_setattrs, typespec_nonattr, typespec_attr, 4189 typespec_reserved_nonattr, typespec_reserved_attr, 4190 typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr, 4191 structsp_nonattr, components_notype, component_notype_declarator, 4192 absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute, 4193 firstparm, setspecs_fp): New 4194 (typed_declspecs, reserved_declspecs, typed_typespecs, 4195 reserved_typespecquals, declmods, typespec, typespecqual_reserved, 4196 typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr 4197 declmods_no_prefix_attr, nonempty_type_quals, structsp, 4198 type_quals): Remove. Users updated. 4199 (initdecls, notype_initdecls, after_type_declarator, 4200 parm_declarator, notype_declarator, absdcl1, components, ivars): 4201 Don't allow attributes at the start of a declarator; include them 4202 in the production containing the declarator instead. Always 4203 require type specifiers before trying to redeclare a typedef name. 4204 (typename): Allow for attributes but warn that they are ignored. 4205 (parmlist, firstparm, setspecs_fp): Include attributes in 4206 parmlist; suck them off the parser stack in firstparm using 4207 setspecs_fp. 4208 4209Thu May 10 09:17:42 2001 Jeffrey A Law (law@cygnus.com) 4210 4211 * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p 4212 to determine if a block has an unconditional jump at its end. 4213 4214 * jump.c (jump_optimize_1): When converting a conditional jump 4215 to an unconditional jump, build the jump using gen_jump instead 4216 of just modify operands in-place. 4217 42182001-05-09 Zack Weinberg <zackw@stanford.edu> 4219 4220 * cppinit.c (cpp_post_options): Shut off macro expansion if 4221 -fpreprocessed. 4222 * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept 4223 IN_I directives only if the # is in column 1 and the directive 4224 name begins in column 2. 4225 * cppmain.c (scan_buffer): Insert a space between # and an 4226 identifier, when that identifier is a directive name. 4227 4228 * tradcpp.c (struct file_buf): Add a pointer to the next entry 4229 in the header search path. 4230 (enum node_type): Add T_INCLUDE_NEXT. 4231 (directive_table): Add entry for include_next. 4232 (do_include_next): New function. 4233 (process_include): New routine, broken out of do_include. 4234 (finclude): Insert 'nhd' argument, to be copied into 4235 next_header_dir of the new buffer. 4236 (main): Adjust to match. 4237 * gsyslimits.h, limity.h: Un-indent #include_next. 4238 42392001-05-09 Joseph S. Myers <jsm28@cam.ac.uk> 4240 4241 * objc.texi: Move from ../libobjc/objc-features.texi. Adjust for 4242 inclusion as a chapter of the GCC manual. 4243 * gcc.texi: Include objc.texi. 4244 * fdl.texi: Use @unnumberedsec for the addendum. 4245 * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies. 4246 4247Wed May 9 16:01:41 CEST 2001 Jan Hubicka <jh@suse.cz> 4248 4249 * i386.md (DImode move splitters): Use !MMX and !SSE for the condition. 4250 4251Wed May 9 10:40:25 2001 Alexandre Oliva <aoliva@redhat.com> 4252 4253 * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing 4254 handling of two-address insns. 4255 4256Wed May 9 10:36:18 2001 Alexandre Oliva <aoliva@redhat.com> 4257 4258 * Makefile.in (NM_FOR_TARGET): Look for ./nm, then 4259 ../binutils/nm-new instead of ../binutils/nm. 4260 4261Wed May 9 12:15:46 CEST 2001 Jan Hubicka <jh@suse.cz> 4262 4263 * i386.md (movdi splitter): Fix the splitting condition 4264 (float_extenddftf splitter): Fix mode. 4265 4266Wed May 9 12:05:39 CEST 2001 Jan Hubicka <jh@suse.cz> 4267 4268 * genrecog.c (write_switch): Avoid outputting of switch for 4269 types wider than int. 4270 42712001-05-03 Andrew Haley <aph@cambridge.redhat.com> 4272 4273 * reload1.c (copy_eh_notes): New function. 4274 (emit_input_reload_insns): Call it. 4275 (emit_output_reload_insns): Call it. 4276 42772001-05-07 Zack Weinberg <zackw@stanford.edu> 4278 4279 * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*): 4280 Delete stanzas. 4281 * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h, 4282 config/i386/sco4dbx.h, config/i386/x-sco4: Delete file. 4283 4284 * optabs.c: Delete #ifdef BROKEN_LDEXP block. 4285 42862001-05-07 John David Anglin <dave@hiauly1.hia.nrc.ca> 4287 4288 * pa.md (interspace_jump): Revise comment. 4289 (builtin_longjmp): Block initial setup insns from delay slot of 4290 interspace branch. 4291 (builtin_setjmp_receiver): New expander to save and restore PIC 4292 register. 4293 4294 * som.h (NM_FLAGS): Remove `-n' sort option. Revise comment. 4295 4296Mon May 7 09:30:14 2001 Jeffrey A Law (law@cygnus.com) 4297 4298 * toplev.c (compile_file): Set up the output file before we call 4299 the various initializers for the compiler. 4300 4301 * except.c (sjlj_mark_call_sites): Do not search for assignments to 4302 non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE. 4303 4304 * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64. 4305 * pa-64.h (*_TYPE_SIZE): Undefine before redefining. 4306 43072001-05-06 Zack Weinberg <zackw@stanford.edu> 4308 4309 * Makefile.in (tradcpp0): Correct typo in dependency list. 4310 43112001-05-06 Geoff Keating <geoffk@redhat.com> 4312 4313 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save 4314 the link register if we're not going to use it. 4315 4316 * config/rs6000/rs6000.c (output_profile_hook): Fix a warning. 4317 (output_function_profiler): Likewise. 4318 43192001-05-07 Alan Modra <amodra@one.net.au> 4320 4321 * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes. 4322 43232001-05-06 Alexandre Oliva <aoliva@redhat.com> 4324 4325 * unroll.c (loop_iterations): Don't sign-extend abs_diff; 4326 zero-extend it. Make abs_inc unsigned. 4327 4328 * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the 4329 widest mode in narrowing and widening operations. 4330 4331 * config/mips/mips.md: Sign extend CONST_INTs. 4332 43332001-05-06 Andreas Jaeger <aj@suse.de> 4334 4335 * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer 4336 (i386 Options): Document -momit-leaf-frame-pointer. 4337 43382001-05-06 Neil Booth <neil@daikokuya.demon.co.uk> 4339 4340 * c-typeck.c (internal_build_compound_expr): Check for 4341 array to pointer conversion just once. 4342 43432001-05-05 Richard Henderson <rth@redhat.com> 4344 4345 * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE. 4346 43472001-05-05 Richard Henderson <rth@redhat.com> 4348 4349 * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes 4350 to the parent of the fixup region. 4351 43522001-05-05 Jakub Jelinek <jakub@redhat.com> 4353 4354 * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring 4355 "inline" keyword. 4356 * cpp.texi (__NO_INLINE): Document it. 4357 43582001-05-05 Neil Booth <neil@daikokuya.demon.co.uk> 4359 4360 * cppfiles.c (struct include_file): New member err_no. 4361 (find_or_create_entry): Set it. 4362 (open_file): Don't set fds to -2. Instead, use err_no to 4363 remember previous errors, if any. 4364 43652001-05-05 Stephane Carrez <Stephane.Carrez@worldnet.fr> 4366 4367 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves 4368 between X and Y by using sequences of xgdx and xgdy. 4369 43702001-05-05 Stephane Carrez <Stephane.Carrez@worldnet.fr> 4371 4372 * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead 4373 of '!' for the 'D' alternative ('!' is too strong). 4374 ("*logicalsi3_silshl16"): Likewise. 4375 ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'. 4376 ("movstrictsi"): Remove spurious '+'. 4377 ("movstrictqi"): Don't accept 'A' and remove spurious '+'. 4378 ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'. 4379 ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid 4380 a reload to them. 4381 43822001-05-04 David Edelsohn <edelsohn@gnu.org> 4383 4384 * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT. 4385 43862001-05-04 Lars Brinkhoff <lars@nocrew.org> 4387 4388 * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1 4389 into -a. 4390 43912001-05-04 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 4392 4393 * config/rs6000/rs6000.md (ashldi3 splits): Guard with 4394 TARGET_POWERPC64. 4395 43962001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr> 4397 4398 * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of 4399 soft register, use ror instead of rol. 4400 44012001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr> 4402 4403 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take 4404 into account pre/post increment decrement for 68HC12. 4405 Fix other problems in replacement and fix call to reg_mentioned_p. 4406 44072001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr> 4408 4409 * config/m68hc11/larith.asm (L_regs_frame): New for _.frame. 4410 Put the soft registers in bss for 68HC12. 4411 (L_regs_d3_4): New for _.d3 and _.d4. 4412 (L_regs_d5_6): Likewise. 4413 (L_regs_d1_2): Likewise. 4414 * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts. 4415 44162001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr> 4417 4418 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__ 4419 to the pre-processor when -fshort-double is specified. 4420 * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise. 4421 44222001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr> 4423 4424 * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12. 4425 (__mulsi3): Rewrite for 68HC12. 4426 * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12. 4427 Mark 'x' constraint with earlyclobber to prevent a 4428 RELOAD_FOR_OTHER_ADDRESS to go in it. 4429 (mulhi3_m68hc12): New pattern. 4430 (mulhi3_m68hc11): Rename of mulhi3. 4431 (mulhi3): New expand for 68HC12 optimisation. 4432 (umulhisi3, mulhisi3): New patterns for 68HC12. 4433 44342001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr> 4435 4436 * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12. 4437 (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12. 4438 (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12. 4439 44402001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr> 4441 4442 * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of 4443 constants cheap after reload. 4444 * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32 4445 are cheap. 4446 (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive 4447 so that gcc prefers a shift by 16. 4448 (m6811_cost, m6812_cost): Make the shift cheap compared to an add. 4449 44502001-05-04 Nick Clifton <nickc@cambridge.redhat.com> 4451 4452 * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define. 4453 44542001-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 4455 4456 * alpha.h: NULL_PTR -> NULL. 4457 * arm.c: Likewise. 4458 * arm.h: Likewise. 4459 * avr.h: Likewise. 4460 * c4x.c: Likewise. 4461 * c4x.h: Likewise. 4462 * i386.c: Likewise. 4463 * i386.md: Likewise. 4464 * i860.c: Likewise. 4465 * ia64.c: Likewise. 4466 * m68hc11.h: Likewise. 4467 * rs6000.h: Likewise. 4468 * sh.c: Likewise. 4469 * sh.h: Likewise. 4470 * sparc.h: Likewise. 4471 * v850.c: Likewise. 4472 4473 * expr.c: Likewise. 4474 * final.c: Likewise. 4475 * gcc.c: Likewise. 4476 * recog.c: Likewise. 4477 44782001-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 4479 4480 * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change 4481 `bool' parameter to `int'. 4482 4483 * hash.c (hash_lookup): Likewise. 4484 4485 * hash.h (hash_lookup): Likewise. 4486 4487 * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise. 4488 4489Fri May 4 13:10:03 CEST 2001 Jan Hubicka <jh@suse.cz> 4490 4491 * i386.c (x86_initialize_trampoline): Fix mode of constant. 4492 44932001-05-03 Geoff Keating <geoffk@redhat.com> 4494 4495 * invoke.texi (i386 Options): Delete references to -malign-jumps, 4496 -malign-loops, -malign-functions. 4497 * i386.c (ix86_align_funcs): Delete. 4498 (ix86_align_loops): Delete. 4499 (ix86_align_jumps): Delete. 4500 (override_options): Mark -malign-* as obsolete. Emulate their 4501 behavior with the -falign-* options. Default -falign-* from 4502 the processor table. 4503 * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's 4504 patch of Wed May 2 13:09:36 2001. 4505 (LOOP_ALIGN): Delete. 4506 (LOOP_ALIGN_MAX_SKIP): Delete. 4507 (LABEL_ALIGN_AFTER_BARRIER): Delete. 4508 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete. 4509 45102001-05-04 Andreas Jaeger <aj@suse.de> 4511 4512 * except.h: Add prototype declaration for 4513 expand_builtin_init_dwarf_reg_sizes. 4514 45152001-05-03 Geoffrey Keating <geoffk@redhat.com> 4516 4517 * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE. 4518 45192001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr> 4520 4521 * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb 4522 instruction. 4523 ("bitcmpqi2"): New pattern for bit-extract and test. 4524 ("bitcmphi"): New pattern for bitb/bita instructions. 4525 45262001-05-03 Joseph S. Myers <jsm28@cam.ac.uk> 4527 4528 * gccbug.in: Use a temporary directory when the mktemp command is 4529 not available. 4530 45312001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr> 4532 4533 * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register 4534 instead of _.d1. 4535 (INITIALIZE_TRAMPOLINE): Call it. 4536 (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12. 4537 (TRAMPOLINE_TEMPLATE): Remove. 4538 * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New. 4539 * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline): 4540 Declare. 4541 45422001-05-03 David O'Brien <obrien@FreeBSD.org> 4543 4544 * config/t-freebsd: Don't install "assert.h" in gcc. Compile crtbeginS.o 4545 and crtendS.o with PIC. 4546 45472001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr> 4548 4549 * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two 4550 negative numbers. 4551 (___subdi3, ___adddi3): Use x instead of y as index register. 4552 (__init_bss_section, __map_data_section): Optimize for 68HC12. 4553 (__memset, __memcpy): Likewise. 4554 (regs): Put the soft registers in bss for 68HC12. 4555 (abort): Use trap to abort for 68hc12. 4556 (__mulhi3, __mulhi32): Use emul for 68hc12. 4557 (__mulsi3): Avoid to use the tmp soft register for 68hc12. 4558 45592001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr> 4560 4561 * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define. 4562 * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove. 4563 * config/m68hc11/m68hc11.c (limit_reload_class): Remove. 4564 (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin. 4565 Set 68HC12 min offset to -65536. 4566 (print_operand): Put parenthesis arround the operand if it refers 4567 to a symbol having the same name as a register. 4568 (m68hc11_z_replacement): When z register is replaced by its 4569 equivalent soft register, force the insn to be re-recognized. 4570 (m68hc11_check_z_replacement): Fix the test when destination is 4571 the index register and z dies in the insn. 4572 (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them. 4573 45742001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr> 4575 4576 * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize 4577 costs according to processor variant. 4578 (m68hc11_shift_cost): New function to compute shift costs. 4579 (m68hc11_rtx_costs): Define costs according to processor variant. 4580 (m6811_cost): Costs for 68HC11. 4581 (m6812_cost): Costs for 68HC12. 4582 (COSTS_N_INSNS): Remove. 4583 4584 * config/m68hc11/m68hc11.h (RTX_COSTS): New. 4585 (DEFAULT_RTX_COSTS): Remove. 4586 (CONST_COSTS): Define costs according to OUTER_CODE. 4587 (processor_costs): New struct to define costs. 4588 (m68hc11_cost): Pointer to current costs. 4589 45902001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr> 4591 4592 * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation 4593 and use m68hc11_notice_keep_cc when using leax/leay. 4594 (addhi3 split): Reject split if the insn is handled by 4595 leax/leay above. 4596 * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the 4597 push must be handled in a special way if the source operand uses 4598 sp as index register. 4599 (m68hc11_notice_keep_cc): New function. 4600 (m68hc11_gen_movhi): Use it when an insn changes a register but 4601 not the flags. 4602 (m68hc11_gen_movqi): Fix move for 68HC12. 4603 * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare. 4604 46052001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr> 4606 4607 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST 4608 and don't pass operands[0] to emit_library_call_value. 4609 46102001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr> 4611 4612 * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12. 4613 (zero_extendsi split): Simplify and use (zero_extendhi). 4614 (*addhi3): Remove 'w' constraint since stack pointer is handled 4615 by (addhi3_sp). 4616 (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint. 4617 (*ashlhi3, *ashrhi3, *lshrhi3): Likewise. 4618 (*ashrhi3_const): Fix shift by 7. 4619 (*lshrsi3_const16): Fix template. 4620 (call, call_value): Fix constraint and predicate. 4621 46222001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr> 4623 4624 * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant. 4625 (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise. 4626 (CC_REGNUM): Likewise. 4627 (*unnamed splits): Use above constants instead of hard coded numbers. 4628 (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise. 4629 (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise. 4630 (*return_16bit, *unnamed peepholes): Likewise. 4631 46322001-05-03 David O'Brien <obrien@FreeBSD.org> 4633 4634 * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix): Do not include 4635 rs6000/rs6000.h twice. 4636 46372001-05-03 Mark Elbrecht <snowball3@bigfoot.com> 4638 4639 * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__. 4640 (CPP_SPEC): Conditionally define MSDOS and GO32. 4641 (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210. 4642 (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are 4643 ignored. 4644 (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove. 4645 46462001-05-03 Alexandre Oliva <aoliva@redhat.com> 4647 4648 * config/mn10300/mn10300.md: Sign-extend GEN_INT operands. 4649 46502001-05-03 Mark Mitchell <mark@codesourcery.com> 4651 4652 * integrate.h (struct inline_remap): Add leaf_reg_map table. 4653 * integrate.c (expand_inline_function): Use xcalloc to allocate 4654 memory. 4655 (copy_rtx_and_substitute): Use the leaf_reg_map for leaf 4656 registers. 4657 46582001-05-03 Mark Mitchell <mark@codesourcery.com> 4659 4660 * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME 4661 if it is not set. 4662 46632001-05-03 Alexandre Oliva <aoliva@redhat.com> 4664 4665 * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the 4666 linker if -mrelax is given. 4667 (TARGET_SWITCHES): Document -mrelax. 4668 4669 Re-installed 2001-01-09's patch: 4670 * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long 4671 if it's wider than long and the target's long is wider than the 4672 host's. 4673 46742001-05-02 David O'Brien <obrien@FreeBSD.org> 4675 4676 * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h: Do not 4677 directly include rs6000/rs6000.h. Instead do it in tm.h. 4678 46792001-05-02 Stan Shebs <shebs@apple.com> 4680 4681 * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to 4682 NSConstantString for NeXT-style runtimes. 4683 (STRING_OBJECT_GLOBAL_NAME): New macro. 4684 (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and 4685 OCTI_STRING_CLASS_DECL. 4686 (constant_string_global_id): New macro. 4687 (string_class_decl): Ditto. 4688 (setup_string_decl): New function. 4689 (build_objc_string_object): Use it to build a NeXT runtime 4690 compatible string initializer. 4691 46922001-05-02 Jakub Jelinek <jakub@redhat.com> 4693 4694 * tradcpp.c (do_define): Make sure we don't walk past limit. 4695 46962000-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 4697 4698 * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack 4699 offsets if not REG_OK_STRICT. 4700 4701 * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro. 4702 (INT_REG_OK_FOR_INDEX_P): Likewise. 4703 (INT_REG_OK_FOR_BASE_P): Likewise. 4704 (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P. 4705 (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P. 4706 (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and 4707 INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and 4708 REG_OK_FOR_BASE_P. Take an additional parameter. 4709 (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise. 4710 (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise. 4711 (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise. 4712 (GO_IF_LEGITIMATE_ADDRESS): Move code into new function 4713 rs6000_legitimate_address() and use it. 4714 * config/rs6000/rs6000.c: Update all callers. 4715 (rs6000_legitimate_address): New function. 4716 47172001-05-02 David Edelsohn <edelsohn@gnu.org> 4718 4719 * config/rs6000/rs6000.c (rs6000_emit_move): Merge 4720 special_constant conditional blocks together. 4721 47222001-05-02 Dale Johannesen <dalej@apple.com> 4723 4724 * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED 4725 parameter. 4726 (STRICT_ARGUMENT_NAMING): Define. 4727 * config/rs6000/rs6000.c (function_arg_advance, function_arg, 4728 function_arg_partial_nregs, setup_incoming_varargs): Remove 4729 args logic which depends on "named" now that STRICT_ARGUMENT_NAMING 4730 is defined. 4731 4732Wed May 2 13:09:36 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 4733 4734 * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned. 4735 4736 * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode 4737 for replacement. 4738 4739 * expr.c (store_field): Do nothing except elaborate side-effects if 4740 zero-bit field. 4741 47422001-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 4743 4744 * c-lex.c: NULL_PTR -> NULL. 4745 * cse.c: Likewise. 4746 * emit-rtl.c: Likewise. 4747 * gcse.c: Likewise. 4748 * genpeep.c: Likewise. 4749 * jump.c: Likewise. 4750 * mips-tdump.c: Likewise. 4751 * reload1.c: Likewise. 4752 * rtlanal.c: Likewise. 4753 * stmt.c: Likewise. 4754 * stor-layout.c: Likewise. 4755 * toplev.c: Likewise. 4756 47572001-05-01 Per Bothner <per@bothner.com> 4758 4759 * expr.c (expand_expr): When compiling LABELED_BLOCK_EXPR, 4760 call do_pending_stack_adjust before emiting label. 4761 47622001-05-01 Mark Mitchell <mark@codesourcery.com> 4763 4764 * extend.texi: Fix typo. 4765 47662001-05-01 Stan Shebs <shebs@apple.com> 4767 4768 * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT 4769 of UOBJC_MODULES_decl. 4770 (generate_strings): Clear DECL_CONTEXT of new decl nodes. 4771 (generate_descriptor_table): Ditto. 4772 (generate_protocols): Ditto. 4773 (generate_protocol_list): Ditto. 4774 (generate_classref_translation_entry): Ditto. 4775 47762001-05-01 Jeffrey Oldham <oldham@codesourcery.com> 4777 4778 * invoke.texi (Optimize Options): Add documentation for `--param 4779 max-delay-slot-insn-search' and `--param 4780 max-delay-slot-live-search' and reorder --param section. 4781 * params.def: Modify initial comment. 4782 * params.h (param_info): Add `help' member. 4783 * toplev.c (lang_independent_params): Include `help' description. 4784 (display_help): Print --param parameters. 4785 47862001-05-01 Zack Weinberg <zackw@stanford.edu> 4787 4788 * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}. 4789 Remove references to deleted files. 4790 (*-*-openbsd): No need to override xmake_file. 4791 (*-*-sysv4): Treat like *-*-sysv. 4792 4793 * configure.in: Probe for ldopen in various places, and set up 4794 collect2 to be linked with them if found. 4795 Don't dink with Windows registry stuff unless $host_os is a 4796 Win32 os name. Check to see if we need -ladvapi32. 4797 * configure: Regenerate. 4798 4799 * Makefile: Get rid of CLIB and HOST_CLIB. 4800 Substitute in COLLECT2_LIBS and link collect2 against its contents. 4801 * build-make: Get rid of HOST_CLIB. 4802 4803 * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix, 4804 config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3, 4805 config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony, 4806 config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41, 4807 config/rs6000/x-rs6000: Delete. 4808 4809 * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris: 4810 Don't set CLIB. 4811 4812 24 x-host fragments remain, 0 x-cpu, 3 top level. 4813 48142001-05-01 Zack Weinberg <zackw@stanford.edu> 4815 4816 * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program. 4817 * configure: Regenerate. 4818 48192001-05-01 Angela Marie Thomas <angela@cygnus.com> 4820 4821 * Makefile.in (install-headers): Remove redundant dependency. 4822 48232001-05-01 Nathan Sidwell <nathan@codesourcery.com> 4824 4825 * c-tree.texi (USING_STMT): Document. 4826 48272001-05-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 4828 4829 * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0". 4830 * c-common.c: Likewise. 4831 * c-decl.c: Likewise. 4832 * combine.c: Likewise. 4833 * rs6000.c: Likewise. 4834 * except.c: Likewise. 4835 * explow.c: Likewise. 4836 * expr.c: Likewise. 4837 * fold-const.c: Likewise. 4838 * function.c: Likewise. 4839 * gcc.c: Likewise. 4840 * gcse.c: Likewise. 4841 * integrate.c: Likewise. 4842 * loop.c: Likewise. 4843 * objc/objc-act.c: Likewise. 4844 * recog.c: Likewise. 4845 * reg-stack.c: Likewise. 4846 * reload.c: Likewise. 4847 * reload1.c: Likewise. 4848 * simplify-rtx.c: Likewise. 4849 * stmt.c: Likewise. 4850 * varasm.c: Likewise. 4851 48522001-05-01 Gabriel Dos Reis <gdr@codesourcery.com> 4853 4854 * diagnostic.def: New file. 4855 * diagnostic.h (diagnostic_t): New enum. 4856 * Makefile.in (diagnostic.o): Depend on diagnostic.def 4857 48582001-04-30 Zack Weinberg <zackw@stanford.edu> 4859 4860 * tsystem.h: Test only POSIX for availability of string.h 4861 and time.h. 4862 * config.gcc (all systems): If USG appeared in xm_defines, 4863 change it to POSIX. If both USG and POSIX appeared, just 4864 delete USG. Remove unnecessary quotes around xm_defines 4865 settings. 4866 (m68k-crds-unos*): Don't #define unos - tested nowhere. 4867 (m68k-apple-aux*): Don't #define AUX - tested nowhere. 4868 (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1, 4869 powerpc-*-linux*): No need to set xm_defines - handled by 4870 global settings for *-*-linux*. 4871 48722001-04-30 Zack Weinberg <zackw@stanford.edu> 4873 4874 * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c: 4875 Always include gstab.h, not system stab.h. Don't provide 4876 default definitions of N_CATCH or N_OPT. Always use the 4877 gstab.h variant of STAB_CODE_TYPE. 4878 * final.c: Don't include stab.h/gstab.h at all, or provide 4879 defaults for N_SLINE and N_SOL. 4880 4881 * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL, 4882 N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are 4883 available. 4884 * sdbout.c: Always include gsyms.h instead of system syms.h. 4885 4886 * configure.in: No need to check for stab.h. 4887 * configure, config.in: Regenerate. 4888 * Makefile.in (final.o): Don't depend on gstab.h. 4889 48902001-04-30 Mark Mitchell <mark@codesourcery.com> 4891 Richard Henderson <rth@redhat.com> 4892 4893 * extend.texi: Improve documentation of volatile asms. 4894 48952001-04-30 Mark Mitchell <mark@codesourcery.com> 4896 4897 * c-tree.texi: Fix thinko. 4898 * gcc.texi: Likewise. 4899 49002001-04-30 Richard Henderson <rth@redhat.com> 4901 4902 * c-common.c (c_promoting_integer_type_p): New function, from the 4903 corpse of old macro. Properly promote too-small enumerations and 4904 booleans. Adjust all callers. 4905 * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove. 4906 (c_promoting_integer_type_p): Declare. 4907 * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations. 4908 * c-typeck.c: Likewise. 4909 (default_conversion): Remove now redundant boolean check. 4910 49112001-04-30 Jan Hubicka <jh@suse.cz> 4912 Richard Henderson <rth@redhat.com> 4913 4914 * regmove.c (try_apply_stack_adjustment): Remove now redundant 4915 sanity checks. 4916 (combine_stack_adjustments_for_block): Don't combine stack 4917 allocation followed by deallocations. Handle grow-up stacks. 4918 49192001-04-30 Mark Mitchell <mark@codesourcery.com> 4920 4921 * fdl.texi: New file. 4922 * c-tree.texi: Use the GFDL. 4923 * gcc.texi: Likewise. 4924 49252001-04-30 Stan Shebs <shebs@apple.com> 4926 4927 * invoke.texi: Add a section documenting Objective-C options. 4928 49292001-04-27 Andrew Haley <aph@cambridge.redhat.com> 4930 4931 * emit-rtl.c (try_split): Copy EH notes to sequence. 4932 49332001-04-30 Mark Mitchell <mark@codesourcery.com> 4934 4935 * regmove.c (record_stack_memrefs): Catch all references to the 4936 stack pointer. 4937 49382001-04-29 Toomas Rosin <toomas at ns dot tklabor dot ee> 4939 4940 * Makefile.in (stmp-fixinc): quote shell assignment values 4941 49422001-04-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 4943 4944 * c-aux-info.c: NULL_PTR->NULL in calls to `concat'. 4945 4946 * gcc.c: Likewise. 4947 4948 * prefix.c: Likewise. 4949 49502001-04-28 Stan Shebs <shebs@apple.com> 4951 4952 * objc/objc-act.c (handle_class_ref): Rewrite to flush target 4953 specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE. 4954 * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define. 4955 * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document. 4956 4957 * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define. 4958 (NEXT_OBJC_RUNTIME): Define. 4959 4960Sat Apr 28 21:02:58 CEST 2001 Jan Hubicka <jh@suse.cz> 4961 4962 * rtl.h (simplify_gen_relational): Add cmp_mode parameter. 4963 * simplify-rtx.c (simplify_gen_relational): Likewise. 4964 4965 * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs. 4966 4967 * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2 4968 * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves. 4969 4970 * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to 4971 registers in SSE case; fix handling of the immediates. 4972 (negsf2_ifs, abssf2_ifs): Tweak constraints; require 4973 operands to be in regsiters before reload. 4974 (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit 4975 (negdf2_ifs_rex64, absdf2_ifs_rtx64): New. 4976 (abstf,absxf,negtf,negxf splitters): Compute 4977 properly the regnum for x86_64. 4978 (avsdf2_if_rex64): New. 4979 4980Sat Apr 28 10:36:23 2001 Jeffrey A Law (law@cygnus.com) 4981 4982 * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC 4983 and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put 4984 into the constant pool. 4985 * jump.c (jump_optimize_1): Remove barrier successors after all 4986 the LABEL_NUSES counds have been computed. 4987 (delete_barrier_successors): When deleting a tablejump insn, also 4988 delete the jump table it uses. 4989 * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a 4990 label into memory. 4991 49922001-04-28 Martin Kalen <martin.kalen@todaysystems.com.au> 4993 4994 * pa.c (FRP): Remove erroneous white space in macro definition. 4995 49962001-04-28 Andreas Jaeger <aj@suse.de> 4997 4998 * invoke.texi: Use XX-bit instead of XXbit or XX bit where 4999 appropriate. 5000 * extend.texi: Likewise. 5001 * tm.texi: Likewise. 5002 50032001-04-28 Andreas Jaeger <aj@suse.de> 5004 5005 * md.texi: Use XX-bit instead of XXbit or XX bit where 5006 appropriate. 5007 50082001-04-28 Jens Schweikhardt <schweikh@schweikhardt.net> 5009 5010 * gcc.c (process_command): Allow -l lib in addition to -llib 5011 for POSIX compliance. This fixes PR c/2347. 5012 5013 * invoke.texi: Update section on Link Options accordingly. 5014 50152001-04-27 Zack Weinberg <zackw@stanford.edu> 5016 5017 * function.c (purge_addressof_1): Remove the duplicate 5018 if (code == SET) block. Fold the two if (code == ADDRESSOF) 5019 blocks together. 5020 50212001-04-28 Jason Merrill <jason_merrill@redhat.com> 5022 5023 * except.c (expand_eh_region_start): Don't start a new block. 5024 (expand_eh_region_end): Don't end a block. 5025 * stmt.c (expand_end_bindings): Don't end EH blocks. 5026 (expand_decl_cleanup): Starting an EH region won't change the block. 5027 (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose. 5028 (is_eh_region): Lose. 5029 * tree.h: Adjust. 5030 50312001-04-27 Jeffrey Oldham <oldham@codesourcery.com> 5032 5033 * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode. 5034 5035 * collect2.c (main): Add `-L' case to remove duplicate entries. 5036 (is_in_args): New function to check for a duplicate argument. 5037 * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro. 5038 * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation. 5039 * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): 5040 Define to be nonzero. 5041 50422001-04-27 Andreas Jaeger <aj@suse.de> 5043 Richard Henderson <rth@redhat.com> 5044 5045 * md.texi (Machine Constraints): Document additional i386 5046 constraints and fix description of "A". 5047 5048Fri Apr 27 10:43:49 2001 Jeffrey A Law (law@cygnus.com) 5049 5050 * tm.texi (TARGET_MEM_FUNCTIONS): Update text. 5051 50522001-04-27 Jason Merrill <jason_merrill@redhat.com> 5053 5054 * except.c (get_exception_filter): word_mode, not Pmode. 5055 50562001-04-26 Geoffrey Keating <geoffk@redhat.com> 5057 5058 * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives 5059 common to other movsf patterns. Move up so that in future 5060 people who change the other patterns will change it too. 5061 (movsf_lo_sum): Allow even for soft-float; add appropriate 5062 constraints. 5063 (movsf_high): Likewise. 5064 (movsf_high+1): Allow even for soft-float. 5065 5066 * function.c (expand_function_end): Always clobber the 5067 return registers, even if there is no return label. 5068 5069Thu Apr 26 20:28:21 CEST 2001 Jan Hubicka <jh@suse.cz> 5070 5071 * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation. 5072 5073Thu Apr 26 19:20:28 CEST 2001 Jan Hubicka <jh@suse.cz> 5074 5075 * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes 5076 (pushqi2_rex64, pushhi2_rex64): Add. 5077 50782001-04-26 Andrew Haley <aph@cambridge.redhat.com> 5079 5080 * except.c (expand_eh_region_end_cleanup): Force pending stack 5081 adjust before emitting label that branches around cleanup code. 5082 50832001-04-26 H.J. Lu (hjl@gnu.org) 5084 5085 * config.gcc (mips*-*-linux*): Add elfos.h to tm_file. 5086 5087 * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before 5088 define. 5089 * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise. 5090 (ASM_OUTPUT_SECTION_NAME): Likewise. 5091 (ASM_WEAKEN_LABEL): Likewise. 5092 (UNIQUE_SECTION): Likewise. 5093 (ASM_OUTPUT_CONSTRUCTOR): Likewise. 5094 (ASM_OUTPUT_DESTRUCTOR): Likewise. 5095 * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise. 5096 (ASM_OUTPUT_SECTION_NAME): Likewise. 5097 (ASM_WEAKEN_LABEL): Likewise. 5098 (UNIQUE_SECTION): Likewise. 5099 (ASM_OUTPUT_CONSTRUCTOR): Likewise. 5100 (ASM_OUTPUT_DESTRUCTOR): Likewise. 5101 * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise. 5102 * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise. 5103 (ASM_FILE_START): Likewise. 5104 (ASM_OUTPUT_SOURCE_LINE): Likewise. 5105 (ASM_DECLARE_OBJECT_NAME): Likewise. 5106 (ASM_FILE_END): Likewise. 5107 (ASM_DECLARE_FUNCTION_NAME): Likewise. 5108 (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 5109 (ASM_GENERATE_INTERNAL_LABEL): Likewise. 5110 (ASM_OUTPUT_CASE_LABEL): Likewise. 5111 (ASM_OUTPUT_SKIP): Likewise. 5112 (ASM_OUTPUT_ASCII): Likewise. 5113 (ASM_OUTPUT_IDENT): Likewise. 5114 (READONLY_DATA_SECTION): Likewise. 5115 (EXTRA_SECTIONS): Likewise. 5116 (EXTRA_SECTION_FUNCTIONS): Likewise. 5117 (SELECT_RTX_SECTION): Likewise. 5118 (SELECT_SECTION): Likewise. 5119 5120 * config/mips/linux.h (INVOKE__main): Undefine. 5121 (CTOR_LIST_BEGIN): Likewise. 5122 (CTOR_LIST_END): Likewise. 5123 (DTOR_LIST_BEGIN): Likewise. 5124 (DTOR_LIST_END): Likewise. 5125 (SET_ASM_OP): Defined it to ".dummy". 5126 (ASM_OUTPUT_DEF): Defined. 5127 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined. 5128 51292001-04-26 Nick Clifton <nickc@cambridge.redhat.com> 5130 5131 * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the 5132 assembler supports .p2align. 5133 51342001-04-26 Nathan Sidwell <nathan@codesourcery.com> 5135 5136 * c-lex.c (c_lex): Remove # from %o diagnostic formatting. 5137 51382001-04-26 Jakub Jelinek <jakub@redhat.com> 5139 5140 * integrate.c (expand_inline_function): Check for error_mark_node 5141 in actual argument. 5142 51432001-04-26 Jakub Jelinek <jakub@redhat.com> 5144 5145 * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for 5146 -m386 and -m486. 5147 51482001-04-26 Alexandre Oliva <aoliva@redhat.com> 5149 5150 * configure.in (configargs.h): Define thread_model. 5151 * configure: Rebuilt. 5152 * gcc.c (main): Print it with -v. 5153 51542001-04-25 Joseph S. Myers <jsm28@cam.ac.uk> 5155 5156 * invoke.texi: Document -Wmissing-braces, -dumpspecs, 5157 -dumpmachine, -dumpversion, -fmem-report and -ftime-report. 5158 * gcc.1: Regenerate. 5159 51602001-04-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 5161 5162 * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type, 5163 is_redundant_typedef): Use static inline instead of inline static. 5164 5165Wed Apr 25 18:21:01 2001 Christopher Faylor <cgf@cygnus.com> 5166 5167 * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that 5168 this directory is always searched. 5169 51702001-04-25 Richard Henderson <rth@redhat.com> 5171 5172 * config/i386/i386.c (ix86_expand_epilogue): Properly compute size 5173 of registers to restore along non eh_return path. 5174 51752001-04-25 Jakub Jelinek <jakub@redhat.com> 5176 5177 * c-format.c (check_format_info_recurse): Handle 5178 PLUS_EXPR for format string. 5179 51802001-04-25 Jakub Jelinek <jakub@redhat.com> 5181 5182 * config/ia64/ia64.h (CC1_SPEC): Define. 5183 * config/ia64/linux.h (CC1_SPEC): Define. 5184 5185Wed Apr 25 17:09:50 2001 J"orn Rennecke <amylaar@redhat.com> 5186 5187 * emit-rtl.c (constant_subword): Also do sign extension in 5188 BITS_PER_WORD == 16 case. 5189 51902001-04-25 Jason Merrill <jason_merrill@redhat.com> 5191 5192 * loop.c (try_swap_copy_prop): Go back to checking insn. 5193 51942001-04-25 Jakub Jelinek <jakub@redhat.com> 5195 5196 * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check 5197 if check_mode is nonzero. 5198 51992001-04-25 Jakub Jelinek <jakub@redhat.com> 5200 5201 * config/i386/i386.c (ix86_expand_int_movcc): If overlap between 5202 out and comparison sequence has been detected, put result into 5203 proper temporary pseudo. 5204 52052001-04-24 Zack Weinberg <zackw@stanford.edu> 5206 5207 * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy. 5208 * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty. 5209 * libgcc2.c: Remove __dummy and __builtin_saveregs. 5210 * libgcc2.h: Don't prototype __builtin_saveregs or __dummy. 5211 * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs 5212 for future reference. 5213 52142001-04-24 Jason Merrill <jason_merrill@redhat.com> 5215 5216 * except.c (reachable_handlers): Step out one level from a RESX. 5217 5218 * except.c (struct eh_region): Rename 'last' to 'resume'. 5219 (mark_eh_region, duplicate_eh_region_1): Adjust. 5220 (expand_eh_region_end_cleanup): Remember the jump, not the barrier. 5221 (build_post_landing_pads): Likewise. 5222 (expand_end_catch, expand_eh_region_end_allowed): Don't set it. 5223 (expand_eh_region_end_must_not_throw): Likewise. 5224 (connect_post_landing_pads): Thread (only) regions with non-deleted 5225 resume insns. 5226 5227 * except.c (expand_eh_region_end_cleanup): Save the EH return data 5228 registers around the cleanup. 5229 (get_exception_filter): New fn. 5230 (finish_eh_generation): Use it. 5231 52322001-04-24 Nathan Sidwell <nathan@codesourcery.com> 5233 5234 * c-semantics.c (add_scope_stmt): Don't call 5235 current_scope_stmt_stack multiple times. 5236 52372001-04-24 Zack Weinberg <zackw@stanford.edu> 5238 Nathan Sidwell <nathan@codesourcery.com> 5239 5240 Lazy __FUNCTION__ generation. 5241 * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME, 5242 RID_C99_FUNCTION_NAME): New _RIDs. 5243 (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove. 5244 (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL, 5245 CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New 5246 global tree slots. 5247 (function_id_node, pretty_function_id_node, func_id_node): Remove. 5248 (c99_function_name_decl_node, function_name_decl_node, 5249 pretty_function_name_decl_node, saved_function_name_decls): 5250 Declare. 5251 (struct language_function): Remove x_function_name_declared_p. 5252 (make_fname_decl): Remove a parameter. 5253 (declare_function_names): Remove prototype. 5254 (start_fname_decls, finish_fname_decls): Prototype. 5255 (fname_as_string): Likewise. 5256 (fname_string, fname_decl): Likewise. 5257 * c-common.c (make_fname_decl): Adjust. 5258 (struct fname_var_t): New struct. 5259 (fname_vars): New static array. 5260 (declare_function_name): Remove. 5261 (start_fname_decls, finish_fname_decls): New functions. 5262 (fname_as_string): New function from remnants of 5263 declare_function_name. 5264 (fname_string, fname_decl): New functions. 5265 5266 * c-decl.c (c_function_name_declared_p): Remove. 5267 (init_decl_processing): Don't generate __FUNCTION__ et al ids, 5268 don't call declare_function_name. Call start_fname_decls. 5269 (c_make_fname_decl): Adjust parameters. Generate the name. Don't 5270 clobber the line number. Call finish_decl. 5271 (start_function): Call start_fname_decls. 5272 (finish_function): Call finish_fname_decls. 5273 Remove c_function_name_declared_p. 5274 (push_c_function_context): Don't push c_function_name_declared_p. 5275 (pop_c_function_context): Don't pop c_function_name_declared_p. 5276 (c_begin_compound_stmt): Don't check c_function_name_declared_p. 5277 * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens. 5278 (program): Call finish_fname_decls for C. 5279 (primary): Add VAR_FUNC_NAME. 5280 (reswords): Add slots for __FUNCTION__ et al. 5281 (rid_to_yy): Add mappings for __FUNCTION__ et al. 5282 (yylexname): If it's a STRING_FUNC_NAME generate the function name 5283 now. Don't look for VAR_DECLs containing __FUNCTION__ et al. 5284 * c-semantics.c (prune_unused_decls): Remove. 5285 (finish_stmt_tree): Don't call prune_unused_decls. 5286 (genrtl_decl_stmt): Don't prune unused decls here. 5287 52882001-04-24 Nick Clifton <nickc@cambridge.redhat.com> 5289 5290 * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the 5291 constant pool, use the pool's SYMBOL_REF instead. 5292 5293 * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the 5294 v850e. 5295 52962001-04-23 Joseph S. Myers <jsm28@cam.ac.uk> 5297 5298 * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid 5299 passing nested NOP_EXPRs to fold. 5300 5301Mon Apr 23 14:32:12 CEST 2001 Jan Hubicka <jh@suse.cz> 5302 5303 * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs. 5304 53052001-04-22 Mark Mitchell <mark@codesourcery.com> 5306 5307 * loop.c (loop_delete_insns): Add prototype. 5308 53092001-04-23 Phil Edwards <pme@sources.redhat.com> 5310 5311 * configure.in: Remove ENABLE_STD_NAMESPACE. 5312 * config.in: Regenerated. 5313 * configure: Regenerated. 5314 53152001-04-22 Stan Shebs <shebs@apple.com> 5316 5317 * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h 5318 into xm_defines. 5319 * config/rs6000/xm-darwin.h: Remove file. 5320 53212001-04-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5322 5323 * collect2.c (main): Use concat in lieu of xmalloc/sprintf. 5324 (write_c_file_stat): Likewise. 5325 5326 * dbxout.c (dbxout_init): Likewise. 5327 5328 * profile.c (output_func_start_profiler): Likewise. 5329 53302001-04-22 Philipp Thomas <pthomas@suse.de> 5331 5332 * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out, 5333 require it instead of the CVS version. 5334 * cpperror.c (v_message): Put a blank before the macro 5335 body to not confuse exgettext. 5336 53372001-04-21 Mark Mitchell <mark@codesourcery.com> 5338 5339 * flow.c (proagate_one_insn): Remove useless assignment. 5340 * jump.c (delete_insn): Tidy. 5341 * loop.c (try_copy_prop): When deleting an instruction with a 5342 REG_RETVAL note, delete the entire libcall sequence. 5343 (loop_delete_insns): New function. 5344 * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if 5345 we're not substituting into them yet. 5346 53472001-04-21 Kazu Hirata <kazu@hxi.com> 5348 5349 * config/h8300/h8300.c (general_operand_src): Fix a comment typo. 5350 5351 * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay): 5352 Fix a comment typo. 5353 * config/i960/i960.c (signed_arith_operand): Likewise. 5354 5355 * calls.c (expand_call): Fix a comment typo. 5356 53572001-04-20 Zack Weinberg <zackw@stanford.edu> 5358 5359 * configure.in: Probe for times, clock, struct tms, and clock_t. 5360 * configure, config.in: Regenerate. 5361 * timevar.c: Replace ifdef forest in get_time with (relatively) 5362 straightforward series of checks based on autoconf's probes. 5363 5364Fri Apr 20 12:24:50 2001 Jeffrey A Law (law@cygnus.com) 5365 5366 * config/pa/som.h (NM_FLAGS): Define. 5367 53682001-04-20 Bernd Schmidt <bernds@redhat.com> 5369 5370 * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called 5371 function. 5372 * ia64-protos.h (ia64_sched_reorder): Additional arg for clock. 5373 * ia64.c (nop_cycles_until): New function. 5374 (prev_cycle, prev_first, last_issued): New static variables. 5375 (ia64_sched_reorder): Additional arg for clock. 5376 On final scheduling pass, emit extra NOPs as needed. 5377 Set prev_first and prev_cycle. 5378 (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder. 5379 (ia64_variable_issue): Set last_issued. 5380 53812001-04-20 Alexandre Oliva <aoliva@redhat.com> 5382 5383 * config/i386/i386.c (ix86_expand_int_movcc, 5384 ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs. 5385 53862001-04-20 Geoff Keating <geoffk@redhat.com> 5387 5388 * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2, 5389 ctrsi_internal3, ctrsi_internal4, ctrsi_internal5, 5390 ctrsi_internal6, ctrdi_internal1, ctrdi_internal2, 5391 ctrdi_internal3, ctrdi_internal4, ctrdi_internal5, 5392 ctrdi_internal6): In the short-branch case, this insn is only 4 5393 bytes long. Reported by Reza Yazdani <reza@apple.com>. 5394 53952001-04-20 Jakub Jelinek <jakub@redhat.com> 5396 5397 * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp. 5398 "=u" is used together with "st" resp. "st(1)" clobber. 5399 54002001-04-20 Jakub Jelinek <jakub@redhat.com> 5401 5402 * gcse.c (gcse_main): Fix comment typo. 5403 (delete_null_pointer_check): Likewise. 5404 (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes. 5405 * cse.c (cse_insn): Likewise. 5406 * function.c (fixup_var_refs_insns_with_hash): The sequence is 5407 toplevel. 5408 54092001-04-19 Zack Weinberg <zackw@stanford.edu> 5410 5411 * toplev.c: Excise all code for the undocumented -dm option. 5412 (float_signal): Call signal just once, unconditionally. 5413 54142001-04-19 Geoff Keating <geoffk@redhat.com> 5415 5416 * fold-const.c (fold): Use first_rtl_op rather than 5417 TREE_CODE_LENGTH when looping over parameters of a tree. 5418 Correct strange grouping in test for evaluated SAVE_EXPR. 5419 5420Thu Apr 19 19:15:26 2001 Jeffrey A Law (law@cygnus.com) 5421 5422 * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine. 5423 * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define. 5424 5425 * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace 5426 name at 32 total characters. 5427 (ASM_OUTPUT_SECTION_NAME): Similarly. Also, only support placing 5428 functions in named sections -- data items can still go into unique 5429 sections, but they have normal names (ie $LIT$ and $DATA$). 5430 5431 * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support 5432 INIT_PRIORITY. 5433 54342001-04-19 DJ Delorie <dj@redhat.com> 5435 5436 * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX 5437 to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX. 5438 * config/i386/cygwin.h: Likewise. 5439 * config/i386/mingw32.h: Likewise. 5440 * config/vax/vms.h: Likewise. 5441 * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX. 5442 5443 * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX 5444 to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX. 5445 * config/i386/xm-cygwin.h: Likewise. 5446 * config/i386/xm-djgpp.h: Likewise. 5447 * config/i386/xm-mingw32.h: Likewise. 5448 * config/vax/xm-vms.h: Likewise. 5449 5450 * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX 5451 instead of OBJECT_SUFFIX. 5452 * collect2.c (find_a_file): Look for files matching the extension 5453 HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX. 5454 * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on 5455 TARGET_EXECUTABLE_SUFFIX. 5456 (find_a_file): Use HOST_EXECUTABLE_SUFFIX. 5457 (make_relative_prefix): Likewise. 5458 (convert_filename): Use TARGET_ suffixes throughout. Remove 5459 NO_AUTO_EXE_SUFFIX. 5460 (process_command): Likewise. 5461 (do_spec_1): Likewise. 5462 * java/lang.c (init_parse): Likewise. 5463 5464 * gcc.texi : Document four new options matching the pattern 5465 (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX. Remove documentation 5466 for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX. Remove 5467 documentation for NO_AUTO_EXE_SUFFIX. 5468 54692001-04-19 Mark Mitchell <mark@codesourcery.com> 5470 5471 * toplev.h (struct lang_hooks): Allow decode_option to indicate 5472 that language-independent processing should not be done. 5473 * toplev.c (main): Adjust accordingly. 5474 5475 * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation. 5476 * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN. 5477 5478 * mips.md (reload_outputdi): Require that operand0 be a 5479 general_operand. 5480 54812001-04-19 Jakub Jelinek <jakub@redhat.com> 5482 5483 * invoke.texi (-Wshadow): Clarify. 5484 54852001-04-18 Mark Mitchell <mark@codesourcery.com> 5486 5487 * loop.c (load_mems): Examine all the instructions in the loop 5488 before concluding that all jumps branch to the first instruction 5489 after the loop. 5490 5491Wed Apr 18 20:32:03 2001 Christopher Faylor <cgf@cygnus.com> 5492 5493 * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo. 5494 54952001-04-18 Jakub Jelinek <jakub@redhat.com> 5496 5497 * cpp.texi (-Wwhite-space): Remove. 5498 (-Wall): -Wall does not imply -Wwhite-space. 5499 55002001-04-17 Zack Weinberg <zackw@stanford.edu> 5501 5502 * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined, 5503 use it instead of blindly generating a .stabs. 5504 * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type 5505 in the right place. 5506 * xcoffout.c: Don't bother defining default for N_CATCH. 5507 (UNKNOWN_STAB): Use internal_error. 5508 (stab_to_sclass): Remove now-unnecessary aborts. 5509 Remove #if 0'ed case N_BROWS. Add #ifdef N_OPT block. 5510 5511Tue Apr 17 21:41:11 2001 Jeffrey A Law (law@cygnus.com) 5512 5513 * jump.c (mark_all_labels): Canonicalize the tail recursion 5514 label attached to CALL_PLACEHOLDER insns. 5515 55162001-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5517 5518 * output.h (dump_flow_info, free_basic_block_vars, 5519 which_alternative): Delete redundant prototypes. 5520 5521 * rtl.h (bss_section): Likewise. 5522 55232001-04-17 Loren J. Rittle <ljrittle@acm.org> 5524 5525 * dbxout.c (N_OPT): Define if not available from <stab.h> 5526 55272001-04-17 John David Anglin <dave@hiauly1.hia.nrc.ca> 5528 5529 * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system 5530 libraries and native K&R compilers. 5531 55322001-04-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5533 5534 * c-typeck.c (convert_arguments): Don't check for width changes 5535 with -Wtraditional. 5536 5537 * invoke.texi (-Wtraditional): Update documentation. 5538 55392001-04-16 Zack Weinberg <zackw@stanford.edu> 5540 5541 * toplev.c (output_lang_identify): Delete. 5542 (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE. 5543 Don't generate gcc2_compiled. label. Don't emit a nop if profiling. 5544 If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>" 5545 after calling ASM_FILE_END. 5546 5547 * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE. 5548 Instead, unconditionally emit an N_OPT stab with string equal 5549 to STABS_GCC_MARKER, which defaults to "gcc2_compiled." 5550 5551 * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE. 5552 5553 * config/dbxelf.h, config/freebsd.h, config/nextstep.h, 5554 config/psos.h, config/ptx4.h, config/1750a/1750a.h, 5555 config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h, 5556 config/arm/aof.h, config/arm/coff.h, config/arm/elf.h, 5557 config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h, 5558 config/dsp16xx/dsp16xx.h, config/h8300/h8300.h, 5559 config/i370/i370.h, config/i386/beos-elf.h, 5560 config/i386/osf1elf.h, config/i386/osfrose.h, 5561 config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h, 5562 config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h, 5563 config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h, 5564 config/m68k/tower-as.h, config/mcore/mcore-elf.h, 5565 config/mips/iris6.h, config/mips/osfrose.h, 5566 config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h, 5567 config/sparc/sp64-elf.h: 5568 Delete definitions of any or all of: ASM_IDENTIFY_GCC, 5569 ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE. 5570 5571 * config/elfos.h, config/freebsd.h, config/linux.h, 5572 config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h, 5573 config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h, 5574 config/sparc/linux.h, config/sparc/linux64.h: Delete definitions 5575 of ASM_FILE_START which merely emit a .version directive. Delete 5576 definitions of ASM_FILE_END which merely emit an .ident directive. 5577 5578 * config/avr/avr.h, config/vax/vax.h: Delete definition of 5579 ASM_IDENTIFY_GCC and move part of its logic into 5580 ASM_FILE_START. 5581 5582 * config/i386/att.h, config/i386/gas.h, config/i386/linux.h, 5583 config/sparc/linux-aout.h: Don't emit .version directive in 5584 ASM_FILE_START. 5585 5586 * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c 5587 (output_file_start): Correct comment. 5588 5589 * config/i386/osfrose.h: Don't emit trailing .ident directive. 5590 * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%" 5591 to match gdb. 5592 * config/pa/lib2funcs.asm: Delete gcc_compiled. label. 5593 * config/rs6000/aix.h: Correct comment. 5594 5595 * config/i386/i386afe.h: Delete. 5596 * config.gcc: Remove references to i386afe.h. 5597 5598 * tm.texi: Delete documentation of ASM_IDENTIFY_GCC. The 5599 other macros deleted by this patch were undocumented. 5600 5601Mon Apr 16 08:03:48 2001 Jeffrey A Law (law@cygnus.com) 5602 5603 * pa.md (reload_outdi): Operand 0 must be a non hard register. 5604 5605 * pa.c (secondary_reload_class): SAR<->FP copies require a 5606 secondary register. 5607 5608 * install.texi (mips-mips-bsd): Update list of functions 5609 required to include memmove. 5610 * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly 5611 used functions to include memmove. 5612 56132001-04-15 Toon Moene <toon@moene.indiv.nluug.nl> 5614 5615 * i386.md (sqrtdf2): SFmode should be DFmode. 5616 56172001-04-15 Alexandre Oliva <aoliva@redhat.com> 5618 5619 * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable. 5620 (find_moveable_store): Likewise. 5621 56222001-04-15 Jim Wilson <wilson@redhat.com> 5623 5624 * function.c (expand_function_end): Handle PARALLEL real_decl_rtl. 5625 5626Sat Apr 14 16:24:19 CEST 2001 Jan Hubicka <jh@suse.cz> 5627 5628 * i386.md (ashldi3_1_rex64): Add 'J' to the constraints 5629 (ashrdi3_1_rex64): Change 'n' constraint to 'J'. 5630 56312001-04-14 Alexandre Oliva <aoliva@redhat.com> 5632 5633 * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the 5634 first alternative. 5635 56362001-04-14 Alan Modra <amodra@one.net.au> 5637 5638 * pa.c (force_mode): New function. 5639 (emit_move_sequence): Use it instead of generating new rtx_REGs. 5640 56412001-04-13 Jim Wilson <wilson@redhat.com> 5642 5643 * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p. 5644 (first_instruction): New static variable. 5645 (rtx_needs_barrier): Return 1 for alloc. 5646 (init_insn_group_barriers): Set first_instruction. 5647 (rws_sum): Delete duplicate definition. 5648 (group_barrier_needed_p): Return 0 when first_instruction true. 5649 (safe_group_barrier_needed_p): Save and restore first_instruction 5650 around group_barrier_needed_p call. 5651 5652Fri Apr 13 21:40:28 2001 Loren J. Rittle <ljrittle@acm.org> 5653 5654 * expr.h (enum libfunc_index): Add LTI_memmove. 5655 (memmove_libfunc): Define macro. 5656 * optabs.c (init_optabs): Initialize memmove_libfunc. 5657 * expr.c (expand_assignment): Use memmove_libfunc instead of 5658 memcpy_libfunc. 5659 56602001-04-13 Alan Modra <alan@linuxcare.com.au> 5661 5662 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM 5663 fp mode addresses. 5664 56652001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5666 5667 * Makefile.in (reg-stack.o): Depend on reload.h. 5668 (insn-attrtab.o): Depend on flags.h. 5669 5670 * genattrtab (main): Include flags.h in insn-attrtab.c. 5671 5672 * reg-stack.c: Include reload.h. 5673 5674 * sparc.h (flag_pic): Delete redundant declaration. 5675 5676 * output.h (flag_pic): Likewise. 5677 5678 * tree.h (pedantic): Likewise. 5679 56802001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5681 5682 * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h 5683 5684 * jump.c, regmove.c, toplev.c: Include reload.h. 5685 5686 * reload.h (reload_cse_regs): Declare. 5687 5688 * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber, 5689 reload_cse_regs, init_reload, mark_home_live, reload, 5690 init_caller_save): Delete redundant prototypes. 5691 56922001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5693 5694 * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H). 5695 5696 * regclass.c, ssa.c: Include expr.h. 5697 5698 * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn, 5699 gen_move_insn): Delete redundant declarations. 5700 57012001-04-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 5702 5703 * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch. 5704 (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down 5705 MAKEINFO and MAKEINFOFLAGS too. 5706 (stage4_build): Correctly order -B flags. 5707 57082001-04-13 Alan Modra <amodra@one.net.au> 5709 5710 * pa.c (hppa_init_pic_save): Set rtx_unchanging for 5711 PIC_OFFSET_TABLE_SAVE_RTX. 5712 (zdepi_cint_p): Describe zdepi insn. 5713 Formatting and white space fixes throughout file. 5714 5715 * pa.c (uint32_operand): Don't use long constant >= 2^32. 5716 (emit_move_sequence): Use HOST_WIDE_INT constants. Don't worry 5717 about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs. 5718 (compute_movstrsi_length): Make `align' unsigned to avoid warning. 5719 (output_64bit_and): Use plain `int's for shift counts. 5720 (output_64bit_ior): Likewise. 5721 (function_arg_partial_nregs): Use unsigned vars to avoid warnings. 5722 * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case 5723 `N', and simplify. 5724 5725 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1. 5726 * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise. 5727 * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on 5728 NEW_HP_ASSEMBLER into one. Kill warnings. 5729 5730 * pa-gas.h: Delete file. 5731 * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa. 5732 Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*. Update 5733 hppa*-*-linux*. For all pa targets, remove pa/gas.h from tm_file, 5734 instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2. 5735 5736 * config/pa/mill32.S: New file. 5737 * config/pa/mill64.S: New file. 5738 * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS, 5739 LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define. 5740 * config/pa/t-linux64: New file. 5741 * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a 5742 (LIB1ASMFUNCS, LIB1ASMSRC): Define. 5743 (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1. 5744 5745 * elfos.h (SELECT_SECTION): Undef before defining. 5746 * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove. 5747 (LIB_SPEC): Remove -lmilli. 5748 (DBX_REGISTER_NUMBER): Remove. 5749 (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO, 5750 (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL, 5751 NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX, 5752 DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP, 5753 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START, 5754 ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, 5755 ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME, 5756 TARGET_GAS): Define. 5757 * pa.c (output_arg_descriptor): Disable for TARGET_ELF32. 5758 (function_arg): If TARGET_ELF32, pass fp args in both general and fp 5759 regs if we don't have a prototype. 5760 * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32. 5761 * pa.h (TARGET_ELF32): Default to 0 if undefined. 5762 (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX, 5763 EH_RETURN_HANDLER_RTX): Define. 5764 * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test. 5765 (DWARF_FRAME_REGNUM): Define. 5766 * pa64-regs.h (DWARF_FRAME_REGNUM): Define. 5767 * pa32-linux.h: New file. 5768 * pa64-linux.h: New file. 5769 5770 * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define. 5771 (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while. 5772 (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, 5773 NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF, 5774 DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT, 5775 DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP, 5776 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP, 5777 FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, 5778 READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION, 5779 DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY, 5780 UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR, 5781 ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL, 5782 TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to.. 5783 * pa64-hpux.h: New file. 5784 (ASM_FILE_START): Correct typo. 5785 (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE. 5786 * config.gcc: Modify for above. 5787 5788Fri Apr 13 00:09:22 EDT 2001 John Wehle (john@feith.com) 5789 5790 * jump.c (jump_optimize_1): Don't delete dead stores here. 5791 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns 5792 prior to running jump optimize before cse2. 5793 57942001-04-12 Richard Henderson <rth@redhat.com> 5795 5796 * Makefile.in (regmove.o): Depend on except.h. 5797 * regmove.c: Include it. 5798 57992001-04-12 Stan Shebs <shebs@apple.com> 5800 5801 * objc/objc-act.c: Remove all code ifdefed with the never-used 5802 macro OBJC_INT_SELECTORS. 5803 * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS. 5804 * tm.texi: Remove doc for OBJC_INT_SELECTORS. 5805 5806Thu Apr 12 18:13:37 2001 Rodney Brown <RodneyBrown@mynd.com> 5807 5808 * config/pa/quadlib.c: Add prototypes. 5809 58102001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5811 5812 * bitmap.h (debug_bitmap): Delete redundant prototype. 5813 5814 * rtl.h (get_frame_size): Likewise. 5815 58162001-04-12 Jim Wilson <wilson@redhat.com> 5817 5818 * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify 5819 to just emit an fnorm. 5820 58212001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5822 5823 * c-common.h (truthvalue_conversion, type_for_mode, 5824 type_for_size): Delete redundant declarations. 5825 5826 * c-lex.h (is_class_name): Likewise. 5827 5828 * c-tree.h (pedantic, convert, getdecls, gettags, 5829 global_bindings_p, init_decl_processing, insert_block, 5830 maybe_build_cleanup, poplevel, print_lang_decl, 5831 print_lang_identifier, print_lang_type, pushdecl, pushlevel, 5832 set_block, incomplete_type_error, build_function_call, 5833 lvalue_or_else, mark_addressable): Likewise. 5834 5835 * expr.h (expand_tree_builtin): Likewise. 5836 58372001-04-12 Mark Mitchell <mark@codesourcery.com> 5838 5839 * invoke.texi: Document --param max-gcse-memory. 5840 58412001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5842 5843 * configure.in (errno): Check for declaration. 5844 * configure, config.in: Regenerated. 5845 5846 * system.h (errno): Only declare if not already done. 5847 58482001-04-12 Alexandre Oliva <aoliva@redhat.com> 5849 5850 * recog.c (general_operand, immediate_operand, 5851 nonmemory_operand): Require CONST_INTs to be sign-extended 5852 values for their modes. 5853 58542001-04-12 Alexandre Oliva <aoliva@redhat.com> 5855 5856 * expmed.c (store_bit_field): Truncate CONST_INTs. 5857 (expand_mult_highpart, expand_divmod): Likewise. 5858 * expr.c (convert_modes, store_field): Likewise. 5859 * integrate.c (expand_inline_function): Use promote_mode() to 5860 determine whether to convert_modes() an argument as signed 5861 or unsigned. 5862 * optabs.c (expand_binop): Get CONST_INT operands 5863 sign-extended for their appropriate modes. 5864 * stmt.c (emit_case_nodes): Convert node values to the 5865 appropriate mode. 5866 (expand_end_case): Convert minval and range to the appropriate 5867 mode. 5868 * unroll.c (loop_iterations): Truncate abs_diff to the mode of 5869 the iteration variable. 5870 * varasm.c (immed_double_const): Don't require words to be 5871 narrower than host wide ints to properly sign-extend 5872 CONST_INTs. 5873 58742001-04-12 kaz Kojima <kkojima@rr.iij4u.or.jp> 5875 5876 * sh.md (builtin_setjmp_receiver): New expander. 5877 58782001-04-12 David Edelsohn <dje@watson.ibm.com> 5879 5880 * config/rs6000/rs6000.c (rs6000_emit_move): Do not 5881 special-case HOST_BITS_PER_WIDE_INT != 32. Use same criteria 5882 for generating CONST_INT and CONST_DOUBLE. 5883 58842001-04-12 Alexandre Oliva <aoliva@redhat.com> 5885 5886 * config/rs6000/rs6000.c (logical_operand): CONST_INTs are 5887 already sign-extended. 5888 (rs6000_emit_prologue): Make register iterator signed. 5889 (rs6000_emit_epilogue): Likewise. 5890 * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high 5891 and low. 5892 (movsf split, movdf split): Sign-extend CONST_INTs. 5893 (movdi splits): Likewise. 5894 58952001-04-12 Kelley Cook <kelley.cook@home.com> 5896 5897 * config-lang.in (lang_dirs): Add in zlib. 5898 58992001-04-11 Alexandre Oliva <aoliva@redhat.com> 5900 5901 * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT 5902 operands that make it to RTL. 5903 59042001-04-11 Stan Shebs <shebs@apple.com> 5905 5906 Add Darwin (Mac OS X kernel) native support. 5907 * config.gcc (powerpc-*-darwin*): Add native bits. 5908 * config/darwin.c: New file, generic Darwin support functions. 5909 * config/darwin.h: New file, generic Darwin definitions. 5910 * config/darwin-protos.h: New file, generic Darwin prototypes. 5911 * rs6000/darwin.h: New file, Darwin for PowerPC. 5912 * rs6000/t-darwin: New file, Darwin makefile fragment. 5913 * rs6000/rs6000.h (OBJECT_MACHO): New macro. 5914 (TARGET_MACHO): Ditto. 5915 (rs6000_abi): Add ABI_DARWIN. 5916 (RS6000_REG_SAVE): Add ABI_DARWIN case. 5917 (RS6000_SAVE_AREA): Ditto. 5918 (FP_ARG_MAX_REG): Ditto. 5919 (RETURN_ADDRESS_OFFSET): Ditto. 5920 * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO 5921 cases. 5922 (rs6000_emit_move): Add ABI_DARWIN cases. 5923 (print_operand): Ditto. 5924 (first_reg_to_save): Ditto. 5925 (rs6000_stack_info): Ditto, also align stack by 16 instead of 8. 5926 (debug_stack_info): Ditto. 5927 (rs6000_emit_prologue): Ditto. 5928 (rs6000_emit_epilogue): Ditto. 5929 (output_profiler_hook): Ditto. 5930 (output_function_profiler): Ditto. 5931 (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO. 5932 (output_mi_thunk): Add TARGET_MACHO case. 5933 (add_compiler_stub): Ditto. 5934 (output_compiler_stub): Ditto. 5935 (no_previous_def): Ditto. 5936 (output_call): Ditto. 5937 (machopic_output_stub): Ditto. 5938 (rs6000_machopic_legitimize_pic_address): Ditto. 5939 (toc_section): Ditto. 5940 * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern. 5941 (macho_high): Ditto. 5942 (macho_low): Ditto. 5943 (movsi_low): Ditto. 5944 (load_macho_picbase): Ditto. 5945 (call): Add TARGET_MACHO case to modify function. 5946 (call_value): Ditto. 5947 (call_nonlocal_sysv): Add ABI_DARWIN case. 5948 (call_value_nonlocal_sysv): Ditto. 5949 * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address): 5950 Add prototype. 5951 (machopic_output_stub): Ditto. 5952 * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_. 5953 59542001-04-11 Mark Mitchell <mark@codesourcery.com> 5955 5956 * dwarf2out.c (modified_type_die): Don't create new types here. 5957 * tree.h (get_qualified_type): New function. 5958 (build_qualified_type): Adjust comment. 5959 * tree.c (get_qualified_type): New function. 5960 (build_qualified_type): Use it. 5961 59622001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5963 5964 * cpp.texi (-Wtraditional): Update description. 5965 5966 * invoke.texi (-Wtraditional): Likewise. 5967 59682001-04-11 Jim Wilson <wilson@redhat.com> 5969 5970 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument 5971 requires more than 64 bits of alignment. 5972 59732001-04-11 Neil Booth <neil@daikokuya.demon.co.uk> 5974 5975 * cpplib.c (do_line): Sanity check iff enable checking. 5976 59772001-04-11 Richard Henderson <rth@redhat.com> 5978 5979 * Makefile.in (insn-recog.o): Depend on toplev.h. 5980 (insn-emit.o, doloop.o): Likewise. 5981 * genrecog.c, genemit.c: Include toplev.h in generated file. 5982 * doloop.c: Include toplev.h. 5983 59842001-04-11 Mark Mitchell <mark@codesourcery.com> 5985 5986 * Makefile.in (gcse.o): Depend on params.h. 5987 * gcse.c: Include params.h. 5988 (gcse_main): Don't do GCSE if doing so will take inordinate 5989 amounts of memory. 5990 * params.def (PARAM_MAX_GCSE_MEMORY): New parameter. 5991 * params.h (MAX_GCSE_MEMORY): New macro. 5992 59932001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5994 5995 * Makefile.in (insn-output.o): Depend on $(EXPR_H). 5996 5997 * genoutput.c (output_prologue): Include expr.h in insn-output.c. 5998 59992001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 6000 6001 * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined. 6002 6003 * real.h (ereal_atof, real_value_truncate, target_isnan, 6004 target_isinf, target_negative, assemble_real, debug_real): Delete 6005 redundant prototypes. 6006 6007 * Makefile.in (ifcvt.o): Depend on toplev.h. 6008 6009 * c-semantics.c: Include expr.h. 6010 6011 * ifcvt.c: Include toplev.h. 6012 6013 * expr.h (rtx_equal_p): Delete prototype. 6014 6015 * rtl.h (exact_log2_wide, floor_log2_wide, permalloc, 6016 protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble, 6017 eliminate_constant_term, expand_complex_abs, find_single_use, 6018 make_tree, init_expr_once, init_optabs, supports_one_only): 6019 Likewise. 6020 6021 * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return, 6022 rest_of_type_compilation, emit_queue, do_pending_stack_adjust, 6023 expand_assignment, store_expr, emit_line_note_after, 6024 emit_line_note_force, split_specs_attrs, label_rtx): Likewise. 6025 6026 * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype. 6027 6028 * sparc-protos.h: Delete redundant prototypes. 6029 60302001-04-11 Vladimir Makarov <vmakarov@toke.toronto.redhat.com> 6031 6032 * reload.c (push_reload): Add condition missed in SUBREG byte 6033 offset patch. 6034 6035Wed Apr 4 00:28:23 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 6036 6037 * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank. 6038 6039Wed Apr 11 14:06:10 CEST 2001 Jan Hubicka <jh@suse.cz> 6040 6041 * i386.md (floatsisf_sse): Fix output template 6042 * i386.c (ix86_expand_fp_movcc) 6043 6044 * reg-stack.c (emit_pop_insn): Handle complex modes. 6045 (move_for_stack_reg): Emit proper move mode. 6046 (subst_stack_regs_pat): Handle complex modes. 6047 60482001-04-11 Jakub Jelinek <jakub@redhat.com> 6049 6050 * cpplex.c (_cpp_lex_token): Only warn if -Wcomment. 6051 60522001-04-10 Richard Henderson <rth@redhat.com> 6053 6054 * libgcc2.h (__terminate_func_ptr): Remove typedef. 6055 (__pure_virtual, __terminate, __terminate_set_func, 6056 __default_terminate, __throw_type_match, __empty, 6057 __get_eh_context, __get_eh_info, __get_dynamic_handler_chain, 6058 __eh_rtime_match, __unwinding_cleanup, __rethrow, 6059 __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free): 6060 Remove prototypes of deleted functions. 6061 60622001-04-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 6063 6064 * c-typeck.c (convert_arguments): -Wtraditional now activates 6065 -Wconversion warnings, except for changes in signed-ness. 6066 Detect complex<->int & int<->complex conversions as well. 6067 6068 * invoke.texi (-Wtraditional): Document it. 6069 6070Tue Apr 10 17:45:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 6071 6072 * gcse.c (update_ld_motion_stores): Don't use variable I for an insn. 6073 * flow.c (set_block_for_new_insns): Remove needless cast and 6074 properly check for unset block number. 6075 60762001-04-10 Andrew MacLeod <amacleod@redhat.com> 6077 6078 * function.c (purge_single_hard_subreg_set): Only check REGNO if 6079 the subreg was a hard register. Pseudos are left as subregs. 6080 60812001-04-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 6082 6083 * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro. 6084 (LIB2ADD_ST): New macro, pass it to mklibgcc. 6085 * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST. 6086 (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a. 6087 * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro. 6088 60892001-04-09 Bo Thorsen <bo@suse.co.uk> 6090 6091 * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one. 6092 60932001-04-09 Andrew MacLeod <amacleod@redhat.com> 6094 6095 * output.h (set_block_num): Missed it earlier, remove deprecated 6096 prototype. 6097 60982001-04-09 Andrew MacLeod <amacleod@redhat.com> 6099 6100 * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p. 6101 (load_killed_in_block_p): Change bb parameter from int to basic_block. 6102 (oprs_not_set_p): Pass basic_blocks instead of ints as parameters. 6103 (handle_rd_kill_set): Change bb parameter from int to basic_block. 6104 (compute_kill_rd): Pass basic_blocks instead of ints as parameters. 6105 (expr_killed_p): Change bb parameter from int to basic_block, pass 6106 basic_blocks instead of ints as parameters. 6107 (compute_ae_kill): Pass basic_blocks instead of ints as parameters. 6108 (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter 6109 from int to basic_block, pass basic_blocks instead of ints as parms. 6110 (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb 6111 parameter from int to basic_block, pass basic_blocks instead of ints. 6112 (process_insert_insn): Pass basic_blocks instead of ints as parameters. 6113 (insert_insn_end_bb): Change bb parameter from int to basic_block, 6114 pass basic_blocks instead of ints. 6115 (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass 6116 basic_blocks instead of ints as parameters. 6117 (pre_delete): Pass basic_blocks instead of ints as parameters. 6118 (hoist_expr_reaches_here_p): Change bb parameter from int to 6119 basic_block, pass basic_blocks instead of ints. 6120 (hoist_code): Pass basic_blocks instead of ints as parameters. 6121 (reg_set_info, store_ops_ok, store_killed_after, store_killed_before): 6122 Change bb parameter from int to basic_block. 6123 (build_store_vectors): Pass basic_blocks instead of ints as parameters. 6124 (insert_insn_start_bb): Change bb parameter from int to basic_block, 6125 pass basic_blocks instead of ints. 6126 (insert_store): Pass basic_blocks instead of ints as parameters. 6127 (replace_store_insn, delete_store): Change bb parameter from int to 6128 basic_block, pass basic_blocks instead of ints. 6129 (store_motion): Pass basic_blocks instead of ints as parameters. 6130 61312001-04-09 Andrew MacLeod <amacleod@redhat.com> 6132 6133 * basic-block.h (set_new_block_for_insns): New Prototype. 6134 (set_block_num): Delete prototype. 6135 * flow.c (set_block_num): Remove obsolete function. 6136 (set_block_for_new_insns): Set BB for single or multiple insns. 6137 * gcse.c (handle_avail_expr): Use set_block_for_new_insns. 6138 (process_insn_end_bb): Use set_block_for_new_insns or 6139 set_block_for_insn instead of set_block_num. 6140 (pre_insert_copy_insn): Use set_block_for_new_insns. 6141 (update_ld_motion_stores): Use set_block_for_new_insns. 6142 (insert_insn_start_bb): Use set_block_for_new_insns. 6143 (replace_store_insn): Use set_block_for_new_insns. 6144 61452001-04-09 Andrew MacLeod <amacleod@redhat.com> 6146 Jeff Law <law@redhat.com> 6147 6148 * alias.c (get_addr): Externalize. 6149 (canon_true_dependence): New function. Behaves like true_dependance 6150 except it already assumes a MEM has been canonicalized. 6151 * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags. 6152 * gcse.c (struct ls_expr): Add load/store expressions structure. 6153 (modify_mem_list, canon_modify_mem_list): New variable. 6154 (gcse_main): Initialize & finalize alias analysis. Use enhanced 6155 load motion and store motion if requested. 6156 (alloc_gcse_mem): Allocate space for modify_mem_list array. 6157 (free_gcse_mem): Free the modify_mem_list array. 6158 (oprs_unchanged_p): Use load_killed_in_block_p. 6159 (gcse_mems_conflict_p, gcse_mem_operand): New variables. 6160 (mems_conflict_for_gcse_p): New function. Don't kill loads 6161 with stores to themselves if its in the load/store expression list. 6162 (load_killed_in_block_p): New function. 6163 (canon_list_insert): New Function. 6164 (record_last_mem_set_info): Keep a list of all instructions which 6165 can modify memory for each basic block. 6166 (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list. 6167 (oprs_not_set_p): Use load_killed_in_block_p. 6168 (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info. 6169 (expr_killed_p): Use load_killed_in_block_p. 6170 (compute_transp): Do not pessimize memory references. 6171 (pre_edge_insert): Update stores for a load motion expression. 6172 (one_pre_gcse_pass): Check loads/stores for extra load motion. 6173 (ldst_entry): Find or create a ldst_expr structure. 6174 (free_ldst_entry): Free memory for an individual item. 6175 (free_ldst_mems): Free entire load/store expression list. 6176 (print_ldst_list): Print debug info. 6177 (find_rtx_in_ldst): Try to find an rtx expression in the ldst list. 6178 (enumerate_ldsts): Assign integer values to each entry in list. 6179 (first_ls_expr): First expression in the list. 6180 (next_ls_expr): Next expression in the list. 6181 (simple_mem): Check if expression qualifies for ld/st expression list. 6182 (invalidate_any_buried_refs): Remove from expression list if its 6183 used in some other way we don't understand. 6184 (compute_ld_motion_mems): Find all potential enhanced load motion 6185 expression. 6186 (trim_ld_motion_mems): Remove any expressions which are invalid. 6187 (update_ld_motion_stores): Copy store values to registers for loads 6188 which have been moved. 6189 (regvec, st_antloc, num_store): New global statics. 6190 (reg_set_info): Marks registers as set. 6191 (store_ops_ok): Verfies registers expressions are valid in a block. 6192 (find_moveable_store): Look for moveable stores in a pattern. 6193 (compute_store_table): Find stores in a function worth moving, maybe. 6194 (load_kills_store): Check dependence of a load and store. 6195 (find_loads): Find any loads in a pattern. 6196 (store_killed_in_insn): Check if a store is killed in an insn. 6197 (store_killed_after): Check is store killed after an insn in a block. 6198 (store_killed_before): Check is store killed before an insn in a block. 6199 (build_store_vectors): Generate the antic and avail vectors. 6200 (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD. 6201 (insert_store): Add a store to an edge. 6202 (replace_store_insn): Replace a store with a SET insn. 6203 (delete_store): Delete a store insn. 6204 (free_store_memory): Free memory. 6205 (store_motion): Perform store motion. 6206 * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm. 6207 * rtl.h (get_addr, canon_true_dependence): Add prototypes. 6208 * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables. 6209 (f_options): Add gcse-lm and gcse-sm. 6210 6211Mon Apr 9 16:18:03 CEST 2001 Jan Hubicka <jh@suse.cz> 6212 6213 * i386.c (expand_fp_movcc): Fix condition reversal code. 6214 6215 * i386.c (ix86_register_move_cost): Fix handling of reformating penalty 6216 * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New. 6217 (CLASS_MAX_NREGS): Use it. 6218 6219 * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit; 6220 handle properly complex values. 6221 (CLASS_MAX_NREGS): Likewise; update comment. 6222 62232001-04-05 Bernd Schmidt <bernds@redhat.com> 6224 6225 * ia64.c (ia64_flag_schedule_insns2): New variable. 6226 (ia64_override_options): Initialize it. Clear 6227 flag_schedule_insns_after_reload. 6228 (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2. 6229 6230Mon Apr 9 15:09:13 CEST 2001 Jan Hubicka <jh@suse.cz> 6231 6232 * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives; 6233 Do not require source to match destination anymore; 6234 Add abort to the nontrivial cases that should be handled by split. 6235 (fix_trunc?fdi): Add SSE case for x86_64. 6236 (floatdi?f): Likewise. 6237 (floatdi?f_sse): New. 6238 (fix_trunc?fdi_sse): New. 6239 62402001-04-09 Richard Sandiford <rsandifo@redhat.com> 6241 6242 * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label. 6243 (DEBUG_ARANGES_END_LABEL): Ditto. 6244 (dwarfout_init): Generate length and version fields at the start 6245 of the .debug_aranges info. Insert DEBUG_ARANGES_BEGIN_LABEL 6246 after the length field. 6247 (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of 6248 the .debug_aranges info. 6249 6250Sun Apr 8 00:43:27 CEST 2001 Jan Hubicka <jh@suse.cz> 6251 6252 * i386.c (call, call_value): Make sure that resulting call_insn 6253 does have proper second operand. 6254 6255Sun Apr 8 22:50:49 2001 Christopher Faylor <cgf@cygnus.com> 6256 6257 * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete 6258 function. Remove include of sys/cygwin.h. 6259 6260Sun Apr 8 22:20:27 2001 Christopher Faylor <cgf@cygnus.com> 6261 6262 * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default. 6263 (CPP_SPEC): Always search */include/w32api for header files. 6264 (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL. 6265 (LINK_SPEC): Add "cyg" to the library search prefixes. 6266 62672001-04-08 Philip Blundell <philb@gnu.org> 6268 6269 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf. 6270 62712001-04-08 Neil Booth <neil@daikokuya.demon.co.uk> 6272 6273 * cpperror.c (print_location): Don't special case <stdin>. 6274 (_cpp_begin_message): Handle WARNING_SYSHDR the same as 6275 WARNING, but we don't check if we're in system headers. 6276 * cpplib.h (enum error_type): WARNING_SYSHDR: New. 6277 * cpplib.c (do_warning): Warn in system headers. 6278 62792001-04-07 Mumit Khan <khan@NanoTech.Wisc.EDU> 6280 6281 * mbchar.c: Include config.h first. 6282 62832001-04-07 Zack Weinberg <zackw@stanford.edu> 6284 6285 * config.gcc: Set default for xmake_file at top, not bottom. 6286 Change places that set xmake_file to "none" to set to the 6287 empty string instead, or remove them entirely if there is no 6288 default xmake_file for this cpu_type. Remove references to 6289 deleted files. 6290 6291 * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi, 6292 config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000, 6293 config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3, 6294 config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix, 6295 config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds, 6296 config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas, 6297 config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1, 6298 config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach, 6299 config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx, 6300 config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4: 6301 Delete. 6302 6303 * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf, 6304 config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3, 6305 config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony, 6306 config/mips/x-sysv, config/rs6000/x-aix31: 6307 Just set CLIB to -lld or -lmld, as appropriate. 6308 6309 * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux, 6310 config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320, 6311 config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux, 6312 config/mips/x-iris, config/pa/x-pa: 6313 Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO, 6314 OTHER_FIXINCLUDES_DIRS. 6315 6316 * config/i386/x-djgpp: Don't set LN or LN_S. 6317 * config/m88k/x-dolph: Don't define __m88k__. 6318 * config/m88k/x-tekXD88: Don't set AR_FLAGS. 6319 * config/pa/x-pa-mpeix: Just set up quadlib.asm. 6320 * config/i860/fx2800.h: No need to #undef SVR4. 6321 6322 38 x-host fragments remain, 2 x-cpu. 6323 63242001-04-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 6325 6326 * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4. 6327 63282001-04-06 Neil Booth <neil@daikokuya.demon.co.uk> 6329 6330 * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>. 6331 63322001-04-06 Neil Booth <neil@daikokuya.demon.co.uk> 6333 6334 * configure.in: Add check for lstat. 6335 * configure, config.in: Regenerate. 6336 * cppinit.c (append_include_chain): Make empty path ".". 6337 * cpplib.c (do_line): Don't simplify #line paths. 6338 * cppfiles.c (remove_component_p): New function. 6339 (find_or_create_entry): Acknowledge stat () errors during 6340 path simplification. 6341 (handle_missing_header): Don't simplify paths. 6342 (_cpp_simplify_pathname): Don't simplify VMS paths. Return 6343 the empty path untouched. Don't leave a trailing '/'. 6344 63452001-04-06 Benjamin Kosnik <bkoz@redhat.com> 6346 6347 * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add. 6348 * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add. 6349 63502001-04-06 Neil Booth <neil@daikokuya.demon.co.uk> 6351 6352 * cppfiles.c (open_file): Fail directories silently, but 6353 with an errno of NOENT set. 6354 (read_include_file): Move the common exit code to the sole 6355 caller. Return an int indicating success or failure. Let 6356 open_file handle directories. 6357 (stack_include_file): If read_include_file fails, 6358 push a "null" buffer. 6359 63602001-04-05 DJ Delorie <dj@redhat.com> 6361 6362 * function.h (virtuals_instantiated): Declare. 6363 * function.c: (virtuals_instantiated): Make global. 6364 * calls.c (emit_library_call_value_1): Use 6365 virtual_outgoing_args_rtx only if it hasn't been instantiated. 6366 Otherwise, use the stack pointer directly. 6367 6368Thu Apr 5 19:13:33 CEST 2001 Jan Hubicka <jh@suse.cz> 6369 6370 * i386.c (x86_initialize_trampoline): New global function. 6371 * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64. 6372 (INITIALIZE_TRAMPOLINE): Move offline. 6373 * i386-protos.h (x86_initialize_trampoline): Declare. 6374 6375Thu Apr 5 19:02:15 CEST 2001 Jan Hubicka <jh@suse.cz> 6376 6377 * i386.md (movdi_1_rex64): Allow SSE->SSE reg move. 6378 (lea_0): Rename to lea_1. 6379 (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns. 6380 (lea_general_?): Allow SImodes on TARGET_64BIT 6381 (lea_general_?_zext): New patterns. 6382 (call_1, call_1_rex64): Fix. 6383 6384Thu Apr 5 19:00:15 CEST 2001 Jan Hubicka <jh@suse.cz> 6385 6386 * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address. 6387 6388Thu Apr 5 18:25:56 CEST 2001 Jan Hubicka <jh@suse.cz> 6389 6390 * i386.c (function_arg): Return constm1_rtx for last argument. 6391 (ix86_expand_prologue): Update gen_call calls. 6392 * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise. 6393 * i386.md (call_pop): Likewise. 6394 (call): Second operand is VOIDmode. 6395 (call_0): Likewise; Support 64bits. 6396 (call_exp): New expander. 6397 (call_1): Get to the sync. 6398 (call_1_exp): New pattern. 6399 (call_value): Support 64bit. 6400 (call_value_exp): New pattern. 6401 (untyped_call): Update gen_call call. 6402 (call_value_pop): Disable for 64bit. 6403 (call_value_0_rex64): New pattern. 6404 (call_value_1_rex64): Likewise. 6405 64062001-04-05 Bo Thorsen <bo@suse.de> 6407 6408 * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT. 6409 6410Thu Apr 5 13:44:17 2001 J"orn Rennecke <amylaar@redhat.com> 6411 6412 * i386.md (*andsi_1+3): If used after reload, make sure the operand 6413 satisfies ANY_QI_REG_P. 6414 64152001-04-05 Bernd Schmidt <bernds@redhat.com> 6416 6417 * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain 6418 ASM_OPERAND. 6419 6420 * sched-deps.c (sched_analyze_insn): Revert more of the March 27 6421 change. 6422 64232001-04-04 Zack Weinberg <zackw@stanford.edu> 6424 6425 * config.gcc: Remove default for xm_file. Clean up local 6426 machine type handling. Remove settings of xm_file to 6427 something that doesn't exist. In the big switch, set xm_file, 6428 don't append to it (the value before the big switch is always 6429 null). Don't force build_xm_file or host_xm_file to have a value. 6430 * configure.in: Remove default for xm_file. Do not special 6431 case $cpu/xm-$cpu.h not existing. 6432 * configure: Regenerate. 6433 64342001-04-04 Diego Novillo <dnovillo@redhat.com> 6435 6436 * simplify-rtx.c (simplify_binary_operation): Check for overflow 6437 when folding integer division and modulo operations. 6438 64392001-04-04 Andrew MacLeod <amacleod@redhat.com> 6440 6441 * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE 6442 instead of DWARF2_ADDR_SIZE for EH addresses. 6443 (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for 6444 EH addresses. 6445 64462001-04-04 Richard Henderson <rth@redhat.com> 6447 6448 * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable. 6449 * config/ia64/t-glibc (LIB2ADDEH): Disable. 6450 * config/ia64/t-ia64 (LIB2ADDEH): Disable. 6451 64522001-04-04 Richard Henderson <rth@redhat.com> 6453 6454 * configure.in (gcc_cv_as_leb128): Escape "." in regexp. 6455 * configure: Rebuilt. 6456 64572001-04-04 Jakub Jelinek <jakub@redhat.com> 6458 6459 * gcse.c (delete_null_pointer_checks_1): Add delete_list argument, 6460 push insns to delete to it instead of deleting them. 6461 (delete_null_pointer_checks): Delete insns from delete_list after 6462 all delete_null_pointer_checks_1 passes are done. 6463 64642001-04-04 Richard Henderson <rth@redhat.com> 6465 6466 * configure.in (gcc_cv_as_leb128): Tweek minor number extraction. 6467 * configure: Rebuilt. 6468 64692001-04-04 Zack Weinberg <zackw@stanford.edu> 6470 6471 * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic. 6472 * config/romp/xm-romp.h: Delete. 6473 64742001-04-04 Bernd Schmidt <bernds@redhat.com> 6475 6476 * sched-deps.c (sched_analyze_insn): Partially revert March 27 6477 change. 6478 64792001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 6480 6481 * emit-rtl.c (mark_label_nuses) Increment the label uses for 6482 all labels present in rtx. 6483 (try_split) Call new function for all split insns. 6484 64852001-04-04 Jakub Jelinek <jakub@redhat.com> 6486 6487 * recog.c (validate_replace_rtx_1): Instead of aborting just make 6488 sure the change won't be validated. 6489 6490Wed Apr 4 00:45:38 EDT 2001 John Wehle (john@feith.com) 6491 6492 * rtl.h (set_noop_p): Declare. 6493 * flow.c (set_noop_p): Move from here ... 6494 * rtlanal.c (set_noop_p): ... to here and enhance. 6495 * cse.c (delete_trivially_dead_insns): Use it. 6496 * gcse.c (hash_scan_set): Likewise. 6497 * jump.c (delete_noop_moves): Likewise. 6498 * recog.c (split_all_insns): Likewise. 6499 65002001-04-04 Alan Modra <alan@linuxcare.com.au> 6501 6502 * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting 6503 stack pointer via a LO_SUM. Ditto for setting a temp register 6504 used to save to the stack. Set cfa_temp when setting fp, and 6505 allow matches to cfa_temp in addition to cfa_store when saving 6506 regs. Handle POST_INC and LO_SUM register stores. Document the 6507 changes and errors in rule 12 doco. 6508 6509 * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn. 6510 (actual_fsize, local_fsize, save_fregs): Move for store_reg to see. 6511 (load_reg): Move closer to epilogue code. 6512 (DO_FRAME_NOTES): Define to control the following.. 6513 (FRP): Define to set RTX_FRAME_RELATED_P on insns. 6514 (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR 6515 notes as necessary. 6516 (hppa_expand_epilogue): Likewise. 6517 65182001-04-03 Richard Henderson <rth@redhat.com> 6519 6520 * configure.in (gcc_cv_as_leb128): Reject gas before 2.11. 6521 * configure: Rebuild. 6522 65232001-04-03 Richard Henderson <rth@redhat.com> 6524 6525 * rtl.h (LCT_THROW): New. 6526 * calls.c (emit_library_call_value_1): Handle it. 6527 * except.c (connect_post_landing_pads): Use it. 6528 65292001-04-03 Zack Weinberg <zackw@stanford.edu> 6530 6531 * gansidecl.h: Delete file. 6532 * configure.in: Change all refs to gansidecl.h to use 6533 ansidecl.h. Adjust *_file_list so they know where ansidecl.h 6534 lives. 6535 * configure: Regenerate. 6536 6537 * Makefile.in (intl.o): Don't depend on gansidecl.h. 6538 * defaults.h: s/gansidecl.h/ansidecl.h/ in comment. 6539 * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c: 6540 Don't include gansidecl.h. 6541 * intl.c, main.c, version.c, fixinc/fixlib.h, 6542 fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not 6543 gansidecl.h. 6544 6545Tue Apr 3 19:41:21 CEST 2001 Jan Hubicka <jh@suse.cz> 6546 6547 * i386.c (ix86_force_to_memory, ix86_free_from_memory): 6548 Update for 64bit. 6549 65502001-04-03 Zack Weinberg <zackw@stanford.edu> 6551 6552 * config/i386/xm-beos.h, config/i386/xm-isc.h, 6553 config/i386/xm-next.h, config/i386/xm-sco.h, 6554 config/i386/xm-sco5.h, config/m68k/xm-plexus.h, 6555 config/m88k/xm-m88k.h: Delete. 6556 6557 * config/i386/xm-djgpp.h: Don't define __MSDOS__. 6558 * config/romp/xm-romp.h: Don't define bcopy. 6559 * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF, 6560 HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA. 6561 6562 * config.gcc: Remove references to deleted files. 6563 6564 14 xm-host.h remain, 1 xm-cpu.h. 6565 65662001-04-03 Jakub Jelinek <jakub@redhat.com> 6567 David S. Miller <davem@pierdol.cobaltmicro.com> 6568 Andrew MacLeod <amacleod@redhat.com> 6569 6570 Use byte offsets in SUBREGs instead of words. 6571 6572 * alias.c (nonlocal_mentioned_p): Use subreg_regno function. 6573 * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno 6574 to pass new argument. 6575 (add_stored_regs): Use subreg_regno_offset function. 6576 * calls.c (expand_call): For non-paradoxical SUBREG take endianess 6577 into account. 6578 (precompute_arguments): Use gen_lowpart_SUBREG. 6579 * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG. 6580 (combine_simplify_rtx): Rework to use SUBREG_BYTE. 6581 (simplify_set): Rework to use SUBREG_BYTE. 6582 (expand_field_assignment): Use SUBREG_BYTE. 6583 (make_extraction): Use SUBREG_BYTE. 6584 (if_then_else_cond): Use SUBREG_BYTE. 6585 (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments. 6586 (gen_lowpart_for_combine): Compute full byte offset. 6587 * cse.c (mention_regs): Use SUBREG_BYTE. 6588 (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE. 6589 (canon_hash): Use SUBREG_BYTE. 6590 (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword. 6591 (gen_lowpart_if_possible): Formatting. 6592 * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos 6593 correctly. 6594 * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG 6595 (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG 6596 (loc_descriptor): Fixup explicit XEXP into SUBREG_REG 6597 * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG 6598 (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG 6599 (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG 6600 * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify 6601 certain invariants about SUBREGs the compiler creates. 6602 (gen_lowpart_SUBREG): New function. 6603 (subreg_hard_regno): New function to get the final register number. 6604 (gen_lowpart_common): Use SUBREG_BYTE. 6605 (gen_imagpart): Spacing nits. 6606 (subreg_realpart_p): Use SUBREG_BYTE. 6607 (gen_highpart): Use SUBREG_BYTE. 6608 (subreg_lowpart_p): Always compute endian corrected goal offset, 6609 even at the byte level, then compare against that. 6610 (constant_subword): New function, pulled out all constant cases 6611 from operand_subword and changed second argument name to offset. 6612 (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early 6613 and call constant_subword to do the work. Return const0_rtx if 6614 looking for a word outside of OP. 6615 (operand_subword_force): Change second arg name to offset. 6616 * expmed.c (store_bit_field): Use SUBREG_BYTE. 6617 (store_split_bit_field): Use SUBREG_BYTE. 6618 (extract_bit_field): Use SUBREG_BYTE. 6619 (extract_split_bit_field): Use SUBREG_BYTE. 6620 (expand_shift): Use SUBREG_BYTE. 6621 * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG. 6622 * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE. 6623 * flow.c (set_noop_p): Use SUBREG_BYTE. 6624 (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead. 6625 * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG. 6626 (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian 6627 correction code. 6628 (optimize_bit_field): Use SUBREG_BYTE. 6629 (purge_addressof_1): Use SUBREG_BYTE. 6630 (purge_single_hard_subreg_set): Use subreg_regno_offset function. 6631 (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are 6632 actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true. 6633 * gengenrtl.c (special_rtx): Add SUBREG. 6634 * global.c (mark_reg_store): Use SUBREG_BYTE. 6635 (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE. 6636 * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE. 6637 * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure 6638 final byte offset is congruent to subreg's mode size. 6639 (subst_constants): Use SUBREG_BYTE. 6640 (mark_stores): Use subreg_regno_offset function. 6641 * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset 6642 function and SUBREG_BYTE. 6643 * local-alloc.c (combine_regs): Use subreg_regno_offset function. 6644 (reg_is_born): Use subreg_hard_regno. 6645 * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte 6646 endian correction code. Don't combine subregs unless resulting 6647 offset aligns with type. Fix subreg constant extraction for DImode. 6648 Simplify SUBREG of VOIDmode CONST_DOUBLE. 6649 (general_operand): Remove dead mode_altering_drug code. 6650 (indirect_operand): Use SUBREG_BYTE. 6651 (constrain_operands): Use subreg_regno_offset function. 6652 * reg-stack.c (get_true_reg): Use subreg_regno_offset function. 6653 * regmove.c (regmove_optimize): Use SUBREG_BYTE. 6654 (optimize_reg_copy_3): Use gen_lowpart_SUBREG. 6655 * regs.h (REG_SIZE): Allow target to override. 6656 (REGMODE_NATURAL_SIZE): New macro which target can override. 6657 * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used 6658 on the entire subreg rtx. 6659 (push_reload): Use SUBREG_BYTE in comments and code. 6660 (find_dummy_reload): Use subreg_regno_offset. Only adjust offsets 6661 for hard registers inside subregs. 6662 (operands_match_p): Use subreg_regno_offset. 6663 (find_reloads): Use SUBREG_BYTE and only advance offset for subregs 6664 containing hard regs. 6665 (find_reload_toplev): Use SUBREG_BYTE. Remove byte endian 6666 corrections when fixing up MEM subregs. 6667 (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and 6668 subreg_regno_offset where appropriate. 6669 (find_reloads_subreg_address): Use SUBREG_BYTE. Remove 6670 byte endian corrections when fixing up MEM subregs. 6671 (subst_reloads): When combining two subregs, make sure final 6672 offset is congruent to subreg's mode size. 6673 (find_replacement): Use SUBREG_BYTE and subreg_regno_offset. 6674 (refers_to_regno_for_reload_p): Use subreg_regno. 6675 (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset. 6676 * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian 6677 correction code for memory subreg fixups. 6678 (forget_old_reload_1): Use subreg_regno_offset. 6679 (choose_reload_regs): Use subreg_regno. 6680 (emit_input_reload_insns): Use SUBREG_BYTE. 6681 (reload_combine_note_store): Use subreg_regno_offset. 6682 (move2add_note_store): Use subreg_regno_offset. 6683 * resource.c (update_live_status, mark_referenced_resources): Use 6684 subreg_regno function. 6685 (mark_set_resources): Use subreg_regno function. 6686 * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE. 6687 (subreg_regno_offset, subreg_regno): Define prototypes. 6688 (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions. 6689 (gen_lowpart_SUBREG): Add prototype. 6690 * rtl.texi (subreg): Update to reflect new byte offset representation. 6691 Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now. 6692 * rtlanal.c (refers_to_regno_p): Use subreg_regno. 6693 (reg_overlap_mentioned_p): Use subreg_regno. 6694 (replace_regs); Make sure final offset of combined subreg is 6695 congruent to size of subreg's mode. 6696 (subreg_regno_offset): New function. 6697 (subreg_regno): New function. 6698 * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE. 6699 * sdbout.c (sdbout_symbol): Compute offset using alter_subreg. 6700 * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG. 6701 * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead. 6702 (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides. 6703 * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno. 6704 (a29k_get_reloaded_address): Use SUBREG_BYTE. 6705 (print_operand): Use SUBREG_BYTE. 6706 * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE. 6707 * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE. 6708 (arm_reload_out_hi): Use SUBREG_BYTE. 6709 * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset 6710 instead of SUBREG_WORD. 6711 (d30v_print_operand_memory_reference): Use subreg_regno_offset. 6712 * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix 6713 SUBREG creation to use byte offset. 6714 * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit 6715 inverted load insns): Fix explicit rtl subregs to use byte 6716 offsets. 6717 * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3, 6718 udivsi3, umodsi3): Generate SUBREGs with byte offsets. 6719 * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE. 6720 * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl 6721 to use byte offsets. 6722 (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets. 6723 * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte 6724 offsets, also make sure it is congruent to SUBREG's mode size. 6725 (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2, 6726 unnamed ldob insn): Generate SUBREGs with byte offset. 6727 (zero_extendqihi2): SUBREG's are byte offsets. 6728 * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE. 6729 (m68hc11_gen_highpart): Use SUBREG_BYTE. 6730 * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2, 6731 zero-extendqisi2): Generate SUBREGs with byte offset. 6732 (umulsidi3, mulsidi3, subreghi1ashrdi_const32, 6733 subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit 6734 subregs in rtl to use byte offsets. 6735 * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset. 6736 * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset. 6737 (mips_move_2words): Use subreg_regno_offset. 6738 (mips_secondary_reload_class): Use subreg_regno_offset. 6739 * config/mips/mips.md (DImode plus, minus, move, and logical op 6740 splits): Fixup explicit subregs in rtl to use byte offsets. 6741 * config/mn10200/mn10200.c (print_operand): Use subreg_regno function. 6742 * config/mn10300/mn10300.c (print_operand): Use subreg_regno function. 6743 * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in 6744 rtl to use byte offsets. 6745 * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE. 6746 * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit 6747 subregs to use byte offsets. 6748 * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1): 6749 Fixup explicit subregs in rtl to use byte offsets. 6750 * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE 6751 and remove byte endian correction code. 6752 * config/sh/sh.c (output_movedouble): Use subreg_regno. 6753 (gen_ashift_hi): Use SUBREG_BYTE. 6754 (regs_used): Use subreg_regno_offset. 6755 (machine_dependent_reorg): Use subreg_regno_offset. 6756 * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE. 6757 * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno. 6758 (movdf_i4): Subregs are byte offsets now. 6759 * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE. 6760 * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed. 6761 (REGMODE_NATURAL_SIZE): Override. 6762 (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode. 6763 * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs 6764 with byte offsets. 6765 (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2, 6766 extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn, 6767 extendqidi2): Generate SUBREGs with byte offsets, also make sure 6768 it is congruent to SUBREG's mode size. 6769 (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte 6770 offsets. 6771 (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc, 6772 cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2, 6773 lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper 6774 SUBREG_BYTE offset for non-paradoxical subregs in patterns. 6775 * config/v850/v850.c (print_operand, output_move_double): Use 6776 subreg_regno function. 6777 67782001-04-03 Alexandre Oliva <aoliva@redhat.com> 6779 6780 * configure.in (target_subdir): Use target_alias, not target. 6781 * configure: Rebuilt. 6782 6783 * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the 6784 other way round. 6785 * config/sh/crti.asm: Fix typos in comments. 6786 67872001-04-03 Alan Modra <alan@linuxcare.com.au> 6788 6789 * pa.h: Revise comments for TARGET_NO_SPACE_REGS and 6790 TARGET_FAST_INDIRECT_CALLS. 6791 * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with 6792 -fPIC. Don't warn. 6793 (return_addr_rtx): Short circuit export stub matching when 6794 TARGET_NO_SPACE_REGS. 6795 (output_millicode_call): For out of range calls, make -fPIC 6796 take precedence, then TARGET_PORTABLE_RUNTIME, then ble. Don't 6797 return before delay slot checks when TARGET_PORTABLE_RUNTIME. 6798 * pa.md: Modify length attr calculation of all millicode insns to 6799 match above. 6800 68012001-04-02 Geoffrey Keating <geoffk@redhat.com> 6802 6803 * configure.in (gcc_cv_as_leb128): Correct name of cache variable. 6804 Require at least 2.11 in the version test. Specifically check 6805 for and reject GAS version 2.10.90. 6806 * configure: regenerate. 6807 68082001-04-03 Alan Modra <alan@linuxcare.com.au> 6809 6810 * pa.c (override_options): Remove PIC profiling warning. 6811 (hp_profile_labelno): Delete. 6812 (hp_profile_label_rtx): Delete. 6813 (hp_profile_label_name): Delete. 6814 (pa_add_gc_roots): Remove reference to hp_profile_label_rtx. 6815 (output_function_prologue): Remove profiling code and all tests on 6816 profile_flag. Move store of PIC_OFFSET_TABLE_REGNUM now that 6817 merge_sp_adjust_with_store can work for PIC and profiling. 6818 (hppa_expand_epilogue): Remove profile_flag test. 6819 (hppa_can_use_return_insn_p): Likewise. 6820 (hppa_init_pic_save): Emit before tail_recursion_reentry, and 6821 cater for PROFILE_HOOK. 6822 (hppa_profile_hook): New function. 6823 * pa.h (FUNCTION_PROFILER): Now does nothing. 6824 (PROFILE_HOOK): Define. 6825 (hppa_profile_hook): Declare. 6826 (PROFILE_BEFORE_PROLOGUE): Delete. 6827 (ASM_OUTPUT_REG_PUSH): Delete. 6828 (ASM_OUTPUT_REG_POP): Delete. 6829 * pa.md (call_profiler): Turn it into a call insn, and don't `use' 6830 r24. Accept function name operand, and use this and a locally 6831 generated label to calculate pc-rel offset to func start. 6832 68332001-04-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 6834 6835 * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o, 6836 ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on 6837 $(SYSTEM_H). 6838 68392001-04-03 Alan Modra <alan@linuxcare.com.au> 6840 6841 * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and 6842 LO_SUM cases to where they belong. 6843 68442001-04-02 Richard Henderson <rth@redhat.com> 6845 6846 * except.h (lang_eh_type_covers): Mark extern. 6847 (lang_eh_runtime_type): Likewise. 6848 68492001-04-02 Zack Weinberg <zackw@stanford.edu> 6850 6851 * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c, 6852 gengenrtl.c: Wrap generated header in multiple-include guard. 6853 Improve error checking. 6854 68552001-04-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 6856 6857 * configure.in: Don't check for putenv. 6858 * configure: Regenerate. 6859 * gcc.c (putenv): Don't define. 6860 * vax/xm-vms.h: Handle putenv. 6861 68622001-04-02 Jakub Jelinek <jakub@redhat.com> 6863 6864 * ifcvt.c (noce_emit_move_insn): New. 6865 (noce_try_store_flag, noce_try_store_flag_constants, 6866 noce_try_store_flag_inc, noce_try_store_flag_mask, 6867 noce_try_cmove, noce_try_cmove_arith, noce_try_minmax, 6868 noce_try_abs): Use it. 6869 (noce_process_if_block): Likewise. 6870 For STRICT_LOW_PART, take mode from its SUBREG. 6871 68722001-04-02 Jakub Jelinek <jakub@redhat.com> 6873 6874 * fold-const.c (fold): Before optimizing unsigned comparison with 6875 0x7fffffffU, make sure arg0 is integral type. 6876 68772001-04-02 Joseph S. Myers <jsm28@cam.ac.uk> 6878 6879 * c-tree.texi: Document representation of wide strings. 6880 68812001-04-01 Richard Henderson <rth@redhat.com> 6882 6883 * except.h (expand_builtin_dwarf_fp_regnum): Declare. 6884 6885Sun Apr 1 11:49:05 CEST 2001 Jan Hubicka <jH@suse.cz> 6886 6887 * i386.md: remove obsoleted comments. 6888 (adddi_?): Rename to adddi_?_rex64; disable for 32bit. 6889 (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64; 6890 fix output template. 6891 68922001-03-31 Marek Michalkiewicz <marekm@linux.org.pl> 6893 6894 * config/avr/libgcc.S (__mulhi3): Optimize previous change. 6895 68962001-03-30 Bernd Schmidt <bernds@redhat.com> 6897 6898 * loop.c (load_mems): When generating a load from a pseudo, update 6899 REGNO_LAST_UID. 6900 6901Fri Mar 30 17:36:43 CEST 2001 Jan Hubicka <jh@suse.cz> 6902 6903 * i386.c (ix86_split_long_move): Use change address to compensate 6904 stack pointer change in push instruction. 6905 6906Fri Mar 30 00:31:00 CEST 2001 Jan Hubicka <jh@suse.cz> 6907 6908 * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p 6909 instead of rtx_equal_p; fix the output template. 6910 6911Fri Mar 30 00:21:41 CEST 2001 Jan Hubicka <jh@suse.cz> 6912 6913 * i386.c (ix86_expand_setcc): Support 64bit. 6914 (ix86_expand_int_movcc): Likewise. 6915 * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64): 6916 New patterns. 6917 6918 * i386.md (allocate_stack_worker): Turn to expander. 6919 (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns. 6920 6921 * i386.c (print_reg): Do not print x86_64 style regs on IA-32 6922 69232001-03-29 Richard Henderson <rth@redhat.com> 6924 6925 * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h. 6926 69272001-03-28 Matthew Hiller <hiller@redhat.com> 6928 6929 * config/mn10300/mn10300.md (cmpsi): Fix first alternative's 6930 output template. 6931 6932 * MAINTAINERS: Added self. 6933 69342001-03-28 Richard Henderson <rth@redhat.com> 6935 6936 * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H. 6937 Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection. 6938 69392001-03-28 Jim Wilson <wilson@redhat.com> 6940 6941 * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to 6942 operand_subword. 6943 69442001-03-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 6945 6946 * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN. 6947 6948 * tradcif.y (yyerror): Likewise. Add format specifier in call to 6949 `error'. 6950 6951 * tradcpp.c (macroexpand): Likewise for call to `error_with_line'. 6952 69532001-03-28 DJ Delorie <dj@redhat.com> 6954 6955 * Makefile.in (stage1_build): Revert CFLAGS patch. 6956 69572001-03-28 Marek Michalkiewicz <marekm@linux.org.pl> 6958 6959 * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop 6960 when multiplier or multiplicand is zero. 6961 69622001-03-28 Bernd Schmidt <bernds@redhat.com> 6963 6964 * cselib.c (hash_rtx): Don't do tail recursion elimination by hand. 6965 6966 * config/ia64/ia64.c (update_set_flags): New function, broken out of 6967 rtx_needs_barrier. 6968 (set_src_needs_barrier): Likewise. 6969 (rtx_needs_barrier): For SET case, use these two functions. Rework 6970 PARALLEL case to handle all inputs before all outputs. 6971 (emit_insn_group_barriers): Call init_insn_group_barriers only if we 6972 saw a label and no stop bit since then. 6973 (maybe_rotate, process_epilogue): Add prototypes. 6974 69752001-03-28 Richard Henderson <rth@redhat.com> 6976 6977 * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX, 6978 not TARGET_TOC for special toc restore handling. 6979 * config/rs6000/rs6000.md (eh_return): Likewise. 6980 69812001-03-28 Richard Henderson <rth@redhat.com> 6982 6983 * config/sparc/sparc.c (eligible_for_epilogue_delay): False if 6984 current_function_calls_eh_return. 6985 (output_function_epilogue): Handle eh_return. 6986 * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove. 6987 (EH_RETURN_DATA_REGNO): New. 6988 (EH_RETURN_STACKADJ_RTX): New. 6989 (EH_RETURN_HANDLER_RTX): New. 6990 * config/sparc/sparc.md (call/short branch peepholes): Check 6991 can_throw_internal instead of in_same_eh_region. 6992 6993 * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space 6994 for eh_return data registers. 6995 (rs6000_emit_prologue): Save eh_return data registers. 6996 (rs6000_emit_epilogue): Force inline restores if eh_return. 6997 Restore eh_return data registers. Mind EH_RETURN_STACKADJ_RTX. 6998 * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset. 6999 (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New. 7000 (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and 7001 the target uses one. 7002 * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove. 7003 (return_eh_si, return_eh_di): Remove. 7004 (eh_return): New, from corpse of eh_epilogue. 7005 (eh_set_lr_si, eh_set_lr_di): New. 7006 7007 * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs. 7008 (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs. 7009 True for pic register if current_function_calls_eh_return. 7010 (ix86_expand_epilogue): Change "emit_return" argument into "style". 7011 Handle eh_return requirements. 7012 * config/i386/i386.h (EH_RETURN_DATA_REGNO): New. 7013 (EH_RETURN_STACKADJ_RTX): New. 7014 * config/i386/i386.md (exception_receiver): Remove. 7015 (eh_return, eh_return_1): New. 7016 * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New. 7017 7018 * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs. 7019 (alpha_mark_machine_status): No eh_epilogue_sp_ofs ... 7020 (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead. 7021 * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs. 7022 (EH_RETURN_DATA_REGNO): New. 7023 (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New. 7024 * config/alpha/alpha.md (eh_epilogue): Remove. 7025 (exception_receiver): Use $26 for ldgp input. 7026 * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New. 7027 70282001-03-28 Richard Henderson <rth@redhat.com> 7029 7030 * except.c: Rewrite entirely for IA-64 ABI exception handling. 7031 * except.h: Likewise. 7032 7033 * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c 7034 (LIB2ADDEHDEP): New. 7035 (LIB2FUNCS_EH): Remove. 7036 (LIB2ADD): Remove LIB2ADDEH. 7037 (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH. 7038 (LIBGCC_DEPS): Use LIB2ADDEHDEP. 7039 (crt{begin,end}[S].o): Likewise. 7040 (except.o): Update includes. 7041 * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP. 7042 (libgcc2_c_dep): Use LIB2ADDEHDEP. 7043 7044 * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end. 7045 * bb-reorder.c (reorder_basic_blocks): Don't disable for EH. 7046 * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New. 7047 * builtins.c (expand_builtin): Implement it. 7048 [BUILT_IN_EH_RETURN]: Update for nr arguments change. 7049 * c-common.c (c_common_nodes_and_builtins): Declare it. 7050 * c-decl.c (init_decl_processing): Update __builtin_eh_return. 7051 * calls.c (libfunc_nothrow): Remove. 7052 (emit_library_call_value_1): Don't call it. 7053 * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h. 7054 * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements. 7055 (DW_EH_PE_*): New defines for pointer encoding in .eh_frame. 7056 * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number. 7057 (current_funcdef_number): Globalize. 7058 (output_call_frame_info): Emit frame data if an lsda is needed. 7059 Generate augmentation for personality routine. Don't play with 7060 difference symbols. 7061 (dwarf2out_begin_prologue): Record funcdef_number. 7062 * dwarf2out.h (current_funcdef_number): Declare. 7063 * expr.c (expand_expr): Update for except.h name changes. 7064 Remove POPDCC_EXPR, POPDHC_EXPR. Add EXC_PTR_EXPR. 7065 * expr.h (LTI_throw, LTI_rethrow): Remove. 7066 (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove. 7067 (LTI_eh_rtime_match): Remove. 7068 (LTI_unwind_resume, LTI_eh_personality): Add. 7069 (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add. 7070 * final.c (final): Don't call check_exception_handler_labels, 7071 init_insn_eh_region, or free_insn_eh_region. 7072 (final_scan_insn): Always emit debug labels for 7073 NOTE_INSN_EH_REGION notes. 7074 * flags.h (flag_new_exceptions): Remove. 7075 * flow.c (entry_exit_blocks): Remove eh_beg, eh_end. 7076 (record_active_eh_regions): Remove. 7077 (count_basic_blocks): Check all instructions for REG_EH_REGION. 7078 Use can_throw_internal. 7079 (find_basic_blocks_1): Likewise. 7080 (move_stray_eh_region_notes): Remove. 7081 (find_label_refs): No eh_return_stub_label. 7082 (make_edges): Likewise. No init/free_eh_nesting_info. Handle RESX. 7083 (make_eh_edge): No eh_nest_info. Update for reachable_handlers 7084 changes. 7085 (delete_unreachable_blocks): Don't track deleted handlers. 7086 (flow_delete_block): Use maybe_remove_eh_handler. 7087 (delete_eh_regions): Remove. 7088 (merge_blocks): Don't check for eh region match. 7089 (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO, 7090 EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX. 7091 (init_propagate_block_info): Disable dead frame store optimization 7092 when current_function_calls_eh_return. 7093 (dump_bb): Don't print eh_beg, eh_end. 7094 * function.c (fixup_var_refs): No catch_clauses. 7095 (expand_function_end): Likewise. Call expand_eh_return before 7096 the return register use. Call sjlj_emit_function_exit_after. 7097 (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions. 7098 * function.h (struct function): Add calls_eh_return, uses_eh_lsda. 7099 * ifcvt.c (dead_or_predicable): Remove eh region check. 7100 * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return. 7101 Don't check for EH vs parameters. 7102 (expand_inline_function_eh_labelmap, eif_eh_map): Remove. 7103 (expand_inline_function): Call duplicate_eh_regions. 7104 (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END. 7105 (copy_insn_notes): Remap REG_EH_REGION notes. 7106 (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check. 7107 * integrate.h (struct inline_remap): Add local_return_label. 7108 * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor 7109 check_exception_handler_labels, nor exception_optimize. 7110 (find_cross_jump): No EH region check. 7111 * optabs.c (init_optabs): Update for changed eh libfuncs. 7112 * rtl.def (RESX): New. 7113 * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove. 7114 * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p 7115 checks. Update for except.h name changes. 7116 (expand_cleanups): Likewise. 7117 (expand_dcc_cleanup, expand_dhc_cleanup): Remove. 7118 * toplev.c (dump_file_index, dump_file): Add .02.eh dump. 7119 (compile_file): Call init_eh before init_optabs. Don't 7120 output_exception_table here. 7121 (rest_of_compilation): Call convert_from_eh_region_ranges, 7122 convert_to_eh_region_ranges, output_function_exception_table. 7123 Don't emit_eh_context. 7124 * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove. 7125 (EXC_PTR_EXPR): New. 7126 7127 * md.texi (eh_epilogue): Remove. 7128 (eh_return): Document. 7129 * tm.texi (EH_RETURN_DATA_REGNO): Document. 7130 (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document. 7131 7132 * eh-common.h: Remove file. 7133 * frame-dwarf2.c, frame.c, frame.h: Remove files. 7134 * libgcc2.c (L_eh): Remove. 7135 7136 * unwind-dw2-fde.c: New file, largely copied from frame.c. 7137 * unwind-dw2-fde.h: New file. 7138 * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c. 7139 * unwind-sjlj.c, unwind.h, unwind.inc: New files. 7140 * libgcc-std.ver: Update for eh symbols. 7141 71422001-03-27 Richard Henderson <rth@redhat.com> 7143 7144 * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to 7145 reduce false positives. 7146 (regmove_optimize): Disable if flag_non_call_exceptions. 7147 7148 * stmt.c (expand_return): Remove always true predicate. 7149 (expand_decl_cleanup_no_eh): Remove dead code. 7150 7151 * sched-deps.c (sched_analyze_insn): Consolidate scheduling 7152 barrier code. Add a scheduling barrier if a non-call insn 7153 can throw internally. 7154 7155 * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap. 7156 Auto-inc addresses trap only if their base register does. 7157 7158 * except.c (can_throw_internal): Rename from can_throw. 7159 * except.h, resource.c: Update references. 7160 7161 * integrate.c (copy_insn_list): Use returnjump_p. 7162 (copy_insn_notes): Recurse for CALL_PLACEHOLDER. 7163 7164 * function.h (struct function): Move all boolean valued fields 7165 to single bit fields at the end of the struct. 7166 7167 * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c, 7168 jump.c, toplev.c: 7169 Rename asynchronous_exceptions to flag_non_call_exceptions. 7170 7171 * gthr-single.h (UNUSED): New. Distinguish between how C 7172 and C++ mark unused function arguments. Use throughout. 7173 7174 * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS 7175 value to target configuration header. 7176 * configure.in (CONFIG_SJLJ_EXCEPTIONS): New. 7177 * config.in, configure: Rebuild. 7178 * except.h (USING_SJLJ_EXCEPTIONS): New. Define based on 7179 configuration and target defines. 7180 (exceptions_via_longjmp): Remove. 7181 * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c: 7182 Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp. 7183 7184 * except.h (flag_non_call_exceptions): Move ... 7185 * flags.h: ... here. 7186 7187 * combine.c (distribute_notes) [REG_EH_REGION]: If non-call 7188 exceptions, put the note on the trapping instruction. 7189 7190 * flags.h (flag_new_exceptions): Remove. 7191 * toplev.c: Don't set it. 7192 * final.c: Don't check it. 7193 * except.c: Provide stub definition. 7194 7195 * flow.c (tidy_fallthru_edges): Don't combine complex edges. 7196 (calculate_global_regs_live): Kill call-clobbered registers 7197 across exception edges. 7198 * reg-stack.c (convert_regs_1): Kill the entire target stack 7199 across non-call exception edges. 7200 7201 * flow.c (cleanup_cfg): Take no argument. 7202 * output.h, sibcall.c, toplev.c: Update all calls. 7203 72042001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7205 7206 * configure.in: Don't check for bcopy. 7207 * configure, config.in: Regenerate. 7208 7209 * system.h: Don't define or prototype bcopy, instead poison it. 7210 72112001-03-27 Richard Henderson <rth@redhat.com> 7212 7213 * function.c (expand_function_start): Set DECL_REGISTER on 7214 a pseudo used for DECL_RESULT. 7215 7216 * rtl.h (LCT_NORETURN): New. 7217 * calls.c (emit_library_call_value_1): Handle it. 7218 72192001-03-27 Stan Shebs <shebs@apple.com> 7220 7221 * objc/objc-act.c (objc_init): Use dump_base_name. 7222 (gen_declaration): Clear the buffer arg. 7223 (gen_declaration_1): New function, body of gen_declaration. 7224 (adorn_decl): Call gen_declaration_1 instead of gen_declaration. 7225 (gen_method_decl): Ditto, plus always clear buffer arg. 7226 (error_with_ivar): Simplify. 7227 (warn_with_method): Ditto. 7228 (build_message_expr): Don't clear buffers. 7229 (dump_interface): Ditto. 7230 (objc_debug): Ditto. 7231 (build_keyword_selector): Clear the buffer by only zeroing 7232 the first element. 7233 (objc_implementation_context): Declare. 7234 (start_class): Warn about missing @end. 7235 (finish_objc): Ditto. 7236 72372001-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca> 7238 7239 * reload1.c (eliminate_regs): Don't abort on MEM USEs. 7240 72412001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7242 7243 * Makefile.in (SYSTEM_H): Define. 7244 Depend on $(SYSTEM_H), not system.h. 7245 7246 * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h. 7247 72482001-03-27 Jim Wilson <wilson@redhat.com> 7249 7250 * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call 7251 IA64_UNWIND_EMIT. 7252 * config/ia64/ia64.c (block_num, need_copy_state): New static vars. 7253 (process_epilogue): New static function. 7254 (process_set): Call process_epilogue instead of emitting .restore 7255 directly. 7256 (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK. 7257 7258 * flow.c (struct reg_cond_life_info): New fields orig_condition 7259 and stores. 7260 (init_propagate_block_info): Set new fields. 7261 (mark_regno_cond_dead): Set and use new fields. 7262 (flush_reg_cond_reg_1): Likewise. 7263 (and_reg_cond, case AND): Check for redundant AND conditions. 7264 (mark_used_reg): Delete unnecessary clears before freeing splay trees. 7265 Set new fields. 7266 72672001-03-27 Neil Booth <neil@daikokuya.demon.co.uk> 7268 7269 * cppmacro.c (stringify_arg): Null terminate strings. 7270 72712001-03-27 Zack Weinberg <zackw@stanford.edu> 7272 7273 * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h 7274 inclusion style. xm-m68hc11.h no longer exists. 7275 * config/m68hc11/xm-m68hc11.h: Delete file. 7276 * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style. 7277 7278 * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style. 7279 Don't define GCC_VERSION, N_, or PARAMS; don't include 7280 gansidecl.h or stdio.h. Define inhibit_libc here. 7281 Make code conditioned on #if GCC_VERSION > 2095 unconditional. 7282 Delete code conditioned on #if GCC_VERSION == 2095. 7283 7284 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c: 7285 Make code conditioned on #if GCC_VERSION > 2095 unconditional. 7286 Delete code conditioned on #if GCC_VERSION == 2095. 7287 72882001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7289 7290 * system.h: Include symcat.h. 7291 (STRINGIFY): Don't define. 7292 7293 * configure.in: Adjust comment. 7294 7295 * builtins.c: Use STRINGX, not STRINGIFY. 7296 * gencheck.c: Likewise. 7297 * gengenrtl.c: Likewise. 7298 * protoize.c: Likewise. 7299 7300 * cpplex.c: Don't include symcat.h. 7301 * cpplib.c: Likewise. 7302 7303 * gansidecl.h (HAVE_STRINGIZE): Don't define. 7304 73052001-03-27 Alan Modra <alan@linuxcare.com.au> 7306 7307 * c-typeck.c (digest_init): Fold init expression. 7308 73092001-03-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7310 7311 * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy. 7312 73132001-03-27 Alan Modra <alan@linuxcare.com.au> 7314 7315 * except.c (eh_regs): Save results of build_pointer_type to a temp 7316 as FUNCTION_VALUE macro may evaluate its args multiple times. 7317 73182001-03-26 Mark Mitchell <mark@codesourcery.com> 7319 7320 * c-common.h (DECL_NUM_STMTS): New macro. 7321 * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not 7322 DECL_FRAME_SIZE. 7323 (pushdecl): Likewise. 7324 * c-semantics.c (add_stmt): Update DECL_NUM_STMTS. 7325 * integrate.c (expand_inline_function): Don't check 7326 DECL_FRAME_SIZE. 7327 * print-tree.c (print_node): Don't print it. 7328 * toplev.c (rest_of_compilation): Don't try to inline when 7329 flag_no_inline is on. 7330 * tree.h (DECL_FRAME_SIZE): Remove. 7331 (tree_decl): Adjust accordingly. 7332 73332001-03-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7334 7335 * combine.c (try_combine): Use memcpy, not bcopy. 7336 7337 * genattrtab.c (expand_units): Likewise. 7338 7339Mon Mar 26 15:55:08 CEST 2001 Jan Hubicka <jh@suse.cz> 7340 7341 * i386.md (push mem DI peep2): New. 7342 (mov 0, mov -1 peep2): Handle 64bit. 7343 (lea to arithmetics peep2): Handle 64bit leas. 7344 (rsp arithmetics to push/pop peep2s): New. 7345 7346 * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand. 7347 7348Mon Mar 26 14:35:18 CEST 2001 Jan Hubicka <jh@suse.cz> 7349 7350 * i386.c (struct machine_function): Add save_varrargs_registers. 7351 (ix86_save_varrargs_registers): New macro. 7352 (ix86_frame_layout): Support 64bit; support red zones and varrargs area. 7353 (ix86_expand_prologue): Likewise. 7354 (ix86_emit_epilogue_esp_adjustement): Likewise. 7355 (ix86_expand_epilogue): Likewise. 7356 * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit. 7357 (pro_epilogue_adjust_stack_1): New insn. 7358 (pro_epilogue_adjust_stack_rex64): Likewise. 7359 * i386.h (MASK_NO_RED_ZONE): New constant. 7360 (TARGET_RED_ZONE): New macro. 7361 (TARGET_OPTIONS): Add "red-zone" and "no-red-zone" 7362 (RED_ZONE_SIZE): New constant. 7363 (RED_ZONE_RESERVE): New constant. 7364 73652001-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7366 7367 * toplev.c (set_float_handler): Use memcpy, not bcopy. 7368 73692001-03-25 Kazu Hirata <kazu@hxi.com> 7370 7371 * config/h8300/h8300.md (umodqi3): Output a tab instead of a 7372 space. 7373 (modqi3): Likewise. 7374 (umodhi3): Likewise. 7375 (modhi3): Likewise. 7376 73772001-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7378 7379 * mkconfig.sh (DEFINES): Handle entries with '='. 7380 7381 * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h. 7382 Set xm_defines to MACRO=value instead. 7383 7384 * i370/xm-mvs.h: Delete. 7385 7386 * ns32k/xm-pc532-min.h: Likewise. 7387 7388Sun Mar 25 15:01:40 CEST 2001 Jan Hubicka <jh@suse.cz> 7389 7390 * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to 7391 shiftdi_operand; 7392 use ix86_expand_binary_operator 7393 (?sh??i_?): Disable for 64bit. 7394 * i386.h (PREDICATE_CODES): Add shiftdi_operand. 7395 * i386.c (shiftdi_operand): New predicate. 7396 7397 * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext, 7398 ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64, 7399 ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext, 7400 ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext, 7401 ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64, 7402 lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext, 7403 lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext, 7404 rotlsi3_1_one_bit_rex64, rotldi3_1_rex64, 7405 rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64, 7406 rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns. 7407 (rotldi3, rotrdi3): New expanders. 7408 7409Sun Mar 25 14:25:33 CEST 2001 Jan Hubicka <jh@suse.cz> 7410 7411 * i386.md (movstrsi): Move offline. 7412 (movstrdi): New. 7413 (strmovdi_rex64): New. 7414 (strmov?i): Accept 64bit. 7415 (strmov?i_rex64): New. 7416 (strmov?i_rex_1): New. 7417 (strmov?i_1): Disable for 64bit. 7418 (rep_mov?i_rex64): New. 7419 (rep_mov?i): Disable for 64bit. 7420 (clrstrsi): Move offline. 7421 (strset?i_rex64): New. 7422 (strset?i: Accept 64bit. 7423 (rep_stos?i): Disable for 64bit. 7424 (rep_stos?i_rex64): New. 7425 (strset?i_rex_1): New. 7426 (strset?i_1): Disable for 64bit. 7427 (cmpstrsi): Accept 64bit. 7428 (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit. 7429 (cmpstrqi_nz_rex_1): New. 7430 (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit. 7431 (strlensi): Move offline. 7432 (strlendi): New. 7433 (strlenqi_1): Disable for 64bit; fix constraints. 7434 (strlenqi_rex_1): New. 7435 * i386.c (ix86_adjust_counter): New static function. 7436 (ix86_zero_extend_to_Pmode): Likewise. 7437 (ix86_expand_aligntest): Likweise. 7438 (ix86_expand_strlensi_unroll_1): Make static; update for 64bit. 7439 (ix86_expand_movstr): New global function. 7440 (ix86_expand_clrstr): New global function. 7441 (ix86_expand_strlen): New global function. 7442 * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr, 7443 ix86_expand_strlen): Declare. 7444 (ix86_expand_strlensi_unroll_1): Delete. 7445 7446Sat Mar 24 23:15:19 CET 2001 Jan Hubicka <jh@suse.cz> 7447 7448 * i386.md (cmpdi): Fix operand predicates. 7449 (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64, 7450 cmpdi_1_insn_rex64): New patterns. 7451 (adddi3): Turn to expander. 7452 (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns. 7453 (addsi3_carry_zext): New pattern. 7454 (adddi_?_rex64): New patterns and splitters. 7455 (addsi_?_zext): New patterns. 7456 (subsi3_carry_zext): New pattern. 7457 (subdi_?_rex64): New patterns and splitters. 7458 (iorsi_?_zext): New patterns. 7459 (iordi_?_rex64): New patterns and splitters. 7460 (iorsi_?_zext): New patterns. 7461 (iorsi_?_zext_imm): New patterns. 7462 (xorsi_?_zext): New patterns. 7463 (xordi_?_rex64): New patterns and splitters. 7464 (xorsi_?_zext): New patterns. 7465 (negdi*): New patterns. 7466 (one_cmpldi*): Likewise. 7467 (one_cmplsi*_zext, negsi*_zext): Likewise. 7468 (testqi_ext_3_rex64): New pattern. 7469 7470Sat Mar 24 21:13:28 CET 2001 Jan Hubicka <jh@suse.cz> 7471 7472 * i386-protos.h (ix86_split_long_move): Return void. 7473 * i386.c (ix86_split_to_parts): Handle 64bit target. 7474 (ix86_split_long_move): Likewise. 7475 * i386.md (all calls to ix86_split_long_move): Update. 7476 74772001-03-23 Richard Henderson <rth@redhat.com> 7478 7479 * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables 7480 to avoid shadowing arguments. 7481 74822001-03-23 Jakub Jelinek <jakub@redhat.com> 7483 7484 * varasm.c (make_decl_rtl): Don't append var_labelno discriminator 7485 to variable names where DECL_NAME is different from 7486 DECL_ASSEMBLER_NAME. 7487 74882001-03-23 Jim Wilson <wilson@redhat.com> 7489 7490 * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test. 7491 (assemble_alias): Call make_decl_rtl. 7492 7493Fri Mar 23 16:59:08 2001 J"orn Rennecke <amylaar@redhat.com> 7494 7495 * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type. 7496 74972001-03-23 Bryce McKinlay <bryce@albatross.co.nz> 7498 7499 * extend.texi: Document the "java_interface" attribute. 7500 75012001-03-22 Zack Weinberg <zackw@stanford.edu> 7502 7503 * mkconfig.sh: Use a subshell with redirected stdout, 7504 instead of closing stdout and confusing commands that run 7505 afterward. Throw away output of cmp. 7506 75072001-03-22 Gordon Sadler <gbsadler1@lcisp.com> 7508 7509 * Makefile.in (stage1_build): Pass CFLAGS to stage1_build. 7510 7511Thu Mar 22 22:15:59 CET 2001 Jan Hubicka <jh@suse.cz> 7512 7513 * i386.md (zero_extendsidi2_32): Break out from ... 7514 (zero_extendsidi2): ... here ; turn to expander. 7515 (zero_extendsidi2_rex64): New. 7516 (extendsidi2_32): Break out from ... 7517 (extendsidi2): ... here ; turn to expander. 7518 (extendsidi2_rex64): New. 7519 (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New. 7520 (trunc?f?f splitters): Add 64bit versions. 7521 7522Thu Mar 22 21:41:16 CET 2001 Jan Hubicka <jh@suse.cz> 7523 7524 * i386.md (pushsi, pushsi2_prologue): Disable. 7525 (pushsi2_rex64): New. 7526 (movabs?i_1_rex64, movabs?i_2_rex64): New. 7527 (movqi_ext_1): Disable for 64bit. 7528 (movqi_ext_1_rex64): New. 7529 (pushdi2_rex64): New pattern, peep2s and splitter. 7530 (pushdi2_prologue_rex64): New pattern. 7531 (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64): 7532 Likewise. 7533 (movdi splitters): Disable for 64bit. 7534 (movdi_1_rex64): New pattern, peep2s and splitters. 7535 (swapdi): New pattern. 7536 (pushsf): Disable for 64bit. 7537 (pushsf_rex64): New pattern and splitter. 7538 (pushdf_nointeger): Disable for 64bit. 7539 (pushdf_integer): Handle the 64bit case. 7540 (pushtf): Likewise; update splitters. 7541 75422001-03-22 Richard Henderson <rth@redhat.com> 7543 7544 * mkconfig.sh: Include insn-flags.h. 7545 * Makefile.in (CONFIG_H): Include insn-flags.h. 7546 (lots of objects): Remove insn-codes.h and insn-flags.h. 7547 7548 * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c, 7549 integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c, 7550 regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c, 7551 avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c, 7552 dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c, 7553 i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c, 7554 m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c, 7555 mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c, 7556 pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c, 7557 v850/v850.c, vax/vax.c: 7558 Don't include insn-flags.h. 7559 7560 * diagnostic.c, expr.h, reload.c, toplev.c: 7561 Don't include insn-codes.h. 7562 7563 * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c, 7564 final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c, 7565 c4x/c4x.c, i960/i960.c, mips/mips.c: 7566 Don't include insn-codes.h or insn-flags.h. 7567 7568 * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h 7569 or insn-flags.h in the generated code. 7570 * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx". 7571 (main): Forward declare struct rtx_def. 7572 75732001-03-22 Joseph S. Myers <jsm28@cam.ac.uk> 7574 7575 * invoke.texi (-ffast-math): Remove duplicate line about 7576 __FAST_MATH__. 7577 7578 * gcc.texi: Remove more obsolete documentation of bugs and 7579 installation problems. 7580 75812001-03-21 Kazu Hirata <kazu@hxi.com> 7582 7583 * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative 7584 into two parts. 7585 75862001-03-20 Jason Merrill <jason@redhat.com> 7587 7588 * collect2.c (is_ctor_dtor): Always use '_' in the file fn names, 7589 not '.' or '$'. 7590 * tree.c (FILE_FUNCTION_FORMAT): Likewise. 7591 * varasm.c (CHKR_PREFIX): Likewise. 7592 7593Wed Mar 21 14:27:11 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 7594 7595 * gcse.c (hash_scan_set): An expression is not anticipatible if it 7596 is part of a multi-SET insn. 7597 7598 * cse.c (find_comparison_args): Remove previous change. 7599 * ifcvt.c (noce_process_if_block): When moving an insn, remove any 7600 REG_EQUAL notes. 7601 7602 * config/i386/i386.md (conditional_trap): Remove warning. 7603 7604 * recog.c (push_operand): Fix error in last change that caused 7605 undefined symbol on many targets. 7606 7607 * sdbout.c: #include ggc.h. 7608 (sdbout_init): Move to end of file. 7609 Call ggc_add_tree_root for anonymous_types. 7610 (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME. 7611 (sdbout_one_type): Use DECL_NAME for field name. 7612 * Makefile.in (sdbout.o): Show includes ggc.h. 7613 7614Wed Mar 21 20:33:26 CET 2001 Jan Hubicka <jh@suse.cz> 7615 7616 * i386.c (override_options): Default ix86_regparm to REGPARM_MAX. 7617 (override_options): Use properlimits for preferred_stack_boundary. 7618 (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes 7619 on x86_64. 7620 (ext_register_operand): Accept DImode. 7621 (load_pic_register): Abort on 64bit. 7622 (gen_push): Use Pmode instead of SImode. 7623 (ix86_save_reg): Pic reg is never used on 64bit. 7624 (ix86_expand_prologue): Likewise. 7625 (ix86_emit_save_regs): Use Pmode instead of SImode. 7626 (legitimate_address_p): Check displacement for 64bit. 7627 (print_operand): Avoid outputting of (%rip) on 64bit. 7628 (print_operand_address): Output (%rip) where possible. 7629 (split_di): Abort on 64bit registers. 7630 (ix86_expand_branch): DImode comparison is simple for x86_64. 7631 (memory_address_length): Recognize memory addresses formed using 7632 PRE/POST modify. 7633 (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes 7634 for x86_64. 7635 * i386.h (TARGET_USE_SAHF): Disable for 64bit. 7636 7637Wed Mar 21 18:51:19 CET 2001 Jan Hubicka <jh@suse.cz> 7638 7639 * recog.c (push_operand): Recognize new format of push instructions. 7640 7641Wed Mar 21 10:53:57 CET 2001 Jan Hubicka <jh@suse.cz> 7642 7643 * i386.md (pushqi1): New. 7644 * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand, 7645 x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand, 7646 x86_64_immediate_operand, x86_64_immediate_operand, 7647 x86_64_zext_immediate_operand): Declare. 7648 * i386.c (x86_64_general_operand, x86_64_szext_general_operand, 7649 x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand, 7650 x86_64_immediate_operand, x86_64_immediate_operand, 7651 x86_64_zext_immediate_operand): define. 7652 * i386.h (PREDICATE_CODES): Add new predicates. 7653 7654Wed Mar 21 10:25:13 CET 2001 Jan Hubicka <jh@suse.cz> 7655 7656 * i386.md (pophi1, popqi1, pushqi1): Remove. 7657 7658 * expr.c (emit_single_push_insn): New function. 7659 (move_by_pieces): Accept NULL as destination for push instructions. 7660 (gen_push_operand): Kill. 7661 (emit_push_insn): Pass NULL when pushing; avoid updating of 7662 stack_pointer_delta. 7663 * expr.h (gen_push_operand): Kill. 7664 7665Tue Mar 20 20:15:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 7666 7667 * rtl.texi (COMPARE): Clarify documentation and reference section 7668 on comparisons. 7669 76702001-03-20 Stan Shebs <shebs@apple.com> 7671 7672 * objc/objc-act.c (get_static_reference): Use NULL_TREE. 7673 (get_object_reference): Ditto. 7674 (error_with_ivar): Use error_with_file_and_line. 7675 (warn_with_method): Use warning_with_file_and_line. 7676 76772001-03-20 Tom Tromey <tromey@redhat.com> 7678 7679 * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi. 7680 76812001-03-20 Mark Mitchell <mark@codesourcery.com> 7682 7683 * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for 7684 variables that are TREE_PUBLIC, even if not TREE_STATIC. 7685 76862001-03-20 DJ Delorie <dj@redhat.com> 7687 7688 * Makefile.in (install-libgcc): Pass complete list of variables. 7689 (install-multilib): Ditto. 7690 76912001-03-20 David Billinghurst <David.Billinghurst@riotinto.com> 7692 7693 * config/i386/cygwin.h: Declare ctor_section, dtor_section 7694 drectve_section, switch_to_section. 7695 7696 * winnt.c: Declare functions associated_type, gen_stdcall_suffix, 7697 i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport, 7698 i386_pe_mark_dllimport. 7699 77002001-03-20 David Billinghurst <David.Billinghurst@riotinto.com> 7701 7702 * config/i386/cygwin.h: Include <stdio.h> Declare and constify 7703 functions i386_pe_*. 7704 7705 * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify 7706 i386_pe_* functions with char * arguments. 7707 77082001-03-20 Alexandre Oliva <aoliva@redhat.com> 7709 7710 * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load 7711 and store. 7712 (movsi_ie): Introduce fpul store. 7713 77142001-03-20 Alan Modra <alan@linuxcare.com.au> 7715 7716 * Makefile.in (OBJS): Remove hashtab.o. 7717 77182001-03-19 Stan Shebs <shebs@apple.com> 7719 7720 * objc/objc-act.c (maybe_objc_method_name): Remove, never called. 7721 * c-lang.c (maybe_objc_method_name): Ditto. 7722 * c-tree.h (maybe_objc_method_name): Remove decl. 7723 77242001-03-19 Tom Tromey <tromey@redhat.com> 7725 7726 * gcc.c (init_gcc_specs): Fix comment. 7727 77282001-03-19 Mark Mitchell <mark@codesourcery.com> 7729 7730 Compute DECL_ASSEMBLER_NAME lazily. 7731 * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily. 7732 (DECL_ASSEMBLER_NAME_SET_P): New macro. 7733 (SET_DECL_ASSEMBLER_NAME): Likewise. 7734 (COPY_DECL_ASSEMBLER_NAME): Likewise. 7735 (set_decl_assembler_name): Declare. 7736 (lang_set_decl_assembler_name): Likewise. 7737 * tree.c (lang_set_decl_assembler_name): New variab.e 7738 (set_decl_assembler_name): New function. 7739 (init_obstacks): Set lang_set_decl_assembler_name. 7740 (build_decl): Don't set DECL_ASSEMBLER_NAME. 7741 * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME, 7742 COPY_DECL_ASSEMBLER_NAME, etc. Don't set DECL_ASSEMBLER_NAME 7743 where it's not necessary. 7744 (builtin_function): Likewise. 7745 (finish_decl): Likewise. 7746 * dbxout.c (dbxout_type_methods): Likewise. 7747 * ggc-common.c (ggc_mark_trees): Likewise. 7748 * profile.c (output_func_start_profiler): Likewise. 7749 * varasm.c (make_decl_rtl): Likewise. 7750 7751 * cse.c (find_comparison_args): Update documentation. Fix 7752 mishandling of COMPARE operations. 7753 7754 * tree.def (ABS_EXPR): Add documentation. 7755 * fold-const.c (fold): Improve folding of ABS_EXPRs. 7756 77572001-03-19 Zack Weinberg <zackw@stanford.edu> 7758 7759 * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H). 7760 77612001-03-19 Jakub Jelinek <jakub@redhat.com> 7762 7763 * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined. 7764 Remove ia32 linux PIC kludge and move it... 7765 * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here. 7766 7767Mon Mar 19 18:53:54 CET 2001 Jan Hubicka <jh@suse.cz> 7768 7769 * i386.md (absdf2 expander): Fix 64bit case. 7770 77712001-03-19 Brad Lucier <lucier@math.purdue.edu> 7772 7773 * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H). 7774 77752001-03-16 Andrew Haley <aph@cambridge.redhat.com> 7776 7777 * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace. 7778 77792001-03-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 7780 7781 * README.X11: Remove obsolete file. 7782 77832001-03-18 Anthony Green <green@redhat.com> 7784 7785 * config/pj/pj.h: Remove some trailing commas. 7786 (ASM_SPEC): Use -EB and -EL, not -mb and -ml. 7787 77882001-03-18 Richard Henderson <rth@redhat.com> 7789 7790 * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ... 7791 * calls.c: ... here. 7792 * combine.c, expr.c, final.c, function.c toplev.c: Don't provide 7793 defaults for them here. 7794 77952001-03-17 Anthony Green <green@redhat.com> 7796 7797 * config/pj/lib1funcs.S: Fix broken comment. 7798 * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal 7799 labels with '.'. 7800 78012001-03-18 Joseph S. Myers <jsm28@cam.ac.uk> 7802 7803 * gcc.texi: Remove obsolete information relating to build and 7804 installation problems with enquire or the Pyramid C compiler. 7805 78062001-03-17 Richard Henderson <rth@redhat.com> 7807 7808 * dwarf2out.c (queue_reg_save): New. 7809 (flush_queued_reg_saves, clobbers_queued_reg_save): New. 7810 (dwarf2out_frame_debug_expr): Call queue_reg_save instead of 7811 dwarf2out_reg_save. 7812 (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed. 7813 (cfa, cfa_store, cfa_temp): Make static. 7814 * final.c (final_scan_insn): Always call dwarf2out_frame_debug. 7815 78162001-03-17 Richard Henderson <rth@redhat.com> 7817 7818 * integrate.h (struct inline_remap): Add local_return_label. 7819 * integrate.c (expand_inline_function): Initialize it and emit 7820 it after copy_insn_notes. 7821 (copy_insn_list): Don't store local_return_label here. 7822 (copy_insn_notes): New function split out from copy_insn_list. 7823 78242001-03-17 Richard Henderson <rth@redhat.com> 7825 7826 * dwarf2out.c (lookup_filename): Emit .file if the assembler 7827 is generating .debug_line. 7828 (dwarf2out_init): Add main_input_filename to the file table first. 7829 * configure.in (as_dwarf2_debug_line): Test with file number 1 7830 instead of file number 0. 7831 7832Sat Mar 17 11:52:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 7833 7834 * combine.c (undobuf): Remove field previous_undos; all refs deleted. 7835 (gen_rtx_combine): Deleted; all references changed as appropriate. 7836 (gen_unary): Deleted; all refs changed to call simplify_gen_unary. 7837 7838 * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P. 7839 78402001-03-17 David Billinghurst <David.Billinghurst@riotinto.com> 7841 7842 * config/i386/xm-cygwin.h: Include <sys/cygwin.h. Remove unused 7843 variable. 7844 78452001-03-16 Jim Wilson <wilson@redhat.com> 7846 7847 * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero, 7848 then set it to LOC_REG (79) instead of aborting. 7849 78502001-03-16 Phil Edwards <pme@sources.redhat.com> 7851 7852 * gccbug.in: Remove high priority. 7853 78542001-03-16 Richard Henerson <rth@redhat.com> 7855 7856 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od 7857 output with a space instead of deleting it. 7858 * configure: Regenerate. 7859 78602001-03-16 Zack Weinberg <zackw@stanford.edu> 7861 7862 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which 7863 handles the gory details of converting an object file into 7864 something that's safe to grep. 7865 (gcc_AC_C_COMPILE_BIGENDIAN): Rename to 7866 gcc_AC_C_COMPILE_ENDIAN. Use gcc_AC_EXAMINE_OBJECT. Put 7867 newlines at either end of the string we're looking for. 7868 Make 'checking ...' message less stilted. 7869 (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT. Handle 7870 ARM in-memory layout and its hypothetical converse. Don't 7871 define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from 7872 HOST_WORDS_BIG_ENDIAN. 7873 7874 * configure.in: Adjust for renamed macro. Move 7875 gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN. 7876 * configure, config.in: Regenerate. 7877 78782001-03-16 Laurynas Biveinis <lauras@softhome.net> 7879 7880 * fixinc/Makefile.in: Set SHELL. 7881 78822001-03-16 Laurynas Biveinis <lauras@softhome.net> 7883 7884 * fixinc/fixincl.c (fix_with_system): Quote file names before 7885 passing them to shell. 7886 78872001-03-16 Laurynas Biveinis <lauras@softhome.net> 7888 7889 * Makefile.in: Use fix-header$(build_exeext) instead 7890 of fix-header. 7891 78922001-03-16 Richard Henderson <rth@redhat.com> 7893 7894 * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes. 7895 (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New. 7896 (size_of_line_prolog): Remove. 7897 (output_line_info): Compute prologue size via label difference. 7898 (lookup_filename): Return "unspecified" for <internal> and <built-in>. 7899 7900 * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the 7901 assembler error when redefining file numbers. 7902 * config.in, configure: Rebuild. 7903 7904 * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size. 7905 (dw2_asm_output_data_uleb128): Use space not tab after .uleb128. 7906 (dw2_asm_output_delta_uleb128): Likewise. 7907 (dw2_asm_output_delta_sleb128): Similarly. 7908 (dw2_asm_output_data_sleb128): Similarly. Print number in decimal. 7909 79102001-03-16 Michael Meissner <meissner@redhat.com> 7911 7912 * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids 7913 warnings. 7914 (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids 7915 warnings. 7916 (BITMASK_LOWER16): Replacement for 0x0000ffff. 7917 7918 * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16 7919 instead of 0xffff0000/0x0000ffff to avoid warnings about constants 7920 being unsigned in ISO C and signed in traditional. 7921 (expand_prologue): Ditto. 7922 (RA_MASK): Use BITMASK_HIGH to avoid warnings. 7923 7924 * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid 7925 warnings. 7926 (divsi3,divdi3): Ditto. 7927 (modsi3,moddi3): Ditto. 7928 (fix_truncdfsi2,fix_truncdfdi2): Ditto. 7929 (fix_truncsfsi2,fix_truncsfdi2): Ditto. 7930 (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid 7931 warnings. 7932 7933Fri Mar 16 14:47:57 CET 2001 Jan Hubicka <jh@suse.cz> 7934 7935 * i386.c (ix86_expand_fp_movcc): Do not attempt to construct 7936 SSE based conditional moves on LTGT/UNEQ conditions; 7937 Canonicalize EQ to NE. 7938 * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode. 7939 (sse_mov?fcc_ne): New. 7940 7941 * i386-protos.h (sign_extended_value, zero_extended_value): Declare. 7942 79432001-03-16 Alexandre Oliva <aoliva@redhat.com> 7944 7945 * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC 7946 register may be dead. 7947 79482001-03-16 Brad Lucier <lucier@math.purdue.edu> 7949 7950 * Makefile.in (hash.o): Depend on CONFIG_H. 7951 79522001-03-15 Mark Mitchell <mark@codesourcery.com> 7953 7954 * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET. 7955 79562001-03-15 Richard Henderson <rth@redhat.com> 7957 7958 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New. 7959 (ASM_OUTPUT_DWARF_PCREL): New. 7960 * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove. 7961 79622001-03-16 Alexandre Oliva <aoliva@redhat.com> 7963 7964 * cppfiles.c (stack_include_file): Use MAX of sysp. 7965 79662001-03-15 Steve Ellcey <sje@cup.hp.com> 7967 7968 * config.gcc (ia64*-*-hpux*): New case. 7969 * config/ia64/hpux.h: New file for HP-UX support. 7970 * config/ia64/t-hpux: New file for HP-UX support. 7971 79722001-03-16 Bruce Korb <bkorb@gnu.org>, Alexandre Oliva <aoliva@redhat.com> 7973 7974 * fixinc/inclhack.def (irix_stdio_va_list): New. 7975 * fixinc/fixincl.x: Rebuilt. 7976 79772001-03-15 Richard Henderson <rth@redhat.com> 7978 7979 * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET 7980 if provided by the target. 7981 (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL. 7982 (dw2_asm_output_addr): New. 7983 * dwarf2asm.h (dw2_asm_output_addr): Declare. 7984 * dwarf2out.c (output_cfi): Use it for program addresses. 7985 (output_call_frame_info, output_die): Likewise. 7986 (output_aranges, output_line_info): Likewise. 7987 79882001-03-15 Bruce Korb <bkorb@gnu.org> 7989 7990 * gcc.c(main): make more rigorous 7991 * collect2.c(main): guard against ignoring SIGCHLD 7992 * protoize.c(main): ditto 7993 * gcc/fixinc/fixincl.c(initialize): ditto 7994 79952001-03-15 Mark Mitchell <mark@codesourcery.com> 7996 7997 * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL. 7998 (sdbout_parms): Likewise. 7999 8000Thu Mar 15 12:57:14 2001 Jeffrey A Law (law@cygnus.com) 8001 8002 * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not 8003 "widen" a destination that is already wider than a word. Also do 8004 not widen if LOAD_EXTEND_OP is NIL for the given mode. 8005 80062001-03-15 Bernd Schmidt <bernds@redhat.com> 8007 8008 * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids. 8009 8010Thu Mar 15 11:30:31 EST 2001 John Wehle (john@feith.com) 8011 8012 * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo. 8013 8014Thu Mar 15 11:24:29 EST 2001 John Wehle (john@feith.com) 8015 8016 * i960.h (i960_maxbitalignment, 8017 i960_last_maxbitalignment): Declare. 8018 * i960.c (i960_maxbitalignment, 8019 i960_last_maxbitalignment): Make global. 8020 (process_pragma): Delete. 8021 (i960_pr_align, i960_pr_noalign): Move from here ... 8022 * i960-c.c: ... to this new file. 8023 * t-960bare (i960-c.o): New rule. 8024 * t-vxworks960 (i960-c.o): Likewise. 8025 * config.gcc (i960-*-*): Define c_target_objs and 8026 cxx_target_objs. 8027 80282001-03-15 Bernd Schmidt <bernds@redhat.com> 8029 8030 * cselib.c (hash_rtx): For REG and MEM, just use value of expression 8031 without adding in rtx code and mode. 8032 8033 * alias.c (init_alias_analysis): Don't use any rtx whose value 8034 varies as a known value. 8035 Delete a superfluous test. 8036 8037 * config/ia64/ia64.c (maybe_rotate): New function, broken out of 8038 ia64_sched_reorder. 8039 (ia64_sched_reorder): Call maybe_rotate; also rotate after 8040 scheduling a stop bit. 8041 (ia64_emit_nops): Correctly handle ASMs. 8042 80432001-03-15 Mark Mitchell <mark@codesourcery.com> 8044 8045 * varasm.c (assemble_variable): Use DECL_RTL_SET_P. 8046 80472001-03-15 Neil Booth <neil@daikokuya.demon.co.uk> 8048 8049 * cpp.texi: Update documentation for -include and -imacros. 8050 * cppfiles.c (struct include_file): Remove "defined" memeber. 8051 (find_or_create_entry): Make a copy of the file name, and 8052 simplify it. 8053 (open_file): Update to ensure we use the simplified filename. 8054 (stack_include_file): Don't set search_from. 8055 (cpp_included): Don't simplify the path name here. 8056 (find_include_file): New prototype. Call search_from to 8057 get the start of the "" include chain. Don't simplify the 8058 filenames here. 8059 (_cpp_execute_include): New prototype. Move diagnostics to 8060 do_include_common. Update. 8061 (_cpp_pop_file_buffer): Don't set defined. 8062 (search_from): New prototype. Use the preprocessor's cwd 8063 for files included from the command line. 8064 (read_name_map): Don't simplify the pathname here. 8065 * cpphash.h (enum include_type): New. 8066 (struct buffer): Delete search from. New search_cached. 8067 (_cpp_execute_include): Update prototype. 8068 * cppinit.c (do_includes): Use _cpp_execute_include. 8069 * cpplib.c (do_include_common): New function. 8070 (do_include, do_include_next, do_import): Use it. 8071 80722001-03-14 Mark Mitchell <mark@codesourcery.com> 8073 8074 * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the 8075 contents of the RTL, to determine the name of the object. 8076 80772001-03-14 Mark Mitchell <mark@codesourcery.com> 8078 8079 * tree.h (DECL_RTL): Allocate RTL lazily. 8080 (SET_DECL_RTL): New macro. 8081 (DECL_RTL_SET_P): Likewise. 8082 (COPY_DECL_RTL): Likewise. 8083 (DECL_RTL_IF_SET): Likewise. 8084 * varasm.c (make_decl_rtl): Add assertions about the kind of 8085 declaration we are processing. 8086 * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc. 8087 (start_decl): Likewise. 8088 (finish_decl): Likewise. 8089 * c-semantics.c (emit_local_var): Likewise. 8090 * calls.c (expand_call): Likewise. 8091 * dbxout.c (dbxout_symbol): Likewise. 8092 * emit-rtl.c (unshare_all_rtl): Likewise. 8093 (unshare_all_decls): Likewise. 8094 (reset_used_decls): Likewise. 8095 * expr.c (store_constructor): Likewise. 8096 (safe_from_p): Likewise. 8097 (expand_expr): Likewise. 8098 * function.c (put_var_into_stack): Likewise. 8099 (instantiate_decls_1): Likewise. 8100 (assign_parms): Likewise. 8101 (expand_function_start): Likewise. 8102 (expand_function_end): Likewise. 8103 * ggc-common.c (gcc_mark_trees): Likewise. 8104 * integrate.c (function_cannot_inline_p): Likewise. 8105 (copy_decl_for_inlining): Likewise. 8106 (expand_inline_function): Likewise. 8107 (integrate_parm_decls): Likewise. 8108 (integrate_decl_tree): Likewise. 8109 * print-tree.c (print_node): Likewise. 8110 * reg-stack.c (stack_result): Likewise. 8111 * stmt.c (label_rtx): Likewise. 8112 (expand_return): Likewise. 8113 (expand_decl): Likewise. 8114 (expand_decl_cleanup): Likewise. 8115 (expand_anon_union_decl): Likewise. 8116 * toplev.c (check_global_declarations): Likewise. 8117 (rest_of_decl_compilation): Likewise. 8118 * tree.c (simple_cst_equal): Likewise. 8119 * objc/objc-act.c (generate_static_references): Likewise. 8120 81212001-03-14 Zack Weinberg <zackw@stanford.edu> 8122 8123 * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN, 8124 gcc_AC_C_FLOAT_FORMAT): New macros. 8125 * configure.in: Add AC_PROG_CPP after CC tests; 8126 gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof 8127 tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT. 8128 * configure, config.in: Regenerate. 8129 8130 * config/a29k/xm-a29k.h, config/arc/xm-arc.h, 8131 config/arm/xm-arm.h, config/c4x/xm-c4x.h, 8132 config/convex/xm-convex.h, config/d30v/xm-d30v.h, 8133 config/i370/xm-linux.h, config/i370/xm-oe.h, 8134 config/ia64/xm-ia64.h, config/m32r/xm-m32r.h, 8135 config/m68k/xm-m68k.h, config/mips/xm-mips.h, 8136 config/pa/xm-linux.h, config/pa/xm-pa.h, 8137 config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h, 8138 config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h, 8139 config/sparc/xm-sparc.h, config/vax/xm-vax.h, 8140 config/we32k/xm-we32k.h: Delete. 8141 8142 * config/i370/xm-mvs.h, config/m88k/m88k.h, 8143 config/romp/xm-romp.h, config/rs6000/xm-beos.h, 8144 config/vax/xm-vms.h: Don't define any of: 8145 HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN 8146 8147 * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here. 8148 8149 * config.gcc: Remove references to deleted files. 8150 (i370-*-opened*): Use i370/xm-mvs.h (which now defines only 8151 FATAL_EXIT_CODE, which is the same between oe and mvs). 8152 81532001-03-14 DJ Delorie <dj@redhat.com> 8154 Vladimir Makarov <vmakarov@redhat.com> 8155 8156 * config/i960/i960.c (i960_function_prologue): Compute size of 8157 frame according to number of registers actually saved there. 8158 81592001-03-14 Richard Henderson <rth@redhat.com> 8160 8161 * expr.c (emit_move_insn_1): Fix else if around #endif. 8162 8163Wed Mar 14 22:39:12 CET 2001 Jan Hubicka <jh@suse.cz> 8164 Vojtech Pavlik 8165 8166 * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z' 8167 constraints. 8168 8169Wed Mar 14 22:26:10 CET 2001 Jan Hubicka <jh@suse.cz> 8170 8171 * i386.c (ix86_cmodel_string, ix86_cmodel): Define. 8172 (override_options): Parse cmodel string. 8173 (x86_64_sign_extended_value, x86_64_zero_extended_value): New. 8174 * i386.h (TARGET_OPTIONS): Add "cmodel". 8175 (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'. 8176 (enum cmodel): New. 8177 (ix86_cmodel_string, ix86_cmodel): Declare. 8178 8179Wed Mar 14 22:26:54 CET 2001 Jan Hubicka <jh@suse.cz> 8180 8181 Spot by Matt Kraai: 8182 * i386.h (GENERAL_REG_P): Add missing REG_P. 8183 81842001-03-14 Laurynas Biveinis <lauras@softhome.net> 8185 8186 * configure.in: Use $gcc_cv_as instead of $as. 8187 * configure: Regenerated. 8188 81892001-03-14 Neil Booth <neil@daikokuya.demon.co.uk> 8190 8191 * cppfiles.c (stack_include_file): Only increase the include 8192 count if we actually process the file properly, as opposed 8193 to treating it as length zero. Only call read_include_file 8194 if not DO_NOT_REREAD. Handle the -H include file output 8195 here. 8196 (read_include_file): Remove now redundant DO_NOT_REREAD check. 8197 (cpp_included, find_include_file): Simplify pathnames after 8198 remapping them. If remapping, don't use the remapped file 8199 name's buffer as our scratch buffer. 8200 (cpp_pop_file_buffer): Replace the multiple include macro 8201 only if it isn't yet set. 8202 (read_name_map): Simplify remapped names when reading in. 8203 (remap_filename): Move code to code path that uses it. 8204 (_cpp_simplify_pathname): Return the input pointer. 8205 * cpphash.h (_cpp_simplify_pathname): Update prototype. 8206 82072001-03-14 Mark Mitchell <mark@codesourcery.com> 8208 8209 * expr.c (expand_expr): Revove bogus conditional. 8210 8211Wed Mar 14 19:29:50 CET 2001 Jan Hubicka <jh@suse.cz> 8212 8213 * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef. 8214 82152001-03-14 Jakub Jelinek <jakub@redhat.com> 8216 8217 * reg-stack.c (stack_result): Unconditionally use 8218 FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE. 8219 8220Wed Mar 14 16:36:25 CET 2001 Jan Hubicka <jh@suse.cz> 8221 8222 * expr.c (emit_move_insn_1): Split push of complex value when 8223 no suitable push instruction exist. 8224 8225 * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P 8226 instead of QI_REG_P. 8227 8228Tue Mar 13 22:22:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 8229 8230 * alias.c (handled_component_p, can_address_p): New functions. 8231 (get_alias_set): Use them. 8232 82332001-03-13 Jim Wilson <wilson@redhat.com> 8234 8235 * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed 8236 from 80 in try_locals code. 8237 (ia64_expand_prologue): Add comment pointing to find_gr_spill change. 8238 82392001-03-13 Zack Weinberg <zackw@stanford.edu> 8240 8241 * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT, 8242 gcc_AC_C_LONG_LONG): New. 8243 * configure.in: Use them. Probe the size of short, int, long, 8244 and long long/__int64 if we have them. Move all the AC_C_* 8245 checks together, except gcc_AC_C_CHAR_BIT which has to go 8246 after AC_CHECK_HEADERS(limits.h). 8247 Take hwint.h out of host_xm_file and build_xm_file. 8248 8249 * hwint.h: Unconditionally define HOST_BITS_PER_CHAR, 8250 HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG, 8251 and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT. 8252 Move the HOST_WIDEST_INT setup logic here from system.h. 8253 Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not 8254 defined. 8255 * system.h: Include hwint.h after limits.h. HOST_WIDEST_INT 8256 is now handled by hwint.h. 8257 8258 * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h, 8259 config/c4x/xm-c4x.h, config/i370/xm-oe.h, 8260 config/ia64/xm-ia64.h: Don't define any of: 8261 HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT, 8262 HOST_BITS_PER_LONGLONG. 8263 8264 * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h, 8265 config/h8300/xm-h8300.h, config/mips/iris6.h, 8266 config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h, 8267 config/sparc/xm-sp64.h: Delete. 8268 * config.gcc: Remove references to deleted files. 8269 8270 * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define 8271 HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT. 8272 * config/i370/xm-linux.h: Clarify floating-point situation in 8273 a comment. 8274 82752001-03-13 Neil Booth <neil@daikokuya.demon.co.uk> 8276 8277 * cppfiles.c (NO_INCLUDE_PATH): New macro. 8278 (find_include_file): Decide here which part of the include 8279 chain to start the search. Complain about an empty include 8280 chain in all cases apart from an abolsute file name. 8281 (_cpp_execute_include): Don't choose the search chain here. 8282 Don't call handle_missing_include in the case of an empty 8283 include chain. 8284 (_cpp_compare_file_date): Don't choose the search chain here. 8285 * cpplib.c (do_include_next): Move the in-main-file diagnostic 8286 here from _cpp_execute_include. Behave like #include if 8287 we're in the main file. 8288 82892001-03-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8290 8291 * system.h (malloc, realloc, calloc, strdup): Only poison these 8292 tokens when IN_GCC is defined. 8293 8294Tue Mar 13 14:38:44 CET 2001 Jan Hubicka <jh@suse.cz> 8295 8296 * i386.md (abs?f expander): Support SSE case. 8297 (abd?f_if): Add new "USE"; add splitters. 8298 82992001-03-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8300 8301 * cpp.texi (poison): Explain the macro expansion exception. 8302 83032001-03-13 Jakub Jelinek <jakub@redhat.com> 8304 8305 * expr.c (store_expr): Add dont_store_target. If temp is already in 8306 target before copying to reg, don't store it into target again. 8307 83082001-03-12 Neil Booth <neil@daikokuya.demon.co.uk> 8309 8310 * cppinternals.texi: Update for file handling. 8311 83122001-03-12 Jeffrey Oldham <oldham@codesourcery.com> 8313 8314 * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's 8315 2001-02-24 which broke building the Java library. 8316 * function.c (identify_blocks): Likewise. 8317 (all_blocks): Likewise. 8318 * integrate.c (integrate_decl_tree): Likewise. 8319 * print-tree.c (print_node): Likewise. 8320 * tree.h (BLOCK_NUMBER): Likewise. 8321 (struct tree_block): Likewise. 8322 83232001-03-12 David Edelsohn <edelsohn@gnu.org> 8324 8325 * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in 8326 __WCHAR_TYPE__ definition. 8327 (WCHAR_TYPE_SIZE): #undef before #define. 8328 83292001-03-12 Neil Booth <neil@daikokuya.demon.co.uk> 8330 8331 * cppfiles.c: Update comments. 8332 (destroy_include_file_node): Rename destroy_node. 8333 (find_or_create_entry): New function. 8334 (open_file, _cpp_fake_include): Use it. 8335 (handle_missing_header): New function, broken out of 8336 _cpp_execute include. Don't segfault if there is no 8337 system or quoted path. 8338 (_cpp_execute_include): Use handle_missing_header. 8339 83402001-03-12 Jeffrey Oldham <oldham@codesourcery.com> 8341 8342 * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's 8343 2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5. 8344 8345Mon Mar 12 14:05:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 8346 8347 * flow.c (insn_dead_p): Don't consider two memrefs equivalent 8348 unless anti_dependence says they are. 8349 * alias.c (objects_must_conflict): If neither has a type specified, 8350 they must conflict. 8351 83522001-03-12 Neil Booth <neil@daikokuya.demon.co.uk> 8353 David Billinghurst <David.Billinghurst@riotinto.com> 8354 8355 * config/mips/iris5.h: Change WCHAR_TYPE to int. 8356 8357Mon Mar 12 16:32:21 CET 2001 Jan Hubicka <jh@suse.cz> 8358 8359 * i386.md (trunctfdf2_2): Rename missnamed pattern. 8360 (*_one_bit): Remove type on the match_operand in attributes. 8361 8362Mon Mar 12 16:27:56 CET 2001 Jan Hubicka <jh@suse.cz> 8363 8364 * i386.c: Commit forgotten hunk in previous patch. 8365 (regclass_map): Add extended registers. 8366 (dbx_register_map): Add missing frame register. 8367 8368Mon Mar 12 15:41:08 CET 2001 Jan Hubicka <jh@suse.cz> 8369 8370 * i386.md (all XFmode patterns except swapxf): Disable for 64bit. 8371 8372 * i386.md (x86_sahf_1): Disable for 64bit. 8373 (popsi*, pophi*): Likewise. 8374 (pushqi, pushhi): Likewise. 8375 (movdi, pushdi): Likewise. 8376 (zero extend DImode splitter): Likewise. 8377 (adddi, minusdi splitter): Likewise. 8378 (umulsidi): Likewise. 8379 (umulsi): New. 8380 (mulsidi): Disable for 64bit 8381 (lshift:DI/ashift:DI): Disable for 64bit. 8382 (loop patterns): Likewise. 8383 (call_pop, call_value_pop expanders and patterns): Likewise. 8384 (prologue_get_pc): Likewise. 8385 (leave): Likewise. 8386 (fcmovDI pattern and splitter): Likewise. 8387 (movdfcc_1_rex64): New. 8388 8389Mon Mar 12 15:16:36 CET 2001 Jan Hubicka <jh@suse.cz> 8390 8391 * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64. 8392 (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64. 8393 (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64. 8394 (STATIC_CHAIN_REGNUM): Set to r10 for x86_64. 8395 (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64. 8396 (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64. 8397 (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes. 8398 (PUSH_ROUNDING): x86_64 rounds to 64bits. 8399 (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE. 8400 (REGPARM_MAX): Set to 6 for x86_64. 8401 (SSE_REGPARM_MAX): Set to 16 for x86_64. 8402 * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose 8403 registers. 8404 8405 * (patterns that does use upper halves): Update constraints 8406 'q' to 'Q' and 'r' to 'R'. 8407 (cmpqi_ext_1): Disable for 64bit. 8408 (cmpqi_ext_3_insn): Likewise. 8409 (movqi_extzv_1): Likewsie. 8410 (addqi_ext_1): Liekwsie 8411 (testqi_ext_1): Liekwsie 8412 (andqi_ext_1): Liekwsie 8413 (xorqi_ext_1): Liekwsie 8414 (cmpqi_ext_1_rex64): New. 8415 (cmpqi_ext_3_insn_rex64): Likewise. 8416 (movqi_extzv_1_rex64): Likewsie. 8417 (addqi_ext_1_rex64): Liekwsie 8418 (testqi_ext_1_rex64): Liekwsie 8419 (andqi_ext_1_rex64): Liekwsie 8420 (xorqi_ext_1_rex64): Liekwsie 8421 84222001-03-11 Zack Weinberg <zackw@stanford.edu> 8423 8424 * configure.in: Move check for unsigned enumerated bitfields 8425 to macro in aclocal.m4. Disable it for now. 8426 * configure, config.in: Regenerate. 8427 * system.h: Don't do anything with ONLY_INT_FIELDS. Use the 8428 unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC. 8429 * varasm.c (struct rtx_const): Use ENUM_BITFIELD(). Move enum 8430 kind above its first use. 8431 8432 * config/xm-interix.h, config/alpha/xm-alpha.h, 8433 config/i370/xm-linux.h, config/i386/xm-beos.h, 8434 config/i386/xm-mingw32.h, config/mips/xm-mips.h, 8435 config/pa/xm-pa.h, config/pa/xm-pa64hpux.h, 8436 config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h, 8437 Don't define ONLY_INT_FIELDS under any circumstances. 8438 8439 * config/pa/xm-pa.h: Don't define __BSD_NET2__. 8440 8441 * config/pa/xm-pahpux.h, config/pa/xm-papro.h, 8442 config/sparc/xm-sysv4.h: Delete - now identical with some 8443 other xm header. 8444 * config.gcc (hppa targets): Replace xm-pahpux.h and 8445 xm-papro.h with implicit xm-pa.h. 8446 (sparc targets): Replace xm-sysv4.h with implicit or explicit 8447 xm-sparc.h. 8448 84492001-03-12 Aldy Hernandez <aldyh@redhat.com> 8450 8451 * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set 8452 before reload_cse_noop_set_p. 8453 84542001-03-11 Zack Weinberg <zackw@stanford.edu> 8455 8456 * config.gcc: Where xm-host.h used to include another 8457 xm-host.h, list the nested header directly in xm_file. Remove 8458 references to deleted files. Can now use sparc/xm-sp64.h for 8459 sparcv9-*-solaris*. 8460 8461 * config/xm-linux.h, config/arm/xm-linux.h, 8462 config/i386/xm-dos.h, config/i386/xm-gnu.h, 8463 config/i386/xm-linux.h, config/i386/xm-openbsd.h, 8464 config/i860/xm-fx2800.h, config/m68k/xm-atari.h, 8465 config/m68k/xm-linux.h, config/m68k/xm-sun3.h, 8466 config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h: 8467 Delete. 8468 8469 * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h. 8470 * config/mips/xm-iris5.h: Don't include mips/xm-mips.h. Don't 8471 bother to wrap #undef in #ifdef. 8472 * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h: 8473 Don't include xm-linux.h. 8474 * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h. 8475 8476 * configure.in: Wrap regexps using [] in changequote block. 8477 Use expr : not echo | grep. Simplify regexps. 8478 * configure: Regenerate. 8479 8480 56 xm-files remain, 22 xm-arch. 8481 84822001-03-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8483 8484 * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF. 8485 (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead. 8486 (local_index, local_rindex): Delete, use strchr/strrchr instead. 8487 (copy_object): Fix format specifier vs argument mismatch. 8488 8489 * mips-tdump.c: Make local functions static. 8490 (rindex): Don't #undef. 8491 (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead. 8492 (fatal, fancy_abort): Delete. 8493 (read_seek): Avoid signed/unsigned compare. 8494 8495Sun Mar 11 17:01:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 8496 8497 * combine.c (try_combine): Fix error in change to try original 8498 register. 8499 (gen_rtx_combine): Do same as gen_rtx for now. 8500 85012001-03-11 Zack Weinberg <zackw@stanford.edu> 8502 8503 * configure.in: AC_SUBST xm_defines. 8504 * configure: Regenerate. 8505 * Makefile.in: Set DEFINES=$(xm_defines) when building 8506 tconfig.h. 8507 85082001-03-11 Neil Booth <neil@daikokuya.demon.co.uk> 8509 8510 * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete. 8511 (cpp_included, find_include_file): Update. 8512 (_cpp_compare_file_date): Make else unconditional. 8513 85142001-03-10 kaz Kojima <kkojima@rr.iij4u.or.jp> 8515 8516 * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined. 8517 85182001-03-10 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com> 8519 8520 * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics. 8521 * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w. 8522 8523Sat Mar 10 22:42:05 2001 Alexandre Oliva <aoliva@redhat.com> 8524 8525 * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node 8526 if it's a record type. 8527 8528Sat Mar 10 17:52:54 2001 Christopher Faylor <cgf@cygnus.com> 8529 8530 * config/i386/cygwin.h: Make ../w32api a system directory. Reorganize 8531 mingw includes slightly. 8532 85332001-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8534 8535 * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): 8536 #undef token before poisoning it. 8537 85382001-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8539 8540 * alpha.c (check_float_value): Use memcpy, not bcopy. 8541 8542 * m32r.c (m32r_sched_reorder): Likewise. 8543 8544 * vax.c (check_float_value): Likewise. 8545 85462001-03-10 Neil Booth <neil@daikokuya.demon.co.uk> 8547 8548 * toplev.c (file_name_nondirectory): Remove. 8549 * toplev.h: Similarly. 8550 * dwarf2out.c (compute_section_prefix): Use lbasename instead 8551 of file_name_nondirectory. 8552 8553Sat Mar 10 10:36:45 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 8554 8555 * mips-tdump.c (read_seek): Call xmalloc, not malloc. 8556 * mips-tfile.c: Don't #undef rindex; not used. 8557 8558Sat Mar 10 14:34:59 CET 2001 Jan Hubicka <jh@suse.cz> 8559 8560 * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits. 8561 (dbx64_register_map): Declare. 8562 (RETURN_ADDR_RTX): Fix for 64bit. 8563 (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit. 8564 (INCOMING_FRAME_SP_OFFSET): Set to 8. 8565 * i386.c (dbx64_register_map): New global array. 8566 * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h, 8567 linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map 8568 for 64bits. 8569 85702001-03-10 Neil Booth <neil@daikokuya.demon.co.uk> 8571 8572 * cppfiles.c (search_from): Use lbasename. 8573 * mkdeps.c (deps_add_default_target): Use lbasename. 8574 85752001-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8576 8577 * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc & 8578 xcalloc in lieu of malloc, realloc & calloc. 8579 8580 * gencheck.c (xmalloc): Use really_call_malloc, not malloc. 8581 8582 * gengenrtl.c (xmalloc): Likewise. 8583 8584 * gensupport.c (xcalloc, xrealloc, xmalloc): Use the 8585 really_call_* memory allocation routines. 8586 8587 * stmt.c (check_for_full_enumeration_handling): Use 8588 really_call_calloc, not calloc. 8589 8590 * system.h (really_call_malloc, really_call_calloc, 8591 really_call_realloc): Define. 8592 (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison. 8593 8594Fri Mar 9 18:39:19 2001 Jeffrey A Law (law@cygnus.com) 8595 8596 * pa.md (builtin_longjmp): Rework slightly to work for PA64 too. 8597 85982001-03-09 Nicola Pero <n.pero@mi.flashnet.it> 8599 8600 * configure: Rebuilt. 8601 * configure.in: Only use `lang_requires' for languages athat are 8602 actually enabled. 8603 86042001-03-09 Joseph S. Myers <jsm28@cam.ac.uk> 8605 8606 * invoke.texi: Fix typo. 8607 * gcc.1: Regenerate. 8608 86092001-03-09 Zack Weinberg <zackw@stanford.edu> 8610 8611 * configure.in: Prune nonexistent files from build_xm_file, 8612 xm_file, and host_xm_file lists. Warn unless they're 8613 $cpu/xm-$cpu.h. 8614 Don't generate *config.h here. 8615 AC_SUBST all variables needed to generate *config.h. 8616 * configure: Regenerate. 8617 * mkconfig.sh: New helper script, from code removed from 8618 configure.in. 8619 * Makefile.in: Zap all MALLOC variables - no longer used 8620 anywhere, and malloc.c doesn't exist. 8621 Substitute in variables needed to generate *config.h. 8622 Stop lying about the dependencies contained in CONFIG_H and 8623 GCONFIG_H. 8624 (HCONFIG_H, TCONFIG_H, TM_P_H): New variables. 8625 (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h, 8626 cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules. 8627 (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H), 8628 $(TM_P_H), etc. as appropriate. 8629 8630 * config.gcc: Zap references to deleted files. 8631 * ggc-none.c: Don't include rtl.h or tm_p.h. 8632 8633 * config/i386/xm-beos.h, config/i386/xm-dgux.h, 8634 config/i386/xm-djgpp.h, config/i386/xm-dos.h, 8635 config/i386/xm-gnu.h, config/i386/xm-i386-interix.h, 8636 config/i386/xm-linux.h, config/i386/xm-linux.h, 8637 config/i386/xm-next.h, config/i386/xm-openbsd.h, 8638 config/i386/xm-sun.h, config/i386/xm-sysv3.h: 8639 Don't include i386/xm-i386.h. 8640 8641 * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h, 8642 config/i386/xm-i386.h, config/i860/xm-i860.h, 8643 config/i960/xm-i960.h, config/mcore/xm-mcore.h, 8644 config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h, 8645 config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h: 8646 Delete (empty except comments, #includes of other deleted 8647 files, and macros used nowhere). 8648 8649Fri Mar 9 20:05:27 CET 2001 Jan Hubicka <jh@suse.cz> 8650 8651 * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp 8652 independent on TARGET_FLAGS. 8653 8654Fri Mar 9 19:52:52 CET 2001 Jan Hubicka <jh@suse.cz> 8655 8656 * i386.h (FIRST_PSEUDO_REGISTER): Set to 53. 8657 8658 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add 8659 extended ones. 8660 (CONDITIONAL_REGISTER_USAGE): Set proper values according to 8661 TARGET_64BIT. 8662 (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG, 8663 LAST_REX_SSE_REG): define. 8664 (enum reg_class): Add 'LEGACY_REGS' 8665 (REG_CLASS_CONTENTS): Likewise; add extended registers. 8666 (SSE_REGNO_P): Recognize extended registers. 8667 (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New. 8668 (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'. 8669 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, 8670 REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers. 8671 (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P, 8672 REG_OK_FOR_STRREG_P): Remove. 8673 (HI_REGISTER_NAMES): Add extended registers. 8674 (ADDITIONAL_REGISTER_NAMES): Likewise. 8675 (QI_REGISTER_NAMES): Add 8bit extended registers. 8676 (DEBUG_REG): Support extended registers. 8677 * i386.c (regclass_map): Add extended registers. 8678 (dbx_register-map): Likewise. 8679 (svr4_dbx_register_map): Likewise. 8680 (print_reg): Support extended registers. 8681 (print_operand): Support 64bit operands. 8682 8683Fri Mar 9 19:37:46 CET 2001 Jan Hubicka <jh@suse.cz> 8684 8685 * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64 8686 (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE, 8687 FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE, 8688 DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants. 8689 (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY, 8690 STACK_BOUNDARY): Set properly for 64bits. 8691 (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants. 8692 (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD. 8693 (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits. 8694 (MOVE_MAX): Set to 16. 8695 (MOVE_MAX_PIECES): 8 for 64bit. 8696 (Pmode): Set to SImode. 8697 8698Fri Mar 9 09:00:36 2001 Mike Stump <mrs@wrs.com> 8699 8700 * cselib.c (hash_rtx): Ensure that hash isn't zero upon return. 8701 8702Fri Mar 9 17:38:08 CET 2001 Jan Hubicka <jh@suse.cz> 8703 8704 * i386.h (mask_64bit): New constant. 8705 (target_64bit): New macro. 8706 (target_options): Add '64'/'32' 8707 (target_default): Define. 8708 * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h 8709 isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h 8710 unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT. 8711 8712Thu Mar 8 23:36:56 2001 Jeffrey A Law (law@cygnus.com) 8713 8714 * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable. 8715 8716Thu Mar 8 23:29:37 2001 John Wehle (john@feith.com) 8717 8718 * rtlanal.c (rtx_varies_p): Check operand 0 of a 8719 LO_SUM unless for_alias is set. 8720 87212001-03-08 Stan Shebs <shebs@apple.com> 8722 8723 * objc/objc-act.c: Fix old typos in comments, add comments for 8724 various functions. 8725 (hash_init): Fix file name in error message. 8726 (hash_enter): Ditto. 8727 (hash_add_attr): Ditto. 8728 (continue_class): Ditto. 8729 87302001-03-08 Bruce Korb <bkorb@gnu.org> 8731 8732 gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that 8733 wait4() can receive the signal. 8734 8735Thu Mar 8 21:09:10 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 8736 8737 * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML 8738 entities. 8739 * fixinc/fixincl.x: Regenerate. 8740 8741Thu Mar 8 21:09:10 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 8742 8743 * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage 8744 on Tru64 UNIX. 8745 * fixinc/fixincl.x: Regenerate. 8746 87472001-03-08 Richard Henderson <rth@redhat.com> 8748 8749 * configure.in (HAVE_AS_LEB128): New assembler check. 8750 * configure, config.in: Rebuilt. 8751 8752Thu Mar 8 19:54:04 CET 2001 Jan Hubicka <jh@suse.cz> 8753 8754 * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for 8755 TFmode too. 8756 87572001-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8758 8759 * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete 8760 references to the MAXPATHLEN macro. 8761 8762 * config/alpha/xm-alpha.h, config/arm/xm-arm.h, 8763 config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to 8764 the POSIX macro. 8765 8766 * config/i386/xm-gnu.h, config/xm-gnu.h, 8767 config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h, 8768 config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h, 8769 config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty 8770 and/or unused files. 8771 8772 * config.gcc: Define POSIX in xm_defines as appropriate in lieu of 8773 doing so in various xm-*.h files. 8774 8775Thu Mar 8 06:32:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 8776 8777 * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs. 8778 87792001-03-08 Alexandre Oliva <aoliva@redhat.com> 8780 8781 * configure.in (enable_shared): Support per-package shared-library 8782 enabling. 8783 * configure: Rebuilt. 8784 87852001-03-07 David Edelsohn <edelsohn@gnu.org> 8786 8787 * rs6000.md (cr logic): Add original POWER mnemonic alternative 8788 for crnot. Set operands[5] in splitter. 8789 87902001-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8791 8792 * config/i370/xm-mvs.h, config/i370/xm-oe.h, 8793 config/i386/xm-beos.h, config/i386/xm-mingw32.h, 8794 config/m88k/xm-m88k.h, config/mips/xm-iris6.h, 8795 config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h, 8796 config/pa/xm-pahpux.h, config/rs6000/xm-beos.h, 8797 config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h, 8798 config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references 8799 to the USG macro. 8800 8801 * config/vax/xm-vaxv.h, config/a29k/xm-unix.h, 8802 config/i370/xm-i370.h, config/i386/xm-dgux.h, 8803 config/i386/xm-sun.h, config/i386/xm-sysv3.h, 8804 config/m68k/xm-tower.h, config/m68k/xm-aux.h, 8805 config/m68k/xm-hp320.h, config/m68k/xm-amix.h, 8806 config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h, 8807 config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h, 8808 config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h, 8809 config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h, 8810 config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h: 8811 Delete unused and/or empty files. 8812 8813 * config.gcc: Define USG in xm_defines as appropriate. Define 8814 POSIX in lieu of xm-svr4.h. Delete all references to the SVR3 8815 macro. Remove deleted xm-* files from $xm_files variable. 8816 88172001-03-07 Tom Tromey <tromey@redhat.com> 8818 8819 * configure: Rebuilt. 8820 * configure.in: Allow config-lang.in to set `lang_requires' to list 8821 of other required languages. 8822 88232001-03-07 Andrew MacLeod <amacleod@redhat.com> 8824 8825 * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn 8826 after its emitted. 8827 (output_prologue): Use xmalloc not oballoc. 8828 (output_epilog): Free a29k_first_epilogue_insn when finished. 8829 * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand. 8830 88312001-03-07 Brad Lucier <lucier@math.purdue.edu> 8832 8833 * builtins.c (expand_builtin_mathfn): Check 8834 flag_unsafe_math_optimizations, not flag_fast_math. 8835 (expand_builtin): Likewise 8836 * combine.c (combine_simplify_rtx): Likewise. 8837 (simplify_if_then_else): Likewise. 8838 * cse.c (fold_rtx): Likewise. 8839 * flags.h: Remove flag_fast_math. Add 8840 flag_unsafe_math_optimizations and flag_trapping_math. 8841 * fold-const.c (negate_expr): Check 8842 flag_unsafe_math_optimizations, not flag_fast_math. 8843 (invert_truthvalue): Likewise. 8844 (fold): Likewise. Before associating operands, check that 8845 code == MULT_EXPR, not code != MULT_EXPR. 8846 * ifcvt.c (noce_try_minmax): Check 8847 flag_unsafe_math_optimizations, not flag_fast_math. 8848 (noce_operand_ok): Check flag_trapping_math, not flag_fast_math. 8849 * invoke.texi: Document -funsafe-math-optimizations and 8850 -fno-trapping-math. Change documentation for -ffast-math. 8851 * jump.c (reversed_comparison_code_parts): Likewise. 8852 (rtx_equal_for_thread_p): Likewise. 8853 * optabs.c (emit_conditional_move): Likewise. 8854 * simplify-rtx.c (simplify_binary_operation): Likewise. 8855 (simplify_relational_operation): Likewise. 8856 (simplify_ternary_operation): Likewise. 8857 * toplev.c: Remove flag_fast_math. Add flag_trapping_math and 8858 flag_unsafe_math_optimizations. Remove fast-math entry from f_options. 8859 Add trapping-math and unsafe-math-optimizations entries to f_options. 8860 (set_fast_math_flags): New, sets flags for -ffast-math. 8861 (set_no_fast_math_flags): New, sets flags for -fno-fast-math. 8862 (decode_f_option): Add code to handle -ffast-math and -fno-fast-math. 8863 * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags. 8864 8865 * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise. 8866 (alpha_emit_conditional_move): Initialize local_fast_math to 8867 flag_unsafe_math_optimizations, not flat_fast_math. 8868 * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags 8869 instead of setting flag_fast_math to 1. 8870 * config/convex/convex.md: Check flag_unsafe_math_optimizations, 8871 not flag_fast_math. 8872 * config/i386/i386.c (override_options): Likewise 8873 * config/i386/i386.md: Likewise. 8874 * config/m68k/m68k.md: Likewise. 8875 * config/mips/mips.md: Likewise. 8876 * config/rs6000/rs6000.c (validate_condition_mode): Likewise. 8877 (rs6000_generate_compare): Likewise. 8878 88792001-03-07 Laurynas Biveinis <lauras@softhome.net> 8880 8881 * Makefile.in: Set RANLIB to @RANLIB@. 8882 Remove RANLIB_TEST. 8883 88842001-03-07 Laurynas Biveinis <lauras@softhome.net> 8885 8886 * fixinc/inclhack.def (djgpp_wchar_h): New test. 8887 * fixinc/fixincl.x: Regenerated. 8888 88892001-03-07 Richard Henderson <rth@redhat.com> 8890 8891 * config/alpha/alpha.md (call_osf_1_noreturn): New pattern. 8892 88932001-03-07 Richard Henderson <rth@redhat.com> 8894 8895 * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting 8896 of block notes and exception handling notes. 8897 8898 * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized. 8899 * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ... 8900 (compile_file): ... here. 8901 89022001-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8903 8904 * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H. 8905 8906 * fixinc/gnu-regex.c: Don't include auto-host.h since we get 8907 config.h now. Include libiberty.h to handle alloca. 8908 89092001-03-06 Zack Weinberg <zackw@stanford.edu> 8910 8911 * c-parse.in (yylexname): New function, split out of _yylex. 8912 (objc_rid_sans_at): New table. 8913 (init_reswords): Initialize it. 8914 (_yylex): Give labels clearer names. Handle CPP_ATSIGN by 8915 retrieving the next token and checking it for significance as 8916 an ObjC keyword or string constant. 8917 8918 * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'. 8919 * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING. 8920 8921 * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references 8922 to CPP_OSTRING. 8923 89242001-03-06 Stephen L Moshier <moshier@mediaone.net> 8925 8926 * config/m68k/m68k.c (const_uint32_operand): Accept any 8927 const_int on a 32-bit host. 8928 89292001-03-06 Nicola Pero <n.pero@mi.flashnet.it> 8930 8931 * objc/objc-act.c (init_objc): Set save_lang_status, 8932 restore_lang_status, and mark_lang_status. 8933 89342001-03-06 Krister Walfridsson <cato@df.lth.se> 8935 8936 * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call. 8937 89382001-03-06 Neil Booth <neil@daikokuya.demon.co.uk> 8939 8940 * cppinternals.texi: Update. 8941 89422001-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8943 8944 * config/a29k/xm-a29k.h, config/a29k/xm-unix.h, 8945 config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h, 8946 config/c4x/xm-c4x.h, config/clipper/xm-clix.h, 8947 config/convex/xm-convex.h, config/d30v/xm-d30v.h, 8948 config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h, 8949 config/h8300/xm-h8300.h, config/i370/xm-i370.h, 8950 config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h, 8951 config/i386/xm-i386.h, config/i860/xm-i860.h, 8952 config/i960/xm-i960.h, config/ia64/xm-ia64.h, 8953 config/m32r/xm-m32r.h, config/m68k/xm-m68k.h, 8954 config/m88k/xm-m88k.h, config/mcore/xm-mcore.h, 8955 config/mips/xm-mips.h, config/mn10200/xm-mn10200.h, 8956 config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h, 8957 config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h, 8958 config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h, 8959 config/romp/xm-romp.h, config/rs6000/xm-beos.h, 8960 config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h, 8961 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h, 8962 config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h, 8963 config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h, 8964 config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which 8965 match the defaults provided in hwint.h. 8966 8967 * config/i386/xm-lynx.h, config/m68k/xm-lynx.h, 8968 config/sparc/xm-lynx.h, config/xm-std32.h: Delete files. 8969 8970 * config.gcc (xm_file): Don't set to files which are deleted. 8971 8972 * hwint.h: Provide default values for HOST_BITS_PER_*. No longer 8973 guard this file against these macros being undefined. 8974 89752001-03-06 Zack Weinberg <zackw@stanford.edu> 8976 8977 * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL 8978 and DECL_DEFER_OUTPUT on the decl we create, before calling 8979 rest_of_decl_compilation. 8980 89812001-03-06 Zack Weinberg <zackw@stanford.edu> 8982 8983 * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE 8984 AC_FUNC_ALLOCA. 8985 * configure, config.in: Regenerate. 8986 * config.gcc: Remove references to deleted files. 8987 8988 * genattr.c, genattrtab.c, genextract.c, genoutput.c, 8989 genrecog.c, rtl.c: Do not use alloca anywhere. 8990 8991 * Makefile.in, build-make, system.h, config/x-interix, 8992 config/x-svr4, config/xm-interix.h, config/xm-openbsd.h, 8993 config/alpha/xm-alpha.h, config/alpha/xm-vms.h, 8994 config/arc/xm-arc.h, config/arm/xm-arm.h, 8995 config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h, 8996 config/h8300/xm-h8300.h, config/i370/x-oe, 8997 config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos, 8998 config/i386/x-ncr3000, config/i386/x-sco5, 8999 config/i386/xm-dgux.h, config/i860/x-sysv4, 9000 config/i960/xm-i960.h, config/m32r/xm-m32r.h, 9001 config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320, 9002 config/m68k/x-hp320g, config/m69k/x-mot3300, 9003 config/m68k/x-mot3300-gas, config/m68k/xm-amix.h, 9004 config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h, 9005 config/m68k/xm-mot3300.h, config/m88k/x-dolph, 9006 config/m88k/x-sysv4, config/m88k/x-tekXD88, 9007 config/m88k/xm-m88k.h, config/mcore/xm-mcore.h, 9008 config/mips/x-iris, config/mips/x-iris3, 9009 config/mips/x-sni-svr4, config/mips/x-sysv, 9010 config/mips/xm-iris6.h, config/mips/xm-mips.h, 9011 config/mips/xm-nws3250v4.h, config/pa/x-hpux, 9012 config/pa/x-pa-mpeix, config/pa/xm-pa.h, 9013 config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h, 9014 config/pa/xm-papro.h, config/romp/xm-romp.h, 9015 config/rs6000/x-aix31, config/rs6000/x-aix41, 9016 config/rs6000/x-beos, config/rs6000/x-lynx, 9017 config/rs6000/x-mach, config/rs6000/x-rs6000, 9018 config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h, 9019 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h, 9020 config/sparc/x-sysv4, config/sparc/xm-linux.h, 9021 config/sparc/xm-pbd.h, config/sparc/xm-sparc.h, 9022 config/vax/xm-vms.h: Eradicate all references to alloca and 9023 related stuff. 9024 9025 * config/xm-alloca.h, config/clipper/x-clix, 9026 config/i386/xm-sysv4.h, config/i860/x-fx2800, 9027 config/i860/x-sysv3, config/m88k/x-sysv3, 9028 config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete 9029 (contained only alloca related hacks). 9030 9031 * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define 9032 USE_C_ALLOCA. 9033 90342001-03-05 Brad Lucier <lucier@math.purdue.edu> 9035 9036 * invoke.texi: Document __FAST_MATH__. 9037 90382001-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9039 9040 * crtstuff.c: Restore include of auto-host.h. 9041 90422001-03-05 Fergus Henderson <fjh@cs.mu.oz.au> 9043 9044 Put main() in a separate file, so that the language 9045 front-end can use a different main(). 9046 9047 * main.c: New. 9048 * toplev.c: (main): Rename as toplev_main. 9049 * toplev.h: Declare toplev_main. 9050 * Makefile.in (OBJS): add toplev.o. 9051 (BACKEND): remove toplev.o, add main.o. 9052 90532001-03-04 Neil Booth <neil@daikokuya.demon.co.uk> 9054 9055 * cppfiles.c (search_from): Special case the empty string. 9056 90572001-03-04 Neil Booth <neil@daikokuya.demon.co.uk> 9058 9059 * cppfiles.c (_cpp_execute_include): Don't make a null-terminated 9060 copy of the filename. Don't use CPP_PREV_BUFFER. Don't call 9061 strlen or strcpy; we already know the length. 9062 (_cpp_compare_file_date): Similarly. 9063 * cpphash.h (struct cpp_reader): Delete done_initialising. 9064 (CPP_PREV_BUFFER): Delete. 9065 * cppinit.c (cpp_start_read): Don't set done_initialising. 9066 * cpplex.c (parse_string): Guarantee null-termination. 9067 (_cpp_equiv_toklists): Remove. 9068 * cpplib.c (glue_header_name): Null-terminate. 9069 (do_line): Don't leak memory. 9070 * cpplib.h (BT_WEAK): Delete. 9071 * cppmain.c (cb_ident): Strings are now null-terminated. 9072 90732001-03-04 Laurynas Biveinis <lauras@softhome.net> 9074 9075 * gcc.c (convert_filename): Append executable suffix 9076 if NO_AUTO_EXE_SUFFIX is not defined. 9077 * gcc.texi: Document NO_AUTO_EXE_SUFFIX. 9078 * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX. 9079 90802001-03-03 David O'Brien <obrien@FreeBSD.org> 9081 9082 from 2000-09-06 Zack Weinberg <zack@wolery.cumb.org> 9083 * c-parse.gperf, c-gperf.h: Delete. 9084 (c-gperf.h was accidently re-added to the CVS repo in the rev 9085 1.16 commit by tromey) 9086 90872001-03-03 Neil Booth <neil@daikokuya.demon.co.uk> 9088 9089 * cpplex.c (_cpp_lex_token): Don't warn about directives in 9090 macro arguments when looking for the '('. 9091 * cppmacro.c (funlike_invocation_p): Set parsing_args to 9092 2 when really parsing arguments; 1 when looking for '('. 9093 Always restore the lexer position. 9094 90952001-03-03 Neil Booth <neil@daikokuya.demon.co.uk> 9096 9097 * longlong.h (umul_ppmm): Don't use a multiline string. 9098 90992001-03-03 John David Anglin <dave@hiauly1.hia.nrc.ca> 9100 9101 * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef. 9102 * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of 9103 t_bool in declaration because pcc can't combine volatile with typedef 9104 types. 9105 9106Sat Mar 3 19:47:13 CET 2001 Jan Hubicka <jh@suse.cz> 9107 9108 * i386.c (ix86_expand_fp_compare): Delay creating of scratch register 9109 until when it is really needed. 9110 (ix86_expand_compare): Update call of ix86_expand_fp_compare. 9111 * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator 9112 * i386.md (float?i?f splitter): Don't force source operand to memory 9113 for SSE. 9114 (sse_movdfcc): Fix constraint. 9115 (sse_movdfcc splitter): Handle properly the second alternative. 9116 91172001-03-03 Neil Booth <neil@daikokuya.demon.co.uk> 9118 9119 * cpplex.c (parse_string): Unconditionally pedwarn. 9120 91212001-03-03 Neil Booth <neil@daikokuya.demon.co.uk> 9122 9123 * cpp.texi: Update. 9124 * cppexp.c (parse_number): Update. 9125 * cpplex.c (parse_string): Pedwarn if multiline string does not 9126 result from a system header's macro. 9127 * cpplib.h (sys_objmacro_p): Rename sys_macro_p. 9128 * cppmacro.c (sys_objmacro_p): Rename sys_macro_p. Return true 9129 for function-like macros too. 9130 * c-lex.c (lex_number): Update. 9131 91322001-03-03 Richard Henderson <rth@redhat.com> 9133 9134 * dwarf2out.c (output_call_frame_info): Fix augmentation length. 9135 9136Sat Mar 3 04:17:17 2001 J"orn Rennecke <amylaar@redhat.com> 9137 9138 * combine.c (try_combine): If split with mode-changed scratch 9139 register didn't work, try the original mode. 9140 9141Sat Mar 3 03:46:47 2001 J"orn Rennecke <amylaar@redhat.com> 9142 9143 * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK. 9144 * config/c4x/c4x.h: Likewise. 9145 * stor-layout.c (compute_record_mode): Likewise. 9146 (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK. 9147 91482001-03-02 Zack Weinberg <zackw@stanford.edu> 9149 9150 * configure.in: Kill tm.h. Include the files in the $tm_file 9151 list in all three of config.h, hconfig.h, tconfig.h, after the 9152 relevant set of xm_files. Put TARGET_CPU_DEFAULT in all 9153 three, include insn-codes.h in all three (#ifndef GENERATOR_FILE). 9154 * configure: Regenerate. 9155 * Makefile.in (clean): Don't delete tm.h. 9156 9157 * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not 9158 defined, set them from EXIT_SUCCESS and EXIT_FAILURE. If 9159 those are not defined, set SEC and FEC to 0 and 1. 9160 * gcc.texi: Update to match. 9161 9162 * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h. 9163 * config/fp-bit.c, config/m68k/aux-crt2.asm, 9164 config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c: 9165 Include tconfig.h, not tm.h. 9166 9167 * config/xm-lynx.h, config/xm-std32.h, 9168 config/a29k/xm-a29k.h, config/a29k/xm-unix.h, 9169 config/alpha/xm-alpha.h, config/arc/xm-arc.h, 9170 config/avr/xm-avr.h, config/c4x/xm-c4x.h, 9171 config/clipper/xm-clix.h, config/convex/xm-convex.h, 9172 config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h, 9173 config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h, 9174 config/h8300/xm-h8300.h, config/i370/xm-linux.h, 9175 config/i386/xm-i386.h, config/i860/xm-i860.h, 9176 config/i960/xm-i960.h, config/ia64/xm-ia64.h, 9177 config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h, 9178 config/m88k/xm-m88k.h, config/mcore/xm-mcore.h, 9179 config/mips/xm-mips.h, config/mn10200/xm-mn10200.h, 9180 config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h, 9181 config/pa/xm-linux.h, config/pa/xm-pa.h, 9182 config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h, 9183 config/pa/xm-papro.h, config/pdp11/xm-pdp11.h, 9184 config/pj/xm-pj.h, config/romp/xm-romp.h, 9185 config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h, 9186 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h, 9187 config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h, 9188 config/v850/xm-v850.h, config/vax/xm-vax.h, 9189 config/we32k/xm-we32k.h: 9190 Don't include tm.h. 9191 Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE. 9192 9193 * config/i370/xm-i370.h, config/i370/xm-mvs.h, 9194 config/i370/xm-oe.h: Don't include tm.h. Don't define 9195 SUCCESS_EXIT_CODE. 9196 * config/vax/xm-vms.h: Don't include tm.h. 9197 9198 * config/xm-lynx.h, config/avr/xm-avr.h, 9199 config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h, 9200 Delete; made empty by above changes. 9201 * config/i386/xm-lynx.h, config/m68k/xm-lynx.h, 9202 config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h: 9203 Don't include config/xm-lynx.h or tm.h. 9204 9205 * config/xm-gnu.h: Don't include fcntl.h. 9206 * config/sparc/xm-lynx.h: Don't include sys/types.h and 9207 sys/wait.h. 9208 * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf. 9209 92102001-03-02 Richard Henderson <rth@redhat.com> 9211 9212 * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP, 9213 UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP. 9214 92152001-03-02 Richard Henderson <rth@redhat.com> 9216 9217 * Makefile.in (OBJS): Add dwarf2asm.o. 9218 * dwarf2asm.c, dwarf2asm.h: New files. 9219 * dwarf2out.c (*): Use them. 9220 (size_of_uleb128, size_of_sleb128): Remove. 9221 (output_uleb128, output_sleb128): Remove. 9222 (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove. 9223 (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove. 9224 (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove. 9225 (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New. 9226 (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove. 9227 (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove. 9228 (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove. 9229 (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove. 9230 (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove. 9231 (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove. 9232 (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove. 9233 (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove. 9234 (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove. 9235 (dwarf2out_frame_debug): Remove unused variables. 9236 (output_loc_operands): Don't abort on 8 byte constants if 9237 host integers are wide enough. 9238 (output_symbolic_ref): Remove. 9239 (size_of_die): Don't assume 4 byte host integers. 9240 (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin 9241 and end labels. 9242 (add_const_value_attribute) [CONST_INT]: Verify we're not doing 9243 something stupid with HOST_WIDE_INT to long truncation. 9244 [CONST_DOUBLE]: Likewise. 9245 9246 * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove. 9247 (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove. 9248 * config/arm/unknown-elf.h: Likewise. 9249 * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New. 9250 (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New. 9251 (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove. 9252 (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove. 9253 (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove. 9254 (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove. 9255 (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove. 9256 (ASM_OUTPUT_DWARF_OFFSET): Remove. 9257 * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove. 9258 * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New. 9259 (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove. 9260 (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove. 9261 92622001-03-02 John David Anglin <dave@hiauly1.hia.nrc.ca> 9263 9264 * cselib.c (hash_rtx): Cast enums to unsigned int. 9265 92662001-03-02 John David Anglin <dave@hiauly1.hia.nrc.ca> 9267 9268 * print-rtl.c (print_rtx): Cast enums to int for comparison. 9269 * c-decl.c (grokdeclarator): Cast enums to int for comparison and 9270 shifts. 9271 * c-format.c (C_STD_VER): Cast to int for comparisons. 9272 (check_function_format): Cast various enums to int for &. 9273 (maybe_read_dollar_number): Likewise. 9274 (check_format_info): Likewise. 9275 (check_format_info_main): Likewise. 9276 * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison. 9277 (safe_from_p): Likewise. 9278 * varasm.c (const_hash): Cast enum to int for %. 9279 * emit-rtl.c (init_emit_once): Use int loop variable to work around 9280 pcc enum problems with < and ++ operators. 9281 * regclass.c (init_reg_sets_1): Cast enums for comparison. 9282 (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes. 9283 (regclass_init): Change enum class to int to iterate over reg_classes. 9284 * genrecog.c (merge_trees): Cast enums for comparison. 9285 * rtl.h (GET_CODE): Cast to enum rtx_code. 9286 (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code). 9287 (GET_MODE): Cast to enum machine_mode. 9288 (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode). 9289 (GET_NOTE_INSN_NAME): Cast enum to int. 9290 * tree.h (TREE_CODE): Cast to enum tree_code. 9291 (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code). 9292 * timevar.c (timevar_print): Change loop variable id from enum to 9293 unsigned int. 9294 * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int. 9295 * config/i386/i386.md: Use PUT_MODE for mode assignment. 9296 * toplev.c (compile_file): Cast enum DFI to int. 9297 (decode_d_option): Likewise. 9298 9299Fri Mar 2 12:18:13 2001 Christopher Faylor <cgf@cygnus.com> 9300 9301 * cppinit.c (append_include_chain): Mark "after" include file name list 9302 as a system directory. 9303 * cpp.texi: Document new behavior. 9304 9305Fri Mar 2 11:59:43 CET 2001 Jan Hubicka <jh@suse.cz> 9306 9307 * ifcvt.c (noce_operand_ok): Handle properly unarry operations. 9308 93092001-03-02 Neil Booth <neil@daikokuya.demon.co.uk> 9310 9311 * cppfiles.c (struct include_file): Update. 9312 (stack_include_file): Use search_from. 9313 (cpp_included, find_include_file): Update. 9314 (cpp_execute_include): Update. ptr->name may not be 9315 null terminated. Use the new search_from member variable 9316 of cpp_buffer. 9317 (_cpp_compare_file_date): Similarly. 9318 (search_from): New function, similar to actual_directory. 9319 (actual_directory): Delete. 9320 (remap_filename): Update. loc->name may not be null terminated. 9321 (struct file_name_list): Rename search_path. Update. 9322 * cpphash.h (struct cpp_buffer): Delete actual_dir. New members 9323 search_from and dir. 9324 (struct cpp_reader): Remove actual_dirs. 9325 * cppinit.c (struct cpp_pending): Update for renamed objects. 9326 (append_include_chain, remove_dup_dir, remove_dup_dirs, 9327 merge_include_chains, cpp_destroy, cpp_start_read): Similarly. 9328 * cpplib.h (struct cpp_options): Similarly. 9329 93302001-03-01 Zack Weinberg <zackw@stanford.edu> 9331 9332 * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h, 9333 config/a29k/xm-unix.h, config/alpha/xm-alpha.h, 9334 config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h, 9335 config/clipper/xm-clix.h, config/convex/xm-convex.h, 9336 config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h, 9337 config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h, 9338 config/h8300/xm-h8300.h, config/i370/xm-i370.h, 9339 config/i370/xm-linux.h, config/i370/xm-mvs.h, 9340 config/i370/xm-oe.h, config/i386/xm-aix.h, 9341 config/i386/xm-i386.h, config/i386/xm-osf.h, 9342 config/i860/xm-i860.h, config/i960/xm-i960.h, 9343 config/ia64/xm-ia64.h, config/m32r/xm-m32r.h, 9344 config/m68k/xm-m68k.h, config/m88k/xm-m88k.h, 9345 config/mcore/xm-mcore.h, config/mips/xm-mips.h, 9346 config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h, 9347 config/ns32k/xm-ns32k.h, config/pa/xm-linux.h, 9348 config/pa/xm-pa.h, config/pa/xm-pa64hpux.h, 9349 config/pa/xm-pahpux.h, config/pa/xm-papro.h, 9350 config/pj/xm-pj.h, config/romp/xm-romp.h, 9351 config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h, 9352 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h, 9353 config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h, 9354 config/v850/xm-v850.h, config/vax/xm-vax.h, 9355 config/vax/xm-vms.h, config/we32k/xm-we32k.h: 9356 Do not define TRUE or FALSE. 9357 9358 * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made 9359 empty by above change. 9360 * config.gcc: Remove references to these files. 9361 9362 * configure.in: Detect stdbool.h. 9363 * configure, config.in: Regenerate. 9364 * system.h: Include stddef.h here if available. 9365 Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__. 9366 Then set up a sensible boolean type at the very end. 9367 9368 * combine.c, cse.c, expr.c, fold-const.c, gensupport.c, 9369 config/mcore/mcore.c: Rename variables named 'true' and/or 'false'. 9370 9371 * hash.h: Delete 'boolean' typedef and related #undefs. 9372 9373 * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace 9374 all uses of 'boolean' with 'bool'. 9375 93762001-03-01 John David Anglin <dave@hiauly1.hia.nrc.ca> 9377 9378 * cpplib.c (_cpp_init_stacks): Cast enum for comparison. 9379 * cppexp.c (lex): Cast enums for comparison. 9380 * cppinit.c (parse_option): Cast enum for comparison. 9381 * cpplex.c (cpp_spell_token): Cast enums to int for minus. 9382 (cpp_output_token): Likewise. 9383 (cpp_can_paste): Cast enums for comparsion and plus/minus. 9384 (cpp_avoid_paste): Cast enums for minus and comparison. 9385 93862001-03-01 Zack Weinberg <zackw@stanford.edu> 9387 9388 * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec 9389 field to all array elements. 9390 93912001-03-01 Zack Weinberg <zackw@stanford.edu> 9392 9393 * cpphash.h (struct cpp_reader): Add print_version field. 9394 * cppinit.c (cpp_handle_option): For -v, -version, and --version, 9395 just set print_version and other flags as appropriate. 9396 (cpp_post_options): Print version here if print_version is set. 9397 9398 * toplev.c (exit_after_options): New flag. 9399 (independent_decode_option): Don't exit here; just set 9400 exit_after_options. 9401 (main): Exit after calling lang_hooks.post_options if 9402 exit_after_options is true. 9403 9404 * cppinit.c (append_include_chain): Drop never-used case QUOTE. 9405 (merge_include_chains): Adjust comment to match code. 9406 94072001-03-01 Zack Weinberg <zackw@stanford.edu> 9408 9409 * stringpool.c (set_identifier): New function. 9410 * tree.h: Prototype it. 9411 9412 * c-parse.in: Kill D_YES. If compiled for objc, call 9413 save_and_forget_protocol_qualifiers from init_reswords. 9414 * objc/objc-act.c (remember_protocol_qualifiers, 9415 forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD. 9416 Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or 9417 vice versa. 9418 (save_and_forget_protocol_qualifiers): New function. 9419 * c-lex.h: Prototype save_and_forget_protocol_qualifiers. 9420 94212001-03-01 Diego Novillo <dnovillo@redhat.com> 9422 9423 * c-semantics.c (prune_unused_decls): Return error_mark_node 9424 instead of (tree) 1 to stop traversing the tree chain. 9425 94262001-03-01 Bernd Schmidt <bernds@redhat.com> 9427 9428 Fix a problem introduced by Kenner's Feb 18 change. 9429 * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and 9430 flag_cse_skip_blocks only temporarily, not for ever. 9431 9432Thu Mar 1 09:49:58 2001 Jeffrey A Law (law@cygnus.com) 9433 9434 * config/pa/som.h (ASM_IDENTIFY_GCC): Define. 9435 (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise. 9436 9437 * pa.c (emit_move_sequence): Verify operand0 is a hard register 9438 before determining its register class. 9439 94402001-03-01 Bernd Schmidt <bernds@redhat.com> 9441 9442 * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming 9443 from reg 4 if current_function_calls_setjmp. 9444 (gen_nop_type): New function. 9445 (ia64_emit_nops): New function. 9446 (ia64_reorg): Call it. 9447 (ia64_sched_reorder): Move code that rotates bundles up a bit. 9448 9449 * reload1.c (eliminate_regs_in_insn): Restrict the special case 9450 code not to try to optimize adds with anything but a REG destination. 9451 9452 * sched-int.h (struct haifa_insn_data): Add new member priority_known. 9453 (INSN_PRIORITY_KNOWN): New accessor macro. 9454 * haifa-sched.c (priority): Use it instead of testing priority against 9455 zero. 9456 94572001-02-28 DJ Delorie <dj@redhat.com> 9458 9459 * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes, 9460 since that doesn't work the way gcc wants on a generic m68k. 9461 94622001-02-28 Richard Henderson <rth@redhat.com> 9463 9464 * caller-save.c (save_call_clobbered_regs): Fix typo in 9465 comparison last change. 9466 9467Wed Feb 28 19:31:42 CET 2001 Jan Hubicka <jh@suse.cz> 9468 9469 * i386.c (pentium4_cost): New. 9470 (m_PENT4): New macro. 9471 (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf 9472 x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8 9473 x86_integer_DFmode_moves, x86_partial_reg_dependency, 9474 x86_memory_mismatch_stall): Add Pentium4 9475 (x86_use_q_reg, x86_use_any_reg): Kill. 9476 (override_options): Add pentium4. 9477 (incdec_operand): Return 0 for pentium4. 9478 (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON. 9479 * i386.h (x86_use_q_reg, x86_use_any_reg): Kill. 9480 (TARGET_PENTIUM4): Define. 9481 (enum processor_type): Add PROCESSOR_PENTIUM4. 9482 (CPP_CPU_DEFAULT_SPEC): Add pentium4 support. 9483 * i386.md (attribute "cpu"): Add pentium4. 9484 * invoke.texi (march): Add pentium4. 9485 9486Wed Feb 28 19:28:06 CET 2001 Jan Hubicka <jh@suse.cz> 9487 9488 * i386.md (sse_mov?fcc*): New patterns and splitters. 9489 * i386.c (ix86_expand_movcc): Work post-reload; recognize 9490 the SSE based conditional moves. 9491 9492Wed Feb 28 19:18:23 CET 2001 Jan Hubicka <jh@suse.cz> 9493 9494 * i386.md (attribute mode): Add "TI". 9495 (movsf_1): Add pxor support; remove constant propagation splitter. 9496 (movdf_integer): Likewise. 9497 (movdf_nointeger): Likewise. 9498 (movxf constant prop splitter): Handle all modes; update for SSE. 9499 * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants. 9500 * i386.c (standard_80387_constant_p): Rewrite. 9501 (standard_sse_constant_p): New. 9502 * i386-protos.h (standard_sse_constant_p): New. 9503 9504Wed Feb 28 19:05:37 CET 2001 Jan Hubicka <jh@suse.cz> 9505 9506 * i386.md (sse_setccsf, sse_setccdf): New. 9507 (sse_cmp* patterns): Use '%D' instead of outputtting condition 9508 flag directly. 9509 * i386.c (sse_comparison_operator): Accept the supported unordered 9510 comparses; be ready for fast_math. 9511 (print_operand): Support 'D'. 9512 9513Wed Feb 28 18:54:51 CET 2001 Jan Hubicka <jh@suse.cz> 9514 9515 * jump.c (reversed_comparison_code): Kill. 9516 9517Wed Feb 28 18:50:15 CET 2001 Jan Hubicka <jh@suse.cz> 9518 9519 * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally 9520 for STACK_REGS 9521 9522Wed Feb 28 18:47:37 CET 2001 Jan Hubicka <jh@suse.cz> 9523 9524 * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions; 9525 add missing '%' in constraints. 9526 9527Wed Feb 28 17:24:24 CET 2001 Jan Hubicka <jh@suse.cz> 9528 9529 * c-common.c (build_common_tree_nodes): Build intTI_type_nodes 9530 for HOST_BITS_PER_WIDE_INT == 32 too. 9531 9532Wed Feb 28 17:22:35 CET 2001 Jan Hubicka <jh@suse.cz> 9533 9534 * caller-save.c (reg_save_code, reg_restore_code): Index by mode, not 9535 NREGS. 9536 (insert_save, insert_restore): New parameter save_mode. 9537 (init_caller_save): Update initialization of reg_save_code 9538 and reg_restore_code. 9539 (save_call_clobbered_regs): Compute save_modes and update calls to 9540 reg_save_code and reg_restore_code. 9541 (insert_restore): Unsignetize numbers; use save_modes to choose mode 9542 of spill; update use of reg_restore_code. 9543 (insert_save): Likewise. 9544 * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update. 9545 * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update. 9546 * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise. 9547 9548Wed Feb 28 17:19:28 CET 2001 Jan Hubicka <jh@suse.cz> 9549 9550 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants, 9551 noce_try_store_flag_inc, noce_try_store_flag_mask, 9552 noce_try_cmove_arith): 9553 Use reversed_comparison_code instead of reverse_comparison and 9554 can_reverse_comparison_p. 9555 9556Wed Feb 28 17:17:29 CET 2001 Jan Hubicka <jh@suse.cz> 9557 9558 * jump.c (reversed_comparison_code_parts): Allow reversal of 9559 unordered compares in -ffast-math mode; reverse ordered compares 9560 for FP even w/o -ffast-math. 9561 95622001-02-27 Richard Henderson <rth@redhat.com> 9563 9564 * print-rtl.c (print_rtx) [i]: Don't print field five on 9565 NOTEs other than NOTE_INSN_DELETED_LABEL. 9566 95672001-02-27 Zack Weinberg <zackw@stanford.edu> 9568 9569 * mips/xm-iris4.h: Delete #if 0 block (there since before 1997). 9570 * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno. 9571 95722001-02-27 Diego Novillo <dnovillo@redhat.com> 9573 9574 * c-common.c (walk_stmt_tree): Visit the chain of the current tree 9575 even if walk_subtrees is 0. 9576 * c-semantics.c (prune_unused_decls): Return a non-null value to 9577 stop traversing the tree chain. 9578 95792001-02-27 DJ Delorie <dj@redhat.com> 9580 9581 * config/m68k/m68k.c (output_function_prologue): Save the new CFA 9582 register, *then* define it as the new CFA. 9583 9584Tue Feb 27 16:49:13 2001 Jeffrey A Law (law@cygnus.com) 9585 9586 * pa.c (override_options): Promote -fpic to -fPIC. 9587 (legitimize_pic_address): Simplify due to removal of 9588 small PIC as a code generation option. 9589 (secondary_reload_class): Similarly. 9590 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly. 9591 (PRINT_OPERAND_ADDRESS): Similarly. 9592 * pa.md (various patterns): Similarly. 9593 (small pic lo_sum pattern): Remove. 9594 9595Tue Feb 27 16:01:13 CET 2001 Jan Hubicka <jh@suse.cz> 9596 Fergus Henderson 9597 9598 * md.texi (min, max): Document 9599 9600Tue Feb 27 15:51:35 CET 2001 Jan Hubicka <jh@suse.cz> 9601 9602 * i386.md (movsf, movdf): Use movaps for reg-reg moves if 9603 TARGET_PARTIAL_REG_DEPENDENCY. 9604 (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case. 9605 9606Tue Feb 27 15:36:48 CET 2001 Jan Hubicka <jh@suse.cz> 9607 9608 * i386.md (mins*, maxs*): New patterns, expanders and splitters. 9609 96102001-02-26 Jeffrey Oldham <oldham@codesourcery.com> 9611 9612 * mips.c (mips_make_temp_file): Fix thinko in last change. 9613 96142001-02-26 Jason Eckhardt <jle@redhat.com> 9615 9616 * combine.c (known_cond): Do not reverse the condition when 9617 SMAX/UMAX is being considered and the condition is for equality 9618 or inequality. 9619 9620 * testsuite/gcc.c-torture/execute/20010221-1.c: New test. 9621 96222001-02-26 Philip Blundell <philb@gnu.org> 9623 9624 * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and 9625 "armv2-*-linux". 9626 * config/arm/linux-elf.h: Remove historical relics related to 9627 above configurations. 9628 * config/arm/linux-oldld.h: Delete. 9629 * config/arm/linux-elf26.h: Delete. 9630 96312001-02-26 Jason Merrill <jason@redhat.com> 9632 9633 * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope 9634 definitions. 9635 * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to 9636 recognize a tentative definition. Lose obsolete code. 9637 9638 * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT 9639 variables unless necessary, either. 9640 96412001-02-25 Richard Henderson <rth@redhat.com> 9642 9643 * ifcvt.c (struct noce_if_info): Add test_bb. 9644 (noce_get_alt_condition): New. 9645 (noce_try_minmax, noce_try_abs): New. 9646 (noce_operand_ok): New. 9647 (noce_process_if_block): Use them. 9648 * rtlanal.c (may_trap_p): NEG and ABS can never trap. 9649 9650Sun Feb 25 14:26:17 2001 Christopher Faylor <cgf@cygnus.com> 9651 9652 * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api 9653 include. 9654 96552001-02-25 Zack Weinberg <zackw@stanford.edu> 9656 9657 * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd. 9658 * config/mips/mips.c (mips_make_temp_file): Set temp_filename 9659 properly. 9660 (mips_asm_file_end): Free temp_filename here. 9661 9662Sun Feb 25 08:34:23 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 9663 9664 * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl. 9665 * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo. 9666 9667 * config/i386/i386.md (movstrsi): Handle FAIL case. 9668 96692001-02-25 Neil Booth <neil@daikokuya.demon.co.uk> 9670 9671 * cppinit.c (builtin_array): Update. 9672 (init_builtins): Flag builtins to warn if redefined or 9673 undefined. Define __GXX_WEAK as a normal macro. 9674 * cpplib.c (do_undef): Warn if flagged NODE_WARN. 9675 * cpplib.h (NODE_WARN): New flag. 9676 * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__. 9677 Handle __STDC__ as a builtin only on Solaris. 9678 (warn_of_redefinition): Renamed from check_macro_definition. 9679 Reverse sense of test. Always warn if NODE_WARN. 9680 (_cpp_create_definition): Use warn_of_redefinition. Flag 9681 any macro beginning with "__STDC_" to require a mandatory 9682 warning if redefined or undefined. 9683 96842001-02-24 Zack Weinberg <zackw@stanford.edu> 9685 9686 * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h, 9687 i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h, 9688 i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h, 9689 i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h, 9690 m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h, 9691 mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h: 9692 Don't define any of: 9693 USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H, 9694 P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS, 9695 NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex, 9696 index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK, 9697 STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN. 9698 9699 * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h, 9700 fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro 9701 definitions. 9702 9703 * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h: 9704 Delete now-empty file. 9705 9706 * alpha/vms.h: Define NEED_ATEXIT here... 9707 * alpha/xm-vms.h: ...not here. 9708 9709 * i386/cygwin.h: Don't define PARAMS. 9710 * mips/mips.c: Don't prototype mktemp. Don't define 9711 P_tmpdir. Use make_temp_file to create temporary files. 9712 Don't be clever and delete temporary files early. 9713 * config.gcc: Drop references to deleted files. Don't define 9714 FULL_PROTOTYPES. 9715 * gcc.texi: Don't mention USE_PROTOTYPES. 9716 9717Sat Feb 24 20:25:29 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 9718 9719 * config/i386/i386.c (ix86_set_move_mem_attrs): New function. 9720 (ix86_set_move_mem_attrs_1): Likewise. 9721 * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration. 9722 * config/i386/i386.md (movstrsi): Call it. 9723 97242001-02-24 Zack Weinberg <zackw@stanford.edu> 9725 9726 * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd, 9727 x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv, 9728 ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas, 9729 rs6000/x-aix41-gld. These are nonexistent, empty, or obsolete. 9730 9731 (i750a-*-*): Error here if hosting on i750a. 9732 (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely. 9733 9734 * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h: 9735 Remove (empty modulo comments). 9736 9737 * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h, 9738 alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h, 9739 i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h, 9740 i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs, 9741 mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas, 9742 rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete) 9743 9744 * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h: 9745 Remove reference to winnt.h in comment. 9746 * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null. 9747 97482001-02-24 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 9749 9750 * loop.c (check_dbra_loop): A biv has uses besides counting if it is 9751 used to set another biv. 9752 9753Sat Feb 24 06:45:21 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 9754 9755 * tree.h (BLOCK_DEAD): New macro. 9756 (struct tree_block): New flag, dead_flag. 9757 * print-tree.c (print_node, case 'b'): Print missing fields. 9758 * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD. 9759 * function.c (identify_blocks): Enable test for misplaced notes. 9760 (all_blocks): Skip BLOCK_DEAD blocks. 9761 * integrate.c (integrate_decl_tree): Likewise. 9762 9763 * errors.c (internal_error, trim_filename): New functions. 9764 (fancy_abort): Call internal_error. 9765 * errors.h (internal_error, trim_filename): New declarations. 9766 97672001-02-24 Alexandre Oliva <aoliva@redhat.com> 9768 9769 * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted 9770 2000-08-26's patch. 9771 (EXTRA_CONSTRAINT): Formatting changes. 9772 97732001-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9774 9775 * rtl.c (rtl_check_failed_code2): Fix typo in last change. 9776 97772001-02-23 Per Bothner <per@bothner.com> 9778 9779 * gcc.c (record_temp_file, pfatal_with_name, error): Make non-static, 9780 so they can be called from java/jvspec.c. 9781 * gcc.h (record_temp_file, pfatal_with_name, error): Declare. 9782 9783Sat Feb 24 03:32:50 CET 2001 Jan Hubicka <jh@suse.cz> 9784 9785 * i386.c (ix86_frame): New structure. 9786 (ix86_compute_frame_size): Kill. 9787 (ix86_compute_frame_layout): New. 9788 (ix86_save_reg): New. 9789 (ix86_can_use_return_insn_p): Use frame layout stuff. 9790 (ix86_expand_prologue): Likewise. 9791 (ix86_expand_epilogue): Likewise. 9792 (ix86_initial_elimination_offset): Likewise. 9793 (ix86_nsaved_regs): Use ix86_save_reg. 9794 (ix86_emit_save_regs): Likewise. 9795 9796Sat Feb 24 03:30:38 CET 2001 Jan Hubicka <jh@suse.cz> 9797 9798 * flow.c (find_sub_basic_blocks): New function. 9799 (split_block): Be ready for basic block introduced by CODE_LABEL. 9800 (commit_one_edge_insertion): Call find_sub_basic_block. 9801 9802 * flow.c (make_edges): Add edge from entry for blocks starting with 9803 label having ALTERNATE_NAME 9804 9805Sat Feb 24 03:19:42 CET 2001 Jan Hubicka <jh@suse.cz> 9806 9807 * function.c (epilogue_done): Be ready for first basic block not 9808 containing PROLOGUE_END note. 9809 (reposition_prologue_and_epilogue_notes): Avoid placing 9810 PROLOGUE_END note between BASIC_BLOCK. 9811 9812Sat Feb 24 03:17:09 CET 2001 Jan Hubicka <jh@suse.cz> 9813 9814 * loop.c (canonicalize_condition): Move to reversed_comparison_code. 9815 98162001-02-21 DJ Delorie <dj@redhat.com> 9817 9818 * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of 9819 check for current_function_has_nonlocal_goto from 1999-11-12. 9820 9821Fri Feb 23 15:28:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 9822 9823 * diagnostic.c (trim_filename): No longer static. 9824 * toplev.h (trim_filename): Declare. 9825 * rtl.c (rtl_check_failed_bounds): Call internal_error. 9826 (rtl_check_failed_type1, rtl_check_failed_type2): Likewise. 9827 (rtl_check_failed_code1, rtl_check_failed_code2): Likewise. 9828 (rtvec_check_failed_bounds): Likewise. 9829 * tree.c (tree_check_failed, tree_class_check_failed): Likewise. 9830 9831 * convert.c (convert_to_integer): Don't do unsigned unless result or 9832 both inputs are unsigned. 9833 9834 * fold-const.c (fold_convert): Don't call size_int_type_wide if 9835 input overflows. 9836 9837 * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK. 9838 9839 * varasm.c (output_constant): Recompute CODE after lang-specific fn. 9840 98412001-02-23 Jeffrey Oldham <oldham@codesourcery.com> 9842 9843 * Makefile.in (resource.o): Add params.h dependence. 9844 * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter. 9845 * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise. 9846 * resource.c: Add dependence on params.h. 9847 (current_live_regs): Fix explanatory comment. 9848 (find_basic_block): Add new parameter to permit limiting search 9849 for a BARRIER. 9850 (mark_target_live_regs): Add new argument to find_basic_block call. 9851 (incr_ticks_for_insn): Likewise. 9852 98532001-02-23 Gabriel Dos Reis <gdr@merlin.codesourcery.com> 9854 9855 * diagnostic.c (output_to_stream): Rename to 9856 output_buffer_to_stream. Loses the stream parameter. 9857 (init_output_buffer): Set diagnosic_buffer's stream. 9858 (flush_diagnostic_buffer): Adjust. 9859 (default_print_error_function): Likewise. 9860 (finish_diagnostic): Likewise. 9861 (verbatim): Likewise. 9862 9863 * diagnostic.h (struct output_buffer): Add `stream' field. 9864 (output_buffer_attached_stream): New macro. 9865 98662001-02-23 Jakub Jelinek <jakub@redhat.com> 9867 9868 * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR, 9869 check if either operand is divisible by C. 9870 (multiple_of_p): Handle LSHIFT_EXPR with small constant shift. 9871 If type is signed, consider negative numbers as well. 9872 98732001-02-22 Richard Henderson <rth@redhat.com> 9874 9875 * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to 9876 reach .text instead of gp-relative relocs. 9877 * config/ia64/crtend.asm (.init): Likewise. 9878 98792001-02-22 Andreas Jaeger <aj@suse.de> 9880 9881 * extend.texi (C++ Attributes): Fix typo. 9882 98832001-02-21 David Mosberger <davidm@hpl.hp.com> 9884 9885 * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage 9886 functions, drop current_function_args_info.words test. 9887 (ia64_compute_frame_size): Mark syscall_linkage functions as 9888 using eight input registers. 9889 98902001-02-21 Loren J. Rittle <ljrittle@acm.org> 9891 Bruce Korb <bkorb@gnu.org> 9892 9893 * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix 9894 * fixinc/README: Document how to convert sed substitutions 9895 to format style c_fix-es. 9896 * fixinc/fixincl.x: regen 9897 98982001-02-21 Jeffrey D. Oldham <oldham@codesourcery.com> 9899 9900 * gcc.c: Add comment explaining how to add a command-line option. 9901 Add title to specs language comment. 9902 99032001-02-21 Jeffrey Oldham <oldham@codesourcery.com> 9904 9905 * gcc.c (cc1_options): Add "-param". 9906 (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise. 9907 (option_map): Likewise. 9908 * toplev.c (display_help): Add entry for "--param". 9909 (independent_decode_option): Fix typographical error. 9910 9911Wed Feb 21 18:57:28 CET 2001 Catherine Moore <clm@redhat.com> 9912 Bernd Schmidt <bernds@redhat.com> 9913 Jan Hubicka <jh@suse.cz> 9914 9915 * i386.c (function_arg_advance): Pass SSE arguments in registers. 9916 (function_arg): Likewise. 9917 9918Wed Feb 21 18:12:41 CET 2001 Jan Hubicka <jh@suse.cz> 9919 9920 * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec. 9921 99222001-02-21 Kazu Hirata <kazu@hxi.com> 9923 9924 * config/h8300/h8300.md (iorsi3): Do not output an extra newline 9925 character. 9926 (xorsi3): Likewise. 9927 9928Wed Feb 21 17:35:24 CET 2001 Jan Hubicka <jh@suse.cz> 9929 9930 * flow.c (init_propagate_block_info): Canon address and use single_set 9931 for killing dead memory stores. 9932 99332001-02-21 Jeffrey Oldham <oldham@codesourcery.com> 9934 9935 * Makefile.in (reorg.o): Add params.h dependence. 9936 * params.def: Fix typographical error in comment. 9937 (MAX_DELAY_SLOT_INSN_SEARCH): New parameter. 9938 * params.h: Modify introductory comment. 9939 (MAX_DELAY_SLOT_INSN_SEARCH): New parameter. 9940 * reorg.c: Add dependence on params.h. 9941 (redundant_insn): Add parameterized throttle for search. 9942 (fill_simple_delay_slots): Add a comment explaining a variable. 9943 Move conditional out of loop, simplifying code. 9944 (fill_eager_delay_slots): Fix typographical error in comment. 9945 99462001-02-20 Aldy Hernandez <aldyh@redhat.com> 9947 9948 * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation. 9949 9950 * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro. 9951 (REVERSE_CONDEXEC_PREDICATES_P): Define macro. 9952 99532001-02-21 Jason Merrill <jason@redhat.com> 9954 9955 * tree.h (DECL_UNINLINABLE): Move from C++ frontend. 9956 (struct tree_decl): Add uninlinable bitfield. 9957 * c-decl.c (duplicate_decls): Set it. 9958 * integrate.c (function_cannot_inline_p): Check it. 9959 9960 * dwarf2out.c (add_name_and_src_coords_attributes): Don't add 9961 DW_AT_MIPS_linkage_name to abstract methods. 9962 (dwarf2out_abstract_function): Emit class context before calling 9963 set_decl_abstract_flags. Don't clear DECL_ABSTRACT. 9964 (gen_subprogram_die): Remove obsolete code. 9965 (gen_member_die): Don't include clones in the member list. 9966 (gen_decl_die): Emit abstract info for clone origin. 9967 * dwarfout.c (output_type): Don't include clones in the member list. 9968 * dbxout.c (dbxout_type_methods): Ignore abstract methods. 9969 * toplev.c (note_deferral_of_defined_inline_function): Don't clear 9970 DECL_ABSTRACT on a function that already has it set. 9971 9972 * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL. 9973 (get_subprogram_die): Pass it in. 9974 99752001-02-21 Richard Earnshaw <rearnsha@arm.com> 9976 9977 * flow.c (mark_set_1): Make not_dead unsigned long. For 9978 non-pseudos, use it as a bitmask of the hard regs that 9979 don't die. 9980 99812001-02-21 Neil Booth <neil@daikokuya.demon.co.uk> 9982 9983 * cppfiles.c: Update comments. 9984 (_cpp_read_file): Don't check for NULL filenames any more. 9985 * cppinit.c (cpp_start_read): Don't do canonicalization of 9986 in_fname and out_fname. Use the passed file name exclusively. 9987 (_cpp_handle_options): Don't treat "-" as a command line option, 9988 but as a normal filename. 9989 (_cpp_post_options): Canonicalize in_fname and out_fname. 9990 * cppmain.c (printer_init): Don't check out_fname for NULL. 9991 * c-lex.c (orig_filename): Rename cpp_filename for clarity. 9992 (init_c_lex): Update, and use "" to represent stdin to CPP. 9993 (yyparse): Update. 9994 99952001-02-20 Will Cohen <wcohen@redhat.com> 9996 9997 * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function. 9998 * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added. 9999 (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for 10000 fixunstfsi_libfunc. 10001 100022001-02-20 Stan Shebs <shebs@apple.com> 10003 10004 * config/rs6000/rs6000.c (output_cbranch): Output branches 10005 on separate lines instead of using ';' to separate. 10006 100072001-02-20 Neil Booth <neil@daikokuya.demon.co.uk> 10008 10009 * cppinit.c (set_lang): Move builtin handling to... 10010 (init_builtins): ...here. 10011 (_cpp_create_reader): Move call to set_lang. 10012 100132001-02-20 Mark Mitchell <mark@codesourcery.com> 10014 10015 * stmt.c (expand_return): If an attempt is made to return the 10016 error_mar_node, treat the return like a return without a value. 10017 100182001-02-19 Zack Weinberg <zackw@stanford.edu> 10019 10020 * sibcall.c (skip_copy_to_return_value): Call 10021 identify_call_return_value here, and return orig_insn if it 10022 returns zero. Hardret and softret arguments now unnecessary. 10023 (call_ends_block_p): Don't call identify_call_return_value here. 10024 10025 * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or 10026 's' slots in RTXen. 10027 * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function. 10028 * ggc.h (ggc_mark_if_gcable): Delete prototype. 10029 10030Mon Feb 19 20:30:16 2001 Jeffrey A Law (law@cygnus.com) 10031 10032 * pa.c (move_operand): Accept code to load the address of a 10033 symbol out of the DLT as a valid move operand. 10034 (print_operand, case 'A'): New to handle generating a DLT 10035 reference for a LO_SUM expression. 10036 * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references. 10037 * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references. 10038 100392001-02-19 Joseph S. Myers <jsm28@cam.ac.uk> 10040 10041 * README, cpp.texi, gcc.texi, version.c: Update version number to 10042 3.1. 10043 * cpp.1, gcov.1, gcc.1: Regenerate. 10044 100452001-02-19 Neil Booth <neil@daikokuya.demon.co.uk> 10046 10047 * cppfiles.c (stack_include_file): Generate dependencies 10048 here, and manage include_count here too. 10049 (PRINT_THIS_DEP): Delete. 10050 (_cpp_execute_include): Do not generate dependencies here, 10051 apart from the case of a missing header. Do not manage 10052 include_count. 10053 (_cpp_read_file): Leave dependency generation to 10054 stack_include_file. 10055 10056Mon Feb 19 10:17:47 2001 Jeffrey A Law (law@cygnus.com) 10057 10058 * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to 10059 target_cpu_default. Remove dead assignment to 10060 target_cpu_default. 10061 10062Mon Feb 19 16:47:39 CET 2001 Jan Hubicka <jh@suse.cz> 10063 10064 * regclass.c (contains_reg_of_mode): Make global. 10065 (init_reg_sets): Remove contains_reg_of_mode; take into account 10066 CLASS_MAX_NREGS when looking for the proper mode. 10067 (dump_regclass): Dump only classes considered for the pseudo. 10068 (regclass): Use contains_reg_of_mode. 10069 10070Mon Feb 19 16:45:42 CET 2001 Jan Hubicka <jh@suse.cz> 10071 10072 * gcc.c (do_spec_1): 'n' for printing notices. 10073 * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated. 10074 10075Mon Feb 19 15:51:30 CET 2001 Jan Hubicka <jh@suse.cz> 10076 10077 * reg-stack.c (next_flags_user): Use current_block->end 10078 (swap_rtx_condition): Look for next user if flags don't die; 10079 give up on CALL_INSNs; use current_block->end. 10080 10081Mon Feb 19 08:27:21 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 10082 10083 * sibcall.c (call_ends_block_p): New function. 10084 (optimize_sibling_and_tail_recursive_call): Use it. 10085 100862001-02-18 Kazu Hirata <kazu@hxi.com> 10087 10088 * config/h8300/h8300.md: Update copyright. 10089 (andsi3): Do not output an extra newline character. 10090 10091Sun Feb 18 15:45:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 10092 10093 * toplev.c (note_deferral_of_defined_inlined_function): Argument 10094 FNDECL may be unused. 10095 10096 * toplev.c (rest_of_compilation): Don't have CSE skip blocks or 10097 follow jumps after first run. 10098 If -fexpensive-optimizations rerun CSE after GCSE and iterate until 10099 it doesn't change any jumps. 10100 10101Sun Feb 18 17:05:50 2001 Jeffrey A Law (law@cygnus.com) 10102 10103 * Makefile.in (rtlanal.o): Depend on hard-reg-set.h. 10104 ($HOST_PREFIX_1)rtlanal.o: Remove rules for building 10105 (mostlyclean): Corresponding changes. 10106 * rtlanal.c (hard-reg-set.h): Include. 10107 (rtx_unstable_p): Do not treat the argument pointer specially 10108 if it is not a fixed register. 10109 (rtx_varies_p, rtx_addr_can_trap_p): Similarly. 10110 10111Sun Feb 18 15:45:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 10112 10113 * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare 10114 against last real insn in basic block. 10115 Rework to avoid gotos. 10116 10117 * Makefile.in (gcse.o): Now includes ggc.h. 10118 * gcse.c: Include ggc.h. 10119 (want_to_gcse_p): Verify expression can be in SET as valid insn. 10120 (try_replace_reg): Remove warning of uninitialize variable. 10121 (process_insert_insn): Call invalid_insn_p to validate insn. 10122 * recog.c (insn_invalid_p): Now global. 10123 See if can make valid by adding CLOBBERs of SCRATCH only and do if so. 10124 * recog.h (insn_invalid_p): New declaration. 10125 10126 * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap. 10127 10128 * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put 10129 assignments from FP constants since 'Y' output code can't handle it. 10130 (eligible_for_sibcall_delay): Likewise. 10131 10132 * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort. 10133 Call fancy_abort directly, passing args. 10134 (print_rtl_and_abort): Now a macro, like fancy_abort. 10135 10136 * final.c (output_operand_lossage): Use internal_error, not error. 10137 101382001-02-18 Shane Nay <shane@agendacomputing.com> 10139 10140 * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to 10141 structure shift insns. 10142 101432001-02-18 Mark Mitchell <mark@codesourcery.com> 10144 10145 * invoke.texi (-fsquangle): Remove documentation. 10146 (-fname-mangling-version): Likewise. 10147 101482001-02-18 Lars Brinkhoff <lars@nocrew.org> 10149 10150 * optabs.c (expand_abs): Remove reference to 10151 HAVE_contitional_arithmetic. 10152 * combine.c (simplify_set): Likewise. 10153 101542001-02-18 Richard Henderson <rth@redhat.com> 10155 10156 * ifcvt.c (dead_or_predicable): Don't move code if eh regions 10157 would be disrupted. 10158 101592001-02-18 Richard Henderson <rth@redhat.com> 10160 10161 * config/ns32k/ns32k.h (ADJSP): Upcase arguments. 10162 10163 * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name. 10164 10165 * reload1.c (reload_cse_simplify_set): Fix typo. 10166 10167Sun Feb 18 09:30:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 10168 10169 * diagnostic.c (_fatal_insn): Decrement errorcount. 10170 10171 * invoke.texi (-I): Add note avoiding use for system header files. 10172 10173 * rtl.h (add_clobbers): Remove duplicate declaration. 10174 * recog.h (added_clobbers_hard_reg_p): New declaration. 10175 * genemit.c (struct clobber_pat): New field has_hard_reg. 10176 (gen_insn): Record if added clobbers clobber hard reg. 10177 (gen_split): Avoid unused warning if number of operands is 0. 10178 (output_added_clobbers_hard_reg_p): New function. 10179 (main): Call it. 10180 101812001-02-18 Alan Modra <alan@linuxcare.com.au> 10182 10183 * pa.c (hppa_expand_prologue): Simplify code storing return 10184 pointer. For large (>=8k) frames with a post_store, adjust stack 10185 pointer by 8k-64 first rather than by 64. When testing with 10186 VAL_14_BITS_P, always use the actual value rather than the value 10187 negated. Add blockage to prevent scheduling of spills before 10188 stack frame has been created. 10189 (hppa_expand_epilogue): Simplify code loading return pointer. 10190 Allow a slightly larger range for merge_sp_adjust_with_load case. 10191 When testing with VAL_14_BITS_P, always use the actual value. 10192 10193 * pa.c (pa_adjust_insn_length): Check that block move 10194 pattern is a set before looking at operands. 10195 101962001-02-17 Mark Mitchell <mark@codesourcery.com> 10197 10198 * fold-const.c (fold_binary_op_with_conditional_arg): New 10199 function, split out from ... 10200 (fold): ... here. 10201 * tree.def (COND_EXPR): Document the use of VOID_TYPE for 10202 conditional arms that throw exceptions. 10203 10204 * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not 10205 looking at a BLOCK. 10206 102072001-02-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10208 10209 * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test, 10210 define HAVE_DECL_* to 1 to mask potential backup declarations. 10211 * configure: Regenerated. 10212 102132001-02-17 Mark Mitchell <mark@codesourcery.com> 10214 10215 * invoke.texi (-Woverloaded-virtual): Clarify documentation. 10216 102172001-02-17 Richard Henderson <rth@redhat.com> 10218 10219 * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP 10220 when replacing a memory load with a register. 10221 10222Sat Feb 17 14:48:30 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 10223 Jan Hubicka <jh@suse.cz> 10224 10225 * recog.c (validate_replace_src_1): New. 10226 (validate_replace_src_data): Likewise. 10227 (validate_replace_src): Use note_uses. 10228 * rtl.h (note_uses): Declare. 10229 * rtlanal.c (note_uses): New. 10230 10231Sat Feb 17 10:52:34 CET 2001 Jan Hubicka <jh@suse.cz> 10232 10233 * reg-stack.c (stack_def): Make field reg unsigned. 10234 (remove_regno_note): Unsignetize parameter. 10235 102362001-02-16 Jes Sorensen <jes@linuxcare.com> 10237 10238 * ia64.c (errata_emit_nops): Add VOIDmode as second argument to 10239 shladd_operand() call. 10240 102412001-02-16 Bruce Korb <bkorb@gnu.org> 10242 Rodney Brown <RodneyBrown@mynd.com> 10243 10244 * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7. 10245 * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching 10246 machine restrictions 10247 * fixinc/fixincl.x: regen 10248 10249Fri Feb 16 12:41:30 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 10250 10251 * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV. 10252 Don't CSE a nop. 10253 (hash_scan_insn): Clean up calls to hash_scan_set. 10254 (compute_kill_rd): REGNO now unsigned. 10255 (try_replace_reg): Rework to use simplify_replace_rtx. 10256 (cprop_jump, cprop_cc0_jump): Likewise. 10257 (cprop_insn): Call find_reg_equal_equiv_note. 10258 Reflect changes to cprop_jump and cprop_cc0_jump. 10259 10260 * recog.c (validate_replace_src): Replace in operands of 10261 ZERO_EXTRACT in SET_DEST. 10262 10263 * cse.c (new_label_ref): New variable. 10264 (insert): Set it instead of recorded_label_ref. 10265 (cse_basic_block): Set recorded_label_ref if new_label_ref use, has 10266 CODE_LABEL for this function, and not already in REG_LABEL note. 10267 102682001-02-16 Jeffrey Oldham <oldham@codesourcery.com> 10269 10270 * resource.c (mark_referenced_resources): Fix typo in introductory 10271 comment. 10272 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in 10273 string constant. 10274 102752001-02-16 Jason Merrill <jason@redhat.com> 10276 10277 * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is 10278 NULL. 10279 (gen_subprogram_die): Don't abort on seeing a second definition if 10280 the previous one was abstract. Don't replace an abstract instance 10281 in the lookup table. 10282 10283 * dwarf2out.c (dwarf2out_abstract_function): Rename from 10284 gen_abstract_function. 10285 * dwarf2out.h: Declare it. 10286 * toplev.c (note_outlining_of_inline_function): New fn. 10287 * toplev.h: Declare it. 10288 * integrate.c (output_inline_function): Call it. 10289 * c-decl.c (duplicate_decls): Call it when redefining an extern 10290 inline. Don't inline the new defn. 10291 10292 * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK. 10293 102942001-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 10295 10296 * .gdbinit: Rename to gdbinit.in. 10297 * gdbinit.in: New file, 10298 * configure.in: Generate .gdbinit from gdbinit.in. 10299 * configure: Regenerated. 10300 * Makefile.in (distclean): Always remove .gdbinit. 10301 103022001-02-16 Jakub Jelinek <jakub@redhat.com> 10303 10304 * objc/objc-act.c (start_class): Register implemented_classes with 10305 GC. 10306 103072001-02-16 Neil Booth <neil@daikokuya.demon.co.uk> 10308 10309 * cppfiles.c (_cpp_make_system_header): Generate a file 10310 change callback. 10311 103122001-02-15 Jim Meyering <meyering@lucent.com> 10313 10314 * Makefile.in (install-common): Don't depend on installdirs here. 10315 Instead, make each of the lang.install-common targets (e.g., 10316 c++.install-common in cp/Make-lang.in) depend on it. 10317 (install-driver): Depend on installdirs. 10318 10319Thu Feb 15 21:30:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 10320 10321 * flow.c (tidy_fallthru_edge): Never end block on line number NOTE. 10322 10323 * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we 10324 do in memory. 10325 103262001-02-15 Mark Mitchell <mark@codesourcery.com> 10327 10328 * invoke.texi (--param): Document. 10329 10330Thu Feb 15 15:16:38 2001 Alexandre Oliva <aoliva@redhat.com> 10331 10332 * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define. 10333 10334Thu Feb 15 10:52:31 CET 2001 Jan Hubicka <jh@suse.cz> 10335 10336 * i386.md (extendsfdf2_2): Fix constraints. 10337 10338Thu Feb 15 09:46:21 CET 2001 Jan Hubicka <jh@suse.cz> 10339 10340 * i386.md (fop_df_3 splitter): Fix operand number. 10341 10342Wed Feb 14 12:37:37 CET 2001 Jan Hubicka <jh@suse.cz> 10343 10344 * invoke.texi (-mreg-alloc): Nuke. 10345 * i386.c (ix86_reg_alloc_order, regs_allocated, 10346 order_regs_for_local_alloc): Nuke. 10347 (override_options): Kill reg_alloc code. 10348 * i386.h (TARGET_OPTIONS): Kill reg-alloc. 10349 (REG_ALLOC_ORDER): SSE goes before I387. 10350 (ORDER_REGS_FOR_LOCAL_ALLOC): Kill. 10351 (ix86_reg_alloc_order): Likewise. 10352 * i386-protos.h (ix86_reg_alloc_order): Kill. 10353 103542001-02-14 Richard Henderson <rth@redhat.com> 10355 10356 * toplev.c (f_options): Clarify -fschedule-insns2 documentation. 10357 10358Wed Feb 14 11:59:58 CET 2001 Jan Hubicka <jh@suse.cz> 10359 10360 * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes 10361 10362Wed Feb 14 11:12:38 CET 2001 Jan Hubicka <jh@suse.cz> 10363 10364 * i386-protos.h (ix86_memory_move_cost): Move offline. 10365 * i386.c (ix86_register_move_cost): Compute properly cost of 10366 SSE, MMX and i387 instructions. 10367 (*_cost): Add costs of SSE/MMX moves. 10368 (ix86_memory_move_cost): Move offline from ....; Likewise. 10369 * i386.h (MEMORY_MOVE_COST): .... here; 10370 (struct processor costs): Add new fields to represent costs 10371 of SSE/MMX moves. 10372 10373Wed Feb 14 10:08:26 CET 2001 Jan Hubicka <jh@suse.cz> 10374 10375 * regclass.c (init_reg_sets_1): Reinstall the optimization of 10376 move_cost together with Matt Kraai's fix. 10377 103782001-02-14 Jeffrey Oldham <oldham@codesourcery.com> 10379 10380 * Makefile.in (OBJS): Add params.o. 10381 103822001-02-14 Richard Henderson <rth@redhat.com> 10383 DJ Delorie <dj@redhat.com> 10384 10385 * jump.c (jump_optimize_1): When we delete a conditional jump 10386 preceding a non-conditional jump to effectively the same place, 10387 make sure that the combined jump skips any clobber insns between 10388 the two labels. 10389 103902001-02-14 Jeffrey Oldham <oldham@codesourcery.com> 10391 10392 * gcc.c (do_spec_1): Fix off-by-one error for '%M' case. 10393 103942001-02-14 Mark Mitchell <mark@codesourcery.com> 10395 10396 * Makefile.in (toplev.o): Depend on params.h. 10397 (intergate.o): Likewise. 10398 (params.o): New target. 10399 * flags.h (inline_max_insns): Remove. 10400 * integrate.c: Include params.h. 10401 Use MAX_INLINE_INSNS instead of inline_max_insns. 10402 * params.c: New file. 10403 * params.h: Likewise. 10404 * params.def: Likewise. 10405 * toplev.c: Include params.h. 10406 (lang_independent_params): New variable. 10407 (decode_f_option): Use the param machinery instead of setting 10408 max_inline_insns. 10409 (independent_decode_option): Handle "--param name=value". 10410 (main): Register language-independent parameters. 10411 10412Wed Feb 14 11:13:45 CET 2001 Jan Hubicka <jh@suse.cz> 10413 10414 * i386.md (pushsf, pushdf_nointeger): Fix constraint. 10415 104162001-02-14 Richard Henderson <rth@redhat.com> 10417 10418 * regclass.c (init_reg_sets_1): Revert last two changes. 10419 104202001-02-14 Jakub Jelinek <jakub@redhat.com> 10421 10422 * stor-layout.c (is_pending_size, put_pending_size): New functions. 10423 (variable_size): Call put_pending_size. 10424 * tree.h (is_pending_size, put_pending_size): Add prototypes. 10425 * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending 10426 sizes list, put newly created SAVE_EXPR there as well. 10427 104282001-02-14 Jakub Jelinek <jakub@redhat.com> 10429 10430 * config/ia64/ia64.c (last_group): Only 2 entries are needed. 10431 (errata_find_address_regs): load_group has only 2 entries. 10432 (errata_emit_nops): Likewise. shladd is not problematic. 10433 Clear last_group if nop was emitted. 10434 (fixup_errata): load_group has only 2 entries. 10435 Optimize. 10436 104372001-02-14 Neil Booth <neil@daikokuya.demon.co.uk> 10438 10439 * c-lex.c (lex_number): Only warn traditionally for U suffix 10440 outside system macros. 10441 * cppexp.c (parse_number): Similarly. 10442 * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New. 10443 * cppmacro.c (struct cpp_macro): New member node. 10444 (parse_args): Only warn about missing rest args if not 10445 a system macro. 10446 (funlike_invocation_p): Similarly for uninvoked funlike macros. 10447 (cpp_sys_objmacro_p): New. 10448 (_cpp_create_definition): Store the node with the macro defn. 10449 Remember if the macro is defined in a system header. 10450 104512001-02-13 DJ Delorie <dj@redhat.com> 10452 10453 * configure.in (check_languages): determine languages to check 10454 * Makefile.in (check-c++): alias for check-g++ 10455 (check-f77): alias for check-g77 10456 (CHECK_TARGETS): depend on configured languages 10457 10458Wed Feb 14 01:13:59 CET 2001 Jan Hubicka <jh@suse.cz> 10459 10460 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again. 10461 (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2) 10462 (sqrtsf2 patterns): Use 'x' instead of 'Y'. 10463 (sqrtextendsfdf2): Disable for SSE2. 10464 10465Wed Feb 14 00:19:28 CET 2001 Jan Hubicka <jh@suse.cz> 10466 10467 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again. 10468 (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2) 10469 (sqrtsf2 patterns): Use 'x' instead of 'Y'. 10470 (sqrtextendsfdf2): Disable for SSE2. 10471 10472Wed Feb 14 00:11:20 CET 2001 Jan Hubicka <jh@suse.cz> 10473 10474 * i386.md (movsfcc_1): Support integer cmove instruction. 10475 (movdfcc_1): Likewise; new splitter. 10476 10477Tue Feb 13 23:19:27 CET 2001 Jan Hubicka <jh@suse.cz> 10478 10479 * i386.c (output_fp_compare): Support SSE. 10480 (prepare_fp_compare_args): SSE comparisons always support memory. 10481 * i386.h (TARGET_CMOVE): SSE imply cmove. 10482 * i386.md (cmp?f2): Enable for SSE too. 10483 (cmpfp_i*): Support SSE. 10484 (cmpfp_i_sse): New. 10485 (cmpfp_i_sse_only): New. 10486 (s*, b* fp expanters): Enable for SSE too. 10487 (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only): 10488 New patterns. 10489 10490Tue Feb 13 23:05:42 CET 2001 Jan Hubicka <jh@suse.cz> 10491 10492 * regclass.c (init_reg_sets_1): Silence warning. 10493 10494Tue Feb 13 22:03:07 CET 2001 Jan Hubicka <jh@suse.cz> 10495 10496 * i386.md (sqrt?f2): Change to expander. 10497 (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New. 10498 10499Tue Feb 13 15:42:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 10500 10501 * rtlanal.c (find_reg_equal_equiv_note): New function. 10502 * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns. 10503 (simplify_gen_relational, simplify_replace_rtx): Likewise. 10504 * rtl.h: Add declarations for above functions. 10505 10506Tue Feb 13 21:09:11 CET 2001 Jan Hubicka <jh@suse.cz> 10507 10508 * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to 10509 conditionals. 10510 * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM. 10511 * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals. 10512 * flow.c (mark_regs_live_at_end): Likewise. 10513 (calculate_global_regs_live): Likewise. 10514 * gcse.c (compute_hash_table): Likewise. 10515 (compute_kill_rd): Likewise. 10516 * resource.c (mark_target_live_regs): Likewise. 10517 * rtl.h (INVALID_REGNUM): New macro. 10518 10519Tue Feb 13 20:59:22 CET 2001 Jan Hubicka <jh@suse.cz> 10520 10521 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch. 10522 10523Tue Feb 13 16:32:20 CET 2001 Jan Hubicka <jh@suse.cz> 10524 10525 * i386.md (fixsfsi2, fixdfdi2): Force operand to register 10526 for SSE. 10527 10528Tue Feb 13 14:53:16 CET 2001 Jan Hubicka <jh@suse.cz> 10529 10530 * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2) 10531 too. 10532 (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE. 10533 (fop_sf_comm_sse, fop_df_comm_sse): New patterns. 10534 (fop_sf_1_sse, fop_df_1_sse): New patterns 10535 (fop_*): Disable float_extend and float patterns for SSE compilation. 10536 * i386.c (output_387_binary_op): Support SSE. 10537 10538Tue Feb 13 14:16:34 CET 2001 Jan Hubicka <jh@suse.cz> 10539 10540 * i386.md (dummy_extendsfdf2): Support SSE2 10541 (extendsfdf2): Enable if 80387 or SSE2. 10542 (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble 10543 and no MIX_I387_SSE2 10544 (extendsfdf2_1_sse_only): New pattern. 10545 (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version 10546 of SSE. 10547 (truncdfsf2_1): Support SSE. 10548 (truncdfsf2_2): Support SSE. 10549 (truncdfsf2_2_1_sse): New pattern. 10550 (fixtruncsfsi2): Always use SSE if available. 10551 (fix_truncsfsi_sse): New pattern. 10552 (fix_truncdfsi_sse): New pattern. 10553 (floatsis?f2): Support SSE. 10554 (floatsidf2_i387): New pattern. 10555 (floatsidf2_sse): Likewise. 10556 10557Tue Feb 13 07:52:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 10558 10559 * configure.in: Use "have_gnat" variable, not "gnat". 10560 * configure: Regenerated. 10561 10562 * config/sparc/sparc.c (function_value): Treat all non-record 10563 aggregate types like used to treat UNION_TYPE. 10564 10565Tue Feb 13 13:31:33 CET 2001 Jan Hubicka <jh@suse.cz> 10566 10567 * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG 10568 * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber 10569 (MASK_SSE2): New. 10570 (MASK_MIX_SSE_I387): New. 10571 (TARGET_SSE): SSE2 imply SSE. 10572 (TARGET_SSE2, TARGET_MIX_SSE_I387): New. 10573 (TARGET_SWITCHES): Add "sse2", "mix-sse-i387". 10574 (enum reg_class): Add new classes. 10575 (REG_CLASS_NAMES): Likewise. 10576 (REG_CLASS_CONTENTS): Likewise. 10577 (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros. 10578 (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is 10579 supported. Add 'Y' to be SSE_REGS when SSE2 is supported. 10580 (CLASS_MAX_NREGS): Use new macros. 10581 (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED. 10582 * i386.md (pushsf, movsf): Support SSE. 10583 (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update 10584 splitters to use ANY_FP_REGNO_P. 10585 (movdf_nointeger, movdf_integer): Likewise. 10586 105872001-02-13 Alexandre Oliva <aoliva@redhat.com> 10588 10589 * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro. 10590 (try_combine): Use it. 10591 10592Tue Feb 13 11:37:06 CET 2001 Jan Hubicka <jh@suse.cz> 10593 10594 * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P, 10595 MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros. 10596 (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline. 10597 (REGISTER_MOVE_COST): Likewise. 10598 * i386-protos.h (ix86_secondary_memory_needed, 10599 ix86_preferred_reload_class, ix86_register_move_cost): Declare. 10600 * i386.c (ix86_secondary_memory_needed, 10601 ix86_preferred_reload_class, ix86_register_move_cost): New function. 10602 10603Die Feb 13 11:04:25 CET 2001 Jan Hubicka <jh@suse.cz> 10604 10605 * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New. 10606 (HARD_REGNO_MODE_OK): Move offline to .... 10607 * i386.c (ix86_hard_regno_mode_ok) ... here; 10608 refuse all incorrect modes. 10609 * i386-protos.h (ix86_hard_regno_mode_ok): Declare. 10610 106112001-02-13 Richard Henderson <rth@redhat.com> 10612 10613 * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the 10614 entire operator; replicate that and match_dup the operands. 10615 (cmp_ccx_arith_op_set): Likewise. 10616 (cmp_cc_arith_op_not_set): Likewise. 10617 (cmp_ccx_arith_op_not_set): Likewise. 10618 106192001-02-13 Alexandre Oliva <aoliva@redhat.com> 10620 10621 * explow.c (trunc_int_for_mode): Sign-extend value to mode. 10622 106232001-02-12 Geoffrey Keating <geoffk@redhat.com> 10624 10625 * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro. 10626 (TARGET_NO_BITFIELD_WORD): New macro. 10627 (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options. 10628 (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD. 10629 10630Mon Feb 12 18:13:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 10631 10632 * cselib.c: New file, from simplify-rtx.c. 10633 * simplify-rtx.c: Remove cselib parts. 10634 * Makefile.in: Add cselib.o. 10635 106362001-02-12 Geoffrey Keating <geoffk@redhat.com> 10637 10638 * config/rs6000/rs6000.c (rs6000_float_const): Remove warning. 10639 (setup_incoming_varargs): Remove warning. 10640 10641 * config/rs6000/rs6000.c (validate_condition_mode): When 10642 flag_fast_math, allow floating-point conditionals to be reversed. 10643 (rs6000_generate_compare): When flag_fast_math, don't generate 10644 cror operations for FP conditionals. 10645 10646 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle 10647 -mcall-i960. 10648 (ASM_SPEC): Likewise. 10649 (CC1_ENDIAN_LITTLE_SPEC): Likewise. 10650 (CC1_SPEC): Likewise. 10651 (LINK_TARGET_SPEC): Likewise. 10652 (CPP_ENDIAN_SPEC): Likewise. 10653 * Makefile.in (check-consistency): New target. 10654 106552001-02-12 Joseph S. Myers <jsm28@cam.ac.uk> 10656 10657 * c-decl.c (grokdeclarator): In C99 mode, give the more specific 10658 "return type defaults" warning for functions with return type 10659 defaulting to int. 10660 * c-lang.c (c_init): In C99 mode, enable warnings for implicit 10661 function declarations by default rather than only when pedantic. 10662 10663Mon Feb 12 17:28:48 CET 2001 Jan Hubicka <jh@suse.cz> 10664 10665 * regclass.c (init_reg_sets_1): Optimize calculation of move_cost 10666 arrays. 10667 106682001-02-12 Nathan Sidwell <nathan@codesourcery.com> 10669 10670 * extend.texi (Deprecated): Deprecate new initializer lists. 10671 106722001-02-12 Nathan Sidwell <nathan@codesourcery.com> 10673 10674 * mkdeps.c (deps_add_default_target): Robustify. Add 10675 basename component only. 10676 * cpp.texi (-M): Describe how default target is generated. 10677 * invoke.texi (-M): Likewise. 10678 106792001-02-12 Kazu Hirata <kazu@hxi.com> 10680 10681 * toplev.c (push_float_handler): Remove. 10682 (pop_float_handler): Remove. 10683 * toplev.h: Remove prototypes for the above functions. 10684 106852001-02-12 Jakub Jelinek <jakub@redhat.com> 10686 10687 * c-common.c (constant_fits_type_p): New function. 10688 (convert_and_check): Use it. 10689 106902001-02-11 Mark Mitchell <mark@codesourcery.com> 10691 10692 * Makefile.in (GXX_ABI_FLAG): Don't define. 10693 * configure.in (--enable-new-gxx-abi): Remove option. 10694 * config.in: Regenerated. 10695 * configure: Likewise. 10696 106972001-02-12 Alexandre Oliva <aoliva@redhat.com> 10698 10699 * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular 10700 basic block. 10701 (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a 10702 regular basic block, and arrange for all edges into it to switch 10703 to normal mode. 10704 107052001-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 10706 10707 * Makefile.in (distclean): Do not remove .gdbinit. 10708 107092001-02-11 Mark Mitchell <mark@codesourcery.com> 10710 10711 * Makefile.in (gcc.o): Fix typos. 10712 (protize.o): Likewise. 10713 (unprotoize.o): Likewise. 10714 107152001-02-11 Richard Henderson <rth@redhat.com> 10716 10717 * tree.c (build1): Check for null operand in last change. 10718 107192001-02-11 Richard Henderson <rth@redhat.com> 10720 10721 * fold-const.c (split_tree): Don't assume a constant isn't splittable. 10722 (fold): Don't assume a constant isn't foldable. 10723 * tree.c (build): Set TREE_CONSTANT for an expression with no 10724 side-effects and constant operands. 10725 (build1): Likewise. 10726 107272001-02-10 Richard Henderson <rth@redhat.com> 10728 10729 * jump.c (squeeze_notes): Revert 2000-05-12 change. 10730 107312001-02-10 Anthony Green <green@redhat.com> 10732 10733 * cpp.texi (Standard Predefined): Add documentation for 10734 __OPTIMIZE_SIZE__. 10735 10736 * c-common.c (combine_strings): Improve warning message. 10737 107382001-02-10 Geoffrey Keating <geoffk@redhat.com> 10739 10740 * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for 10741 --oformat. 10742 * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise. 10743 10744Fri Feb 9 15:05:27 2001 Christopher Faylor <cgf@cygnus.com> 10745 10746 * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for 10747 CYGWIN_CROSS_DIR. 10748 107492001-02-09 Alexandre Oliva <aoliva@redhat.com> 10750 10751 * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set 10752 fp_mode attribute. 10753 107542001-02-09 Nick Clifton <nickc@redhat.com> 10755 10756 * config/arm/arm.md: Change output contraint on post inc 10757 load/store multiple patterns to be a read/write contraint. 10758 107592001-02-09 Neil Booth <neil@daikokuya.demon.co.uk> 10760 10761 * gcc.c (cpp_options): Delete .d files on error. Don't delete 10762 .o files when using the -M options. 10763 107642001-02-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 10765 David Edelsohn <edelsohn@gnu.org> 10766 10767 * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to 10768 handle DImode constants. Use one TOC entry for SImode and smaller 10769 constants, aligned properly. 10770 107712001-02-08 Jason Merrill <jason@redhat.com> 10772 10773 * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend 10774 about the SP adjustment for saving the static chain pointer. 10775 * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified 10776 offset when setting a temporary CFA register. 10777 107782001-02-08 Chandrakala Chavva <cchavva@redhat.com> 10779 10780 * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*, 10781 powerpc-*-chorusos* . 10782 * config/rs6000/chorus.h : New file. 10783 * config/i386/chorus.h : New file. 10784 * config/sparc/chorus.h : New file. 10785 * config/sparc/t-chorus-elf : New file. 10786 107872001-02-08 David Edelsohn <edelsohn@gnu.org> 10788 10789 * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ... 10790 * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here. 10791 * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it. 10792 (__WCHAR_TYPE__): Correct macro name. 10793 107942001-02-08 Richard Henderson <rth@redhat.com> 10795 10796 * config/i386/i386.c (ix86_frame_pointer_required): New. 10797 (ix86_setup_frame_addresses): New. 10798 (struct machine_function): Add accesses_prev_frame. 10799 * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call 10800 ix86_frame_pointer_required. 10801 (SUBTARGET_FRAME_POINTER_REQUIRED): New. 10802 (SETUP_FRAME_ADDRESSES): New. 10803 * config/i386/i386-protos.h: Update. 10804 * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename 10805 from FRAME_POINTER_REQUIRED. 10806 * config/i386/svr3gas.h: Likewise. 10807 * config/i386/sysv3.h: Likewise. 10808 * config/i386/v3gas.h: Likewise. 10809 108102001-02-08 Richard Henderson <rth@redhat.com> 10811 10812 * config/sparc/sparc.c (function_arg_record_value_3): Fix 10813 calculation of the number of integer registers required. 10814 (function_arg_record_value): Likewise. 10815 108162001-02-08 Jason Merrill <jason@redhat.com> 10817 10818 * diagnostic.c (internal_error): Say "confused" after 1 error, not 10819 two. Print file and line with "confused" message. 10820 10821 * dwarf2out.c (dwarf2out_line): Include filename in -dA output. 10822 10823Thu Feb 8 11:21:28 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 10824 10825 * rtlanal.c (remove_node_from_expr_list): Correctly update PREV. 10826 108272001-02-08 Bernd Schmidt <bernds@redhat.com> 10828 10829 * final.c (cleanup_subreg_operands): The address of a MEM can 10830 contain SUBREGs. 10831 10832 * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p 10833 for asms, too. 10834 108352001-02-08 Joseph S. Myers <jsm28@cam.ac.uk> 10836 10837 * gcc.texi (Incompatibilities): Update documentation of 10838 preprocessing numbers. 10839 108402001-02-07 Jakub Jelinek <jakub@redhat.com> 10841 10842 * c-decl.c (finish_enum): Revert part of 2000-01-05 change. 10843 108442001-02-07 Mark Mitchell <mark@codesourcery.com> 10845 10846 * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it. 10847 10848 * defaults.h (CPLUSPLUS_CPP_SPEC): New macro. 10849 * gcc.c (struct compiler): Add cpp_spec field. 10850 (input_file_compiler): New variable. 10851 (do_spec_1): Allow a particular compiler to handle `%C' 10852 specially. 10853 (main): Store the current compiler in input_file_compiler. 10854 * tm.texi (CPLUSPLUS_CPP_SPEC): Document. 10855 108562001-02-07 Zack Weinberg <zack@wolery.stanford.edu> 10857 10858 * cpphash.h (struct spec_nodes): Add n_true and n_false. 10859 * cppinit.c (cpp_create_reader): Initialize them. 10860 (append_include_chain): cxx_aware arg might be unused. 10861 * cppexp.c (lex): In C++ mode, recognize 'true' and 'false' 10862 keywords and give them their phase 7 meaning. Pedwarn about 10863 this unless '__bool_true_false_are_defined' is defined. 10864 108652001-02-07 Alexandre Oliva <aoliva@redhat.com> 10866 10867 * lcm.c (optimize_mode_switching): Emit mode_set before the 10868 JUMP_INSN of an abnormal edge. 10869 108702001-02-07 Bernd Schmidt <bernds@redhat.com> 10871 10872 * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as 10873 a scheduling barrier at the end. 10874 10875 * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document. 10876 108772001-02-07 Alexandre Oliva <aoliva@redhat.com> 10878 10879 * config/sh/sh.md (reload_outsf): Removed. 10880 (movsf_ie): Introduce constraints for FPUL loads and stores. 10881 (reload_insf): Broaden the output constraint. 10882 10883 * config/elfos.h (INT_ASM_OP): Don't define it if it's already 10884 defined. 10885 * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR, 10886 ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h. 10887 108882001-02-06 Chandrakala Chavva <cchavva@redhat.com> 10889 10890 * final.c: Revert my previous changes. 10891 * output.h: Make profile_label_no extern. 10892 * config/rs6000/rs6000.c (output_profile_hook): Use standard functions 10893 for generating label. 10894 108952001-02-06 Laurynas Biveinis <lauras@softhome.net> 10896 10897 * config/i386/djgpp.h: Add comments about standard paths. 10898 (MD_EXEC_PREFIX): Undefine before defining. 10899 (MD_STARTFILE_PREFIX): New. 10900 109012001-01-30 Bruce Korb <bkorb@gnu.org> 10902 10903 fixinc/fixincl.c(process): Emit error message only if appropriate :) 10904 (load_file): do not rely on load_file_data() to close file pointer 10905 fixinc/fixlib.c(load_file_data): do not close passed in file pointer 10906 fixinc/inclhack.def(irix_limits_const): add test_text 10907 109082001-02-06 Neil Booth <neil@daikokuya.demon.co.uk> 10909 10910 * cppexp.c (parse_defined): Improve diagnostics for invalid 10911 syntax. 10912 109132001-02-06 Neil Booth <neil@daikokuya.demon.co.uk> 10914 10915 * cppmacro.c (cpp_get_token): Avoid pasting after a builtin. 10916 109172001-02-06 Mark Mitchell <mark@codesourcery.com> 10918 10919 * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define. 10920 * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare. 10921 * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro. 10922 (rs6000_output_symbol_ref): New function. 10923 (output_toc): Use VTABLE_NAME_P. 10924 10925Tue Feb 6 07:54:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 10926 10927 * print-tree.c (print_node, case PARM_DECL): 10928 Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN. 10929 10930 * stor-layout.c (reference_types_internal): New variable. 10931 (internal_reference_types): New function. 10932 (layout_type, case REFERENCE_TYPE): Make Pmode if internal. 10933 * tree.h (internal_reference_types): New declaration. 10934 10935 * cse.c (find_best_addr): Fix typo in computing cost. 10936 10937Mon Feb 5 21:56:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 10938 10939 * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned 10940 and this is the sum of a pointer and a constant, we know the result 10941 did not overflow. 10942 (num_sign_bit_copies, case PLUS): Likewise. 10943 * explow.c (convert_memory_address): Remove opposite SUBREG. 10944 * function.c (instantiate_new_reg): New function (from common code). 10945 (instantiate_virtual_regs_1): Call it. 10946 For PLUS, handle if (plus (subreg (virt-reg) (const_int)) 10947 if pointers sign- or zero-extend. 10948 * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND): 10949 If pointers extend unsigned, use inside of SUBREG. 10950 (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend. 10951 109522001-02-05 Benjamin Kosnik <bkoz@redhat.com> 10953 10954 * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target 10955 subdir of gcc_gxx_include_dir. 10956 (gcc_gxx_target_include_dir): Remove. 10957 109582001-02-05 Jeffrey Oldham <oldham@codesourcery.com> 10959 10960 * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments. 10961 (dwarf2out_frame_debug_expr): Revise introductory comments to add 10962 a high-level description. 10963 109642001-02-05 Chandrakala Chavva <cchavva@redhat.com> 10965 10966 * final.c: Move the declaration of profile_label_no to ... 10967 * output.h: ... here. 10968 * function.c (expand_function_start): Call PROFILE_HOOK. 10969 * config/rs6000/aix.h: Define PROFILE_HOOK. 10970 * config/rs6000/rs6000-protos.h: output_profile_hook new. 10971 * config/rs6000/rs6000.c (output_profile_hook): Define. 10972 (output_prolog): Do nothing for ABI_AIX as it is taken care by 10973 output_profile_hook. 10974 tm.texi : Explain new macro PROFILE_HOOK. 10975 109762001-02-06 Hans-Peter Nilsson <hp@axis.com> 10977 10978 * extend.texi (Extended Asm): Do not say that semicolon is always 10979 a valid line-breaking character for GNU assemblers. Use 10980 newline-tab as the most commonly supported syntax. Use 10981 newline-tab rather than semicolon in multi-insn examples. 10982 109832001-02-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 10984 10985 * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias). 10986 109872001-02-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 10988 David Edelsohn <edelsohn@gnu.org> 10989 10990 * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC 10991 code for AIX, even without flag_pic. 10992 109932001-02-05 Jakub Jelinek <jakub@redhat.com> 10994 10995 * c-typeck.c (common_type): push and pop binding level around 10996 calling common_type on function parameters. 10997 10998Mon Feb 5 14:30:37 2001 Christopher Faylor <cgf@cygnus.com> 10999 11000 * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter. 11001 11002Mon Feb 5 11:23:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 11003 11004 * config/mips/mips.c (override_options): Fix typo in last change. 11005 (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name. 11006 (mips_asm_file_end): Likewise; also pass more args to fatal_io_error. 11007 110082001-02-05 Nathan Sidwell <nathan@codesourcery.com> 11009 11010 * invoke.texi (-fdump-class-layout): Document. 11011 (-fdump-translation-unit): Use `=' as filename separator. 11012 110132001-02-05 Mark Mitchell <mark@codesourcery.com> 11014 11015 * Makefile.in (s-mlib): Don't build multilibs if 11016 --disable-multilib. 11017 (DRIVER_DEFINES): Adjust accordingly. 11018 (gcc.o): Likewise. 11019 (protoize.o): Likewise. 11020 (unprotoize.o): Likewise. 11021 * configure.in: Recognize --enable-multilib. 11022 110232001-02-04 Mark Mitchell <mark@codesourcery.com> 11024 11025 * Makefile.in (DRIVER_DEFINES): Fix quoting. 11026 11027 * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3. 11028 * configure.in: Remove --enable-libstdcxx_v3 support. 11029 * configure: Regenerated. 11030 11031Sun Feb 4 15:52:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 11032 11033 * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): 11034 Call abort instead of fatal. 11035 (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal. 11036 * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise. 11037 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise. 11038 (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise. 11039 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise. 11040 * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise. 11041 11042 * diagnostic.h (set_internal_error_function): Renamed. 11043 * toplev.h (internal_error): Renamed from fatal. 11044 (pfatal_with_name): Deleted. 11045 (fatal_io_error): Now has printf-style arguments. 11046 * diagnostic.c (pfatal_with_name): Deleted. 11047 (fatal_io_error): Rework to have args in printf-style. 11048 (set_internal_error_function): Renamed from set_fatal_function. 11049 (internal_error): Renamed from fatal. 11050 (error_recursion, fancy_abort): Call internal_error instead of fatal. 11051 * dwarf2out.c (get_cfa_from_loc_descr): Likewise. 11052 * emit-rtl.c (gen_realpart, gen_imagpart): Likewise. 11053 * expr.c (check_max_integer_computation_mode, expand_expr): Likewise. 11054 * flow.c (verify_flow_info): Likewise. 11055 * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise. 11056 * config/mips/mips.c (save_restore_insns): Likewise. 11057 11058 * except.c (duplicate_eh_handlers): Call abort instead of fatal. 11059 * flow.c (verify_flow_info): Likewise. 11060 * config/arm/arm.c (thumb_load_double_from_address): Likewise. 11061 * config/avr/avr.c (pttreg_to_str, unique_section): Likewise. 11062 (avr_normalize_condition): Likewise. 11063 * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise. 11064 * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise. 11065 (limit_reload_class, double_reg_to_memory): Likewise. 11066 (print_operand_address, emit_1600_code_shift): Likewise. 11067 (gen_tst_reg, gen_compare_reg): Likewise. 11068 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise. 11069 * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare): 11070 Deleted. 11071 * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it. 11072 11073 * c-parse.in (methoddef): Call fatal_error instead of fatal. 11074 * objc/objc-act.c (build_ivar_chain): Likewise. 11075 * dwarfout.c (dwarfout_init): Call fatal_io_error instead of 11076 pfatal_with_name. 11077 * graph.c (clean_graph_dump_file): Likewise. 11078 * profile.c (init_branch_prob): Likewise. 11079 * objc/objc-act.c (objc_init): Likewise. 11080 11081 * config/arm/arm.c (arm_override_options): Make errors non-fatal. 11082 * config/avr/avr.c (avr_override_options): Likewise. 11083 * config/c4x/c4x.c (c4x_expand_prologue): Likewise. 11084 * config/dsp16xx/dsp16xx.c (function_prologue): Likewise. 11085 * config/h8300/h8300.c (h8300_init_once): Likewise. 11086 * config/mips/mips.c (override_options): Likewise. 11087 * config/i386/i386.c (override_options): Likewise, rework. 11088 * config/m68k/m68k.c (override_options): Likewise. 11089 11090 * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage 11091 instead of fatal. 11092 * config/mips/mips.c (print_operand): Likewise. 11093 * hash.c (hash_allocate): Don't check for failure returns from 11094 obstack functions that can't fail. 11095 (hash_table_init_n, hash_table_init): Likewise; also now return void. 11096 * hash.h (hash_table_init_n, hash_table_init): Now return void. 11097 * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call. 11098 (get_object_reference): Likewise. 11099 111002001-02-04 Nick Clifton <nickc@redhat.com> 11101 11102 * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e, 11103 StrongARM1110, 10TDMI, and 1020T. 11104 111052001-02-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11106 11107 * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif. 11108 111092001-02-04 Alexandre Oliva <aoliva@redhat.com> 11110 11111 * config/sh/sh.md (movdf load split): Pass register number to 11112 FP_OR_XD_REGISTER_P. 11113 111142001-02-04 Mark Mitchell <mark@codesourcery.com> 11115 11116 * cppinit.c (BC): New macro. 11117 (builtin_array): Add __GXX_WEAK__. 11118 * cpplib.h (builtin_type): Add BT_WEAK. 11119 * cppmacro.c (builtin_macro): Handle BT_WEAK. 11120 * defaults.h (SUPPORTS_ONE_ONLY): Define. 11121 * varasm.c (SUPPORTS_ONE_ONLY): Do not define. 11122 111232001-02-03 Jakub Jelinek <jakub@redhat.com> 11124 11125 * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C. 11126 111272001-02-03 Neil Booth <neil@daikokuya.demon.co.uk> 11128 11129 * cpphash.h: Rename _ALIGN POOL_ALIGN. 11130 * cpplex.c (new_chunk, _cpp_pool_reserve): Update. 11131 111322001-02-03 Neil Booth <neil@daikokuya.demon.co.uk> 11133 11134 * cpphash.h: Rename ALIGN _ALIGN. 11135 * cpplex.c (new_chunk, _cpp_pool_reserve): Update. 11136 11137Fri Feb 2 23:15:29 2001 Christopher Faylor <cgf@cygnus.com> 11138 11139 * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross 11140 compilation environment. 11141 * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow 11142 control over location of cygwin includes and libs. 11143 111442001-02-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz) 11145 11146 * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo. 11147 111482001-02-02 lars brinkhoff <lars@nocrew.org> 11149 11150 * md.texi (Standard Names): remove reference to spur.md. 11151 111522001-02-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz) 11153 11154 * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define. 11155 (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG. 11156 (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise. 11157 * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG. 11158 (c4x_expand_prologue, c4x_expand_epilogue): Likewise. 11159 111602001-02-03 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 11161 11162 * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand, 11163 c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register 11164 number before reload. 11165 (c4x_adjust_cost): Return zero before reload. 11166 * c4x.md (load_immed_address+1, load_immed_address+2): Do not 11167 split before reload. 11168 111692001-02-03 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 11170 11171 * c4x.c (c4x_hard_regno_rename_ok): New. 11172 * c4x-protos.h (c4x_hard_regno_rename_ok): New. 11173 * c4x.h (HARD_REGNO_RENAME_OK): Define. 11174 11175Fri Feb 2 20:03:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 11176 11177 * diagnostic.h: Add missing "extern" in all declarations. 11178 111792001-02-02 Alex Samuel <samuel@codesourcery.com> 11180 11181 * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically 11182 as for gcc_gxx_include_dir. 11183 111842001-02-02 Neil Booth <neil@daikokuya.demon.co.uk> 11185 11186 * cpp.texi, invoke.texi: Update -Wtraditional documentation. 11187 111882001-02-02 Alexandre Oliva <aoliva@redhat.com> 11189 11190 * config/sh/sh.c (output_far_jump): Don't use braf on SH1. Emit 11191 label before alignment to be used as the braf base address. 11192 * config/sh/sh.md (length): Use longer lengths for SH1 PIC far 11193 branches. 11194 (casesi_jump_2): Require at least TARGET_SH2. 11195 11196 * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent 11197 truncation to 32-bit doubles on -m3e and -m4-single-only. 11198 111992001-02-02 Mark Mitchell <mark@codesourcery.com> 11200 11201 * gcc.c (init_gcc_specs): New function. Make -shared-libgcc 11202 the default when building a shared object. 11203 (init_spec): Use it. 11204 * testsuite/lib/g++.exp: Include the directory where libgcc 11205 is located to the LD_LIBRARY_PATH list. 11206 * invoke.texi (-shared-libgcc): Document the cases in which 11207 GCC defaults to using the shared libgcc. 11208 112092001-02-02 Alexandre Oliva <aoliva@redhat.com> 11210 11211 * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume 11212 unsigned is wide enough. 11213 (BITS_PER_SI): New. 11214 * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI. 11215 (si_to_float): Likewise. 11216 (float_to_si, float_to_usi): Use BITS_PER_SI. 11217 112182001-02-01 Jeffrey Oldham <oldham@codesourcery.com> 11219 11220 * dwarf2out.c: Added explanation of abbreviations. 11221 (def_cfa_1): Added comments listing DWARF2 instructions. 11222 (cfa_temp_reg): Removed in favor of cfa_temp. 11223 (cfa_temp_value): Removed in favor of cfa_temp. 11224 (cfa_temp): New global variable. 11225 (dwarf2out_frame_debug_expr): Added extensive introductory 11226 comments explaining the function's transformations. Revised to 11227 use cfa_temp. Added some rtx checking. Generalize IOR case. 11228 (dwarf2out_frame_debug): Revised to use cfa_temp. 11229 (output_aranges): Cast as "unsigned" to avoid warning. 11230 * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better 11231 explain which instructions must be marked. 11232 112332001-02-01 Richard Henderson <rth@redhat.com> 11234 11235 * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the 11236 new instruction. 11237 112382001-02-01 Alexandre Oliva <aoliva@redhat.com> 11239 11240 * config/sh/crt1.asm (main_k): Modified so that start calls 11241 ___setup_argv_and_call_main. 11242 112432001-02-01 Neil Booth <neil@daikokuya.demon.co.uk> 11244 11245 * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader. 11246 * cpplex.c (_cpp_lex_token): New token picks up the saved flags, 11247 and AVOID_LPASTE is cleared on meeting an unescaped newline. 11248 * cppmacro.c (builtin_macro): Set builtin flags here. 11249 (paste_all_tokens): Preserve AVOID_LPASTE on pasted token. 11250 (replace_args): Clarify intent. 11251 (cpp_get_token): Macro expansion tokens get the saved flags. 11252 Update. 11253 * cppmain.c (scan_buffer): Remove now-redundant print.printed 11254 check. 11255 112562001-02-01 Jeffrey Oldham <oldham@codesourcery.com> 11257 11258 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of 11259 2001-Jan-29. 11260 11261Thu Feb 1 07:22:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 11262 11263 * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space 11264 returns Pmode pseudo, but we need ptr_mode. 11265 * explow.c (allocate_dynamic_stack_space): Use plus_constant. 11266 Remove bogus conversions; use HOST_WIDE_INT for size. 11267 Don't use TARGET if wrong mode. 11268 11269 * config/i386/i386.c (ix86_compute_frame_size): Allow 11270 stack_alignment_needed to be non-default even if size is zero. 11271 112722001-01-31 Alan Modra <alan@linuxcare.com.au> 11273 11274 * pa.c (hppa_init_pic_save): New function. 11275 * pa.h (hppa_init_pic_save): Declare. 11276 * pa.md (call, call_value, sibcall, sibcall_value): Use 11277 the above instead of duplicated code. 11278 11279 * pa.c (hppa_encode_label): Correct size of alloca buffer 11280 so we don't overrun it. Correct leading `*' case. 11281 * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't 11282 need to handle `*@'. 11283 (FUNCTION_NAME_P): Likewise. 11284 112852001-01-31 Richard Henderson <rth@redhat.com> 11286 11287 * config.gcc (alpha-osf5): Use float-i128.h. 11288 11289 * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define. 11290 * config/float-i32.h: Likewise. 11291 * config/float-i64.h: Likewise. 11292 * config/float-sh.h: Likewise. 11293 * config/float-sparc.h: Likewise. 11294 112952001-01-31 DJ Delorie <dj@redhat.com> 11296 11297 * expmed.c (extract_bit_field): allow non-integral modes if we 11298 want to extract a whole register from itself. 11299 113002001-01-31 Jakub Jelinek <jakub@redhat.com> 11301 11302 * c-typeck.c (set_init_index): If first is equal to last, assume as 11303 if it was not a range at all. 11304 113052001-01-31 Alexandre Oliva <aoliva@redhat.com> 11306 11307 * config/fp-bit.c: Include tm.h. 11308 (float_to_si): Don't assume SImode is 32-bits wide. 11309 (float_to_usi): Likewise. 11310 113112001-01-31 Joseph S. Myers <jsm28@cam.ac.uk> 11312 11313 * c-parse.in (structsp): Pedwarn when "enum foo" refers to an 11314 incomplete type. 11315 (typename): Call pending_xref_error after parsing typed_typespecs. 11316 * c-decl.c (lookup_tag): Give error immediately rather than 11317 leaving it pending if the tag of the wrong type is in the same 11318 binding level. 11319 (xref_tag): Don't pedwarn for forward declarations of enum types 11320 here. 11321 * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union 11322 and enum tags. 11323 113242001-01-31 Alexandre Oliva <aoliva@redhat.com> 11325 11326 * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo. 11327 113282001-01-31 Neil Booth <neil@daikokuya.demon.co.uk> 11329 11330 * cpplib.c (T_ELIF): Move to STDC89, not that it matters. 11331 (_cpp_handle_directive): Suggest not using #elif with -Wtraditional. 11332 113332001-01-31 Neil Booth <neil@daikokuya.demon.co.uk> 11334 11335 * cpphash.h (struct cpp_reader): New saved_flags. 11336 * cppmacro.c (cpp_get_token): Use saved_flags to remember 11337 to avoid a paste after a pasted token. 11338 113392001-01-31 Alexandre Oliva <aoliva@redhat.com> 11340 11341 * libgcc2.h (Wtype_MAX, Wtype_MIN): Define. 11342 * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use 11343 Wtype_MIN instead of LONG_MIN. 11344 113452001-01-30 Jeffrey Oldham <oldham@codesourcery.com> 11346 11347 * fixinc/fixincl.tpl: Add 2001 to copyright. Change name of 11348 README file. 11349 * fixinc/fixincl.x: Regenerated. 11350 * fixinc/inclhack.def (irix_limits_const): New definition to 11351 convert "const" to "__const" in limits.h. 11352 113532001-01-30 Jeffrey Oldham <oldham@codesourcery.com> 11354 11355 * fixinc/genfixes (AG): Fix "autogen4" thinko. 11356 113572001-01-30 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 11358 11359 * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED 11360 when register dies in the insn. 11361 113622001-01-30 Neil Booth <neil@daikokuya.demon.co.uk> 11363 11364 * diagnostic.c (fatal): Fix word wrap. 11365 113662001-01-30 Alexandre Oliva <aoliva@redhat.com> 11367 11368 * combine.c (try_combine): Fix SUBREG setting for 11369 HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD. 11370 113712001-01-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 11372 11373 * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN 11374 comparison codes. 11375 113762001-01-30 Neil Booth <neil@daikokuya.demon.co.uk> 11377 11378 * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type) 11379 is not NULL. 11380 * toplev.c (decode_W_option): Update warn_larger_than 11381 unconditionally for each processed switch. 11382 113832001-01-30 John David Anglin <dave@hiauly1.hia.nrc.ca> 11384 11385 * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx 11386 to NULL_RTX. 11387 (hppa_expand_prologue): Delete code to save pic offset table register 11388 in the function prologue. 11389 * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment. 11390 * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset 11391 table register at the beginning of the function after the prologue. 11392 113932001-01-29 lars brinkhoff <lars@nocrew.org> 11394 11395 * tm.texi (PUSH_ROUNDING): Remove duplicate lines. 11396 113972001-01-29 John David Anglin <dave@hiauly1.hia.nrc.ca> 11398 Jeff Law <law@redhat.com> 11399 11400 * pa.md (return): Revise comment for trivial return. 11401 (return_internal): Non-trivial return pattern for non-PIC code. 11402 (return_internal_pic): Non-trivial return pattern for PIC code. 11403 It uses the PIC register to ensure it is restored after 11404 function calls. 11405 (epilogue): Generate appropriate return for PIC and non-PIC code. 11406 11407Mon Jan 29 23:53:14 2001 Christopher Faylor <cgf@cygnus.com> 11408 11409 * config/i386/cygwin.h: Fix -mno-cygwin search path for link. 11410 114112001-01-29 DJ Delorie <dj@redhat.com> 11412 11413 * combine.c (if_then_else_cond): Pass the correct mode to 11414 operand_subword() for constants. 11415 11416Mon Jan 29 20:38:19 2001 Christopher Faylor <cgf@cygnus.com> 11417 11418 * config/i386/cygwin.h: Add w32api to include search. Search different 11419 directories in a cross-build environment. 11420 114212001-11-29 Tim Josling <tej@melbpc.org.au> 11422 11423 * tree.h (TYPE_STUB_DECL): Add documentation. 11424 114252001-11-29 Laurynas Biveinis <lauras@softhome.net> 11426 11427 * sdbout.c (sdbout_one_type): Skip types with indeterminate size. 11428 (sdbout_field_types): Likwise. Fix use of host_integerp. 11429 114302001-01-29 Thomas Pfaff <tpfaff@gmx.net> 11431 11432 * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in 11433 cygwin.h. 11434 114352001-01-29 Jeffrey Oldham <oldham@codesourcery.com> 11436 11437 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition 11438 to use flag_gnu_linker. 11439 114402001-01-29 Neil Booth <neil@daikokuya.demon.co.uk> 11441 11442 * cpplib.c (T_BAD_DIRECTIVE): Remove. 11443 (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1. 11444 114452001-01-29 Joseph S. Myers <jsm28@cam.ac.uk> 11446 11447 * tree.c, tree.h (build_parse_node): Remove; was identical to 11448 build_nt. 11449 * c-lang.c (start_cdtor), objc/objc-act.c 11450 (build_module_descriptor): Use build_nt instead of 11451 build_parse_node. 11452 114532001-01-29 Jakub Jelinek <jakub@redhat.com> 11454 11455 * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI). 11456 (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does 11457 not have any upper bits set. 11458 114592001-01-29 Phil Edwards <pme@sources.redhat.com> 11460 11461 * COPYING.LIB: Update to LGPL 2.1 from the FSF. 11462 114632001-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11464 11465 * stmt.c (estimate_case_costs): Use integer_minus_one_node. 11466 11467 * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node. 11468 11469 * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE. 11470 (integer_minus_one_node): Define. 11471 114722001-01-28 Alexandre Oliva <aoliva@redhat.com> 11473 11474 * Makefile.in (bootstrap2-lean): Fix typo. 11475 114762001-01-28 Neil Booth <neil@daikokuya.demon.co.uk> 11477 11478 * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash) 11479 : Don't set fe_value. 11480 * cpplib.h (AVOID_LPASTE): New flag. 11481 (struct cpp_hashnode): Remove fe_value. 11482 * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number. 11483 * cppmacro.c (builtin_macro): Don't set flags here. 11484 (replace_args): Set AVOID_LPASTE flag on first token of an 11485 argument, and the token following it. 11486 (cpp_get_token): Set AVOID_LPASTE flag on first token of a 11487 macro expansion, and on the token following it. Do it for 11488 builtins too. 11489 * cppmain.c (scan_buffer): Avoid pasting only flagged tokens. 11490 114912001-01-27 Richard Henderson <rth@redhat.com> 11492 11493 * config/alpha/t-ieee: Remove multilibbing. 11494 (TARGET_LIBGCC2_CFLAGS): Add -mieee. 11495 114962001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11497 11498 * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h. 11499 11500 * Makefile.in: Remove all dependencies on defaults.h. 11501 * builtins.c: Don't include defaults.h. 11502 * c-common.c: Likewise. 11503 * c-decl.c: Likewise. 11504 * c-pragma.c: Likewise. 11505 * c-typeck.c: Likewise. 11506 * combine.c: Likewise. 11507 * i386.c: Likewise. 11508 * frame-ia64.c: Likewise. 11509 * cppexp.c: Likewise. 11510 * crtstuff.c: Likewise. 11511 * dbxout.c: Likewise. 11512 * dwarf2out.c: Likewise. 11513 * dwarfout.c: Likewise. 11514 * emit-rtl.c: Likewise. 11515 * except.c: Likewise. 11516 * expr.c: Likewise. 11517 * final.c: Likewise. 11518 * frame-dwarf2.c: Likewise. 11519 * libgcc2.c: Likewise. 11520 * optabs.c: Likewise. 11521 * profile.c: Likewise. 11522 * sdbout.c: Likewise. 11523 * toplev.c: Likewise. 11524 * tradcif.y: Likewise. 11525 * tree.c: Likewise. 11526 * varasm.c: Likewise. 11527 115282001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11529 11530 * builtins.c (expand_builtin_fputs): Use size_one_node when 11531 transforming into fwrite. 11532 115332001-01-27 Joseph S. Myers <jsm28@cam.ac.uk> 11534 11535 * extend.texi (Attribute Syntax): New section. 11536 115372001-01-27 Michael Sokolov <msokolov@ivan.Harhan.ORG> 11538 11539 * fixproto: Correctly install synthesized unistd.h and stdlib.h when 11540 they didn't need fixing. 11541 115422001-01-27 Janis Johnson <janis@us.ibm.com> 11543 11544 * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h 11545 if appropriate. 11546 * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and 11547 to remove macro definitions that are duplicated from elfos.h. 11548 115492001-01-27 Richard Henderson <rth@redhat.com> 11550 11551 * config/i386/sco5gas.h: Move ... 11552 * config/usegas.h: ... here. 11553 * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update. 11554 115552001-01-27 Jakub Jelinek <jakub@redhat.com> 11556 11557 * c-typeck.c (struct constructor_stack): Add range_stack member. 11558 (really_start_incremental_init): Clear it. 11559 (push_init_level): Save constructor_range_stack and clear it if 11560 pushing explicit braces. 11561 (pop_init_level): abort if constructor_range_stack is nonzero at 11562 explicit closing brace. Restore saved constructor_range_stack if 11563 not implicit. 11564 115652001-01-27 Alexandre Oliva <aoliva@redhat.com> 11566 11567 * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded 11568 into register was forced into memory. 11569 115702001-01-27 Alexandre Oliva <aoliva@redhat.com> 11571 11572 * Makefile.in: Remove uses of + before $(MAKE). 11573 115742001-01-26 Richard Henderson <rth@redhat.com> 11575 11576 * stmt.c (cost_table): Remove. 11577 (COST_TABLE, cost_table_initialized): New. 11578 (estimate_case_costs): Use the later instead of the former. 11579 (balance_case_nodes): Likewise. 11580 115812001-01-26 Richard Henderson <rth@redhat.com> 11582 11583 * alias.c (objects_must_conflict_p): Read-only slots may not 11584 conflict despite having the same type. 11585 115862001-01-27 Michael Hayes <mhayes@redhat.com> 11587 11588 * loop.c (loop_giv_reduce_benefit): Copy mode size into 11589 int variable. 11590 (check_ext_dependant_givs): Initialize u_start_val and 11591 u_end_val. 11592 (load_mems): Make last_max_reg unsigned. 11593 (try_swap_copy_prop): Use INSN_P and initialize set. 11594 11595Fri Jan 26 23:22:58 2001 Denis Chertykov <denisc@overta.ru> 11596 11597 * README.AVR : Removed. 11598 11599Fri Jan 26 11:37:26 2001 Jeffrey A Law (law@cygnus.com) 11600 11601 * pa-64.h (text_section): Remove declaration. 11602 11603 * pa.md (return_internal): Remove mode on PIC register use. 11604 116052001-01-25 lars brinkhoff <lars@nocrew.org> 11606 11607 * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN, 11608 ASM_CLOSE_PAREN): fix typos. 11609 116102001-01-25 Mark Mitchell <mark@codesourcery.com> 11611 11612 * acconfig.h: Define `const' to the empty string if neither 11613 __STDC__ nor __cplusplus is defined. 11614 * config.in: Regenerated. 11615 116162001-01-25 David Edelsohn <edelsohn@gnu.org> 11617 11618 * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h. 11619 * collect2.c (main): Delete importf. Add ".obj" file extension. 11620 (GCC_CHECK_HDR): Handle AIX V5 new magic number. 11621 (aix_std_libs): Add additional AIX libraries to skip. 11622 * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number. 11623 * config/rs6000/aix51.h: New file. 11624 116252001-01-25 Michael Hayes <mhayes@redhat.com> 11626 11627 * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New. 11628 (loop_insn_emit_before): No longer static. 11629 (move_movables): Replace emit_insn_after with loop_insn_emit_after. 11630 (loop_givs_rescan, load_mems): Likewise. 11631 (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before. 11632 (maybe_eliminate_biv_1): 11633 (move_movables): Replace emit_call_insn_before with 11634 loop_call_insn_hoist. 11635 * loop.h (loop_insn_emit_before): Add. 11636 * unroll.c (copy_loop_body): Replace emit_insn_before with 11637 loop_insn_emit_before. 11638 116392001-01-25 Neil Booth <neil@daikokuya.demon.co.uk> 11640 11641 * diagnostic.c (fatal): Request preprocessed source. 11642 11643Thu Jan 25 02:01:16 2001 J"orn Rennecke <amylaar@redhat.com> 11644 11645 * c-decl.c (duplicate_decls): If different_binding_level is nonzero, 11646 olddecl has argument types and newdecl has none, use the argument 11647 types from olddecl. 11648 116492001-01-24 Ulrich Drepper <drepper@redhat.com> 11650 11651 * dwarf2out.c (prefix_of): New function. Determine longest common 11652 prefix of the two arguments. The units are whole path components. 11653 (output_file_names): When adding a new directory find the one entry 11654 with the longest common prefix already in the list. Artificially 11655 generate entry if there is none for this prefix. 11656 Fix test to check whether the zeroth directory entry is used. 11657 11658Wed Jan 24 23:51:55 2001 J"orn Rennecke <amylaar@redhat.com> 11659 11660 * reload1.c (reload_reg_free_for_value_p): New parameter start_regno. 11661 Changed all callers. Take it into account when deciding if a 11662 previously loaded value matches. 11663 116642001-01-24 Richard Henderson <rth@redhat.com> 11665 11666 * reload.c (find_reloads_subreg_address): Fail the substitution 11667 if the resulting address is insufficiently aligned. 11668 116692001-01-24 DJ Delorie <dj@redhat.com> 11670 11671 * combine.c (combine_simplify_rtx): If the modes are all VOIDmode, 11672 check the original operand's mode also. 11673 * simplify-rtx.c (simplify_ternary_operation): Ditto. 11674 116752001-01-24 Joseph S. Myers <jsm28@cam.ac.uk> 11676 11677 * c-parse.in (cast_expr): Move compound literals from here ... 11678 (primary): ... to here. Use standard terminology "compound 11679 literal" instead of "constructor expression". 11680 116812001-01-24 Joseph S. Myers <jsm28@cam.ac.uk> 11682 11683 * gcc.1, cpp.1: Regenerate. 11684 116852001-01-24 Alexandre Oliva <aoliva@redhat.com> 11686 11687 * calls.c (emit_library_call_value_1): Memory slot for 11688 pass-by-reference argument should have the mode of the argument, 11689 not of the pointer to it. 11690 116912001-01-24 Tom Tromey <tromey@redhat.com> 11692 11693 * gcc.texi (G++ and GCC): Mention gcj manual. 11694 (Standards): Link to section of manual mentioning gcj/Java 11695 compatibility. 11696 116972001-01-24 Jakub Jelinek <jakub@redhat.com> 11698 11699 * cppfiles.c (_cpp_read_file): Add to dependencies if requested. 11700 * cppinit.c (cpp_start_read): Remove deps_add_dep call. 11701 * tradcpp.c (main): Add -imacros or -include'd dependencies 11702 for -M*. 11703 * cpp.texi (-M, -MM): Document -M -include behavior. 11704 117052001-01-24 Roger Collins <roger@ProProject.com> 11706 11707 * config/i386/xm-i386.h: Make __i386__ a boolean macro. 11708 117092001-01-24 Will Cohen <wcohen@redhat.com> 11710 11711 * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account 11712 whether registers are 32 bits or 64 bits in size. 11713 117142001-01-24 Ben Elliston <bje@redhat.com> 11715 11716 * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg. 11717 117182001-01-24 Richard Henderson <rth@redhat.com> 11719 11720 * config/alpha/alpha.md (builtin_longjmp_internal): New. 11721 (builtin_longjmp): Use it instead of emit_indirect_jump. 11722 117232001-01-23 John David Anglin <dave@hiauly1.hia.nrc.ca> 11724 11725 * bb-reorder.c (make_reorder_chain_1): Handle case where 11726 jump edge goes to the same block as the fallthru edge. 11727 117282001-01-23 Jim Wilson <wilson@redhat.com> 11729 11730 * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned. 11731 * frame.h (__ia64_personality_v1): Add prototype. 11732 * libgcc2.c (ia64_throw_helper): Change personality declaration to 11733 prototype form. Add void * cast to first argument to personality 11734 call. 11735 * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs. 11736 (asctoe113): Likewise. 11737 * config/ia64/frame-ia64.c: Include eh-common.h. 11738 * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add 11739 prototypes. 11740 * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED 11741 to dump parameter. 11742 (itanium_split_issue): Add prototype. 11743 (gen_nop_type): Ifdef out. 11744 (find_best_packet): Initialize best_packet. 11745 (ia64_encode_section_info): New local string. Use for ggc_alloc_string 11746 result. 11747 * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0. 11748 * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start. 11749 (flushrs): Add explicit stop bit at end. 11750 * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change 11751 trailing \ to >. 11752 117532001-01-23 Chris Demetriou <cgd@broadcom.com> 11754 11755 * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list 11756 of EH symbols. 11757 * libgcc2.c (__terminate_func): Make variable static. 11758 (__terminate_set_func): New function to set __terminate_func. 11759 * libgcc2.h (__terminate_func_ptr): New typedef. 11760 (__terminate_set_func): New function. 11761 117622001-01-23 Richard Henderson <rth@redhat.com> 11763 11764 * flow.c (init_propagate_block_info): Don't consider unchanging 11765 memories for dead frame store elimination. 11766 117672001-01-23 Richard Henderson <rth@redhat.com> 11768 11769 * varasm.c (UNIQUE_SECTION): Move default implementation ... 11770 * defaults.h: ... here. 11771 117722001-01-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 11773 11774 * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define. 11775 117762001-01-23 Neil Booth <neil@daikokuya.demon.co.uk> 11777 11778 * c-lex.c (lex_charconst): Fix typo: s/p/str. 11779 117802001-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 11781 11782 * rs6000.h (rs6000_return_addr): Move prototype from here... 11783 * rs6000-protos.h (rs6000_return_addr): ...to here. 11784 (rs6000_init_expanders): Delete prototype. 11785 117862001-01-23 Nick Clifton <nickc@redhat.com> 11787 11788 * invoke.texi: Replace , with \, inside @gccoptlist macros. 11789 (Spec Files): Document %B and %j and %. and %v3 and %M and 11790 %{S*&T} spec switches. 11791 117922001-01-24 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 11793 11794 * c4x.c (c4x_r11_set_p): Calculate rtx code correctly. 11795 117962001-01-23 Chris Demetriou <cgd@sibyte.com> 11797 Neil Booth <neil@daikokuya.demon.co.uk> 11798 11799 * cpperror.c: Merge handlers of PEDWARN and WARNING. 11800 Have -Werror make pedantic warnings errors, like the 11801 rest of GCC. 11802 118032001-01-23 Phil Edwards <pme@sources.redhat.com> 11804 11805 * c-tree.texi (IDENTIFIER_LENGTH): Fix typo. 11806 118072001-01-23 Jakub Jelinek <jakub@redhat.com> 11808 11809 * integrate.h (struct inline_remap): Add compare_src, compare_mode. 11810 * integrate.c (expand_inline_function): Initialize them. 11811 (subst_constants): If changing COMPARE so that both its arguments 11812 will be VOIDmode and the comparison mode will be lost, note 11813 compare_mode. Use the recorded compare_mode to optimize 11814 IF_THEN_ELSE. 11815 118162001-01-23 Jason Merrill <jason@redhat.com> 11817 11818 * dwarf2out.c (new_die): Use xcalloc. 11819 (output_die): Abort rather than emit a local reference to offset 0. 11820 118212001-01-17 Andrew Haley <aph@redhat.com> 11822 11823 * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy 11824 of a saved register; return NULL instead. 11825 (copy_reg): Take a pointer to a source register rather than a 11826 frame_state. 11827 (next_stack_level): Remember the address in the stack frame of all 11828 saved registers. 11829 Use the saved register pointer array as the source of the CFA. 11830 (throw_helper): Rewrite. Unwind once rather than twice and keep 11831 track of saved registers as we go. 11832 118332001-01-23 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 11834 11835 * c4x-protos.h (c4x_legitimize_reload_address): Remove. 11836 * c4x.c (c4x_legitimize_reload_address): Remove. 11837 * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct 11838 reload address for ldp(k) insn. 11839 11840Mon Jan 22 20:53:47 2001 Jeffrey A Law (law@cygnus.com) 11841 11842 * pa.md (return_internal): Add a USE of the PIC register to ensure 11843 it is restored after each call. 11844 (return expander): Corresponding changes. 11845 118462001-01-22 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 11847 11848 * rs6000.h (INIT_EXPANDERS): Delete. 11849 (RETURN_ADDR_RTX): Call rs6000_return_addr(). 11850 * rs6000.c (rs6000_override_options): Call *_machine_status from 11851 here... 11852 (rs6000_init_expanders): ...instead of here. Delete. 11853 (rs6000_mark_machine_status): New function. 11854 (rs6000_init_machine_status): Use xcalloc. 11855 (rs6000_return_addr): Generate RTX for the return address. 11856 (rs6000_ra_ever_killed): New, check if LR was ever destroyed. 11857 (rs6000_stack_info): Use it. 11858 118592001-01-22 Thomas Pfaff <tpfaff@gmx.net> 11860 11861 * gthr-win32.h: Include errno.h to get a declaration for 11862 EINVAL and _mingw.h if the target is mingw32. 11863 118642001-01-22 Andres Felipe Vargas <avargas@teletulua.com.co> 11865 11866 * cpp.texi: Correct typos. 11867 11868Mon Jan 22 13:59:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 11869 11870 * explow.c (probe_stack_range): Ensure value passed to 11871 stack_check_libfunc is ptr_mode, not Pmode. 11872 11873Mon Jan 22 16:53:06 2001 J"orn Rennecke <amylaar@redhat.com> 11874 11875 * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND 11876 case, don't use operand_subword to calculate a SUBREG that is 11877 wider than a word. 11878 11879 * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE. 11880 118812001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 11882 11883 * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions. 11884 (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is 11885 valid. If not replace it by equivalent insns. 11886 118872001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 11888 11889 * c4x.c (c4x_check_legit_addr): Only check CONST. Not if CONST 11890 contains SYMBOL_REF, LABEL_REF and CONST_INT. 11891 (c4x_U_constraint, symbolic_address_operand): Likewise. 11892 (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in 11893 memory. 11894 (c4x_r11_set_p, c4x_check_laj_p): New functions. 11895 * c4x-protos.h (c4x_check_laj_p): Add prototype. 11896 * c4x.md (in_annul_slot_3): Do not allow auto-increment in last 11897 anulling slot because of silicon bug. 11898 (laj, lajv): Call c4x_check_laj_p to check for silicon bug. 11899 119002001-01-22 Alan Modra <alan@linuxcare.com.au> 11901 11902 * cppexp.c (parse_charconst): Change `mask' type to agree 11903 with parse_escape. 11904 119052001-01-21 Richard Henderson <rth@redhat.com> 11906 11907 * config/i386/i386.c (ix86_asm_file_end): Disable putting 11908 pic_label_name in a linkonce section. 11909 119102001-01-17 Philipp Thomas <pthomas@suse.de> 11911 11912 * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was 11913 found in libintl. 11914 * configure: Regenerate. 11915 11916Sun Jan 21 02:38:56 2001 J"orn Rennecke <amylaar@redhat.com> 11917 11918 * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard 11919 uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks. 11920 11921Sun Jan 21 09:44:17 2001 Denis Chertykov <denisc@overta.ru> 11922 11923 * config/avr/avr.c (ret_cond_branch): New argument (reverse) added. 11924 If REVERSE nonzero then condition code in X must be reversed. 11925 (encode_section_info): Optimize if/else. 11926 (avr_function_value): Fix formatting. 11927 11928 * config/avr/avr.md (branch): Call to ret_cond_branch changed. 11929 (difficult_branch): Likewise. 11930 (rvbranch): Likewise. 11931 (difficult_rvbranch): Likewise. 11932 11933 * config/avr/avr-protos.h (ret_cond_branch): Prototype changed. 11934 11935 * config/avr/libgcc.S: Fix comment. 11936 119372001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG> 11938 11939 * sdbout.c (PUT_SDB_DEF): Fix after last bogus change. 11940 119412001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG> 11942 11943 * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting. 11944 119452001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG> 11946 11947 * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro. 11948 * configure.in (gcc_AC_FUNC_STRSTR): Add invokation. 11949 * configure, config.in: Regenerate. 11950 * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables. 11951 (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling. 11952 (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules. 11953 (doprint.o): New rule. 11954 119552001-01-20 Joseph S. Myers <jsm28@cam.ac.uk> 11956 11957 * c-typeck.c (digest_init): Handle boolean types as scalars. 11958 11959Sat Jan 20 12:46:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 11960 11961 * stmt.c (expand_return): Don't return anything if size is zero. 11962 Delete redundant assignment to BYTES. 11963 * expr.c (move_block_from_reg): Do nothing if NREGS is zero. 11964 119652001-01-20 Marek Michalkiewicz <marekm@linux.org.pl> 11966 11967 * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was 11968 the same as the default library function names. 11969 * config/avr/avr.md: Document special characters after '%'. 11970 (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves, 11971 knowing which of the call-used registers are really clobbered. 11972 (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4): 11973 New. Both quotient and remainder from one libgcc.S call. 11974 * config/avr/libgcc.S: Optimize mul/divmod for the new insns above, 11975 clobber as few registers as possible. 11976 * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes. 11977 119782001-01-20 Neil Booth <neil@daikokuya.demon.co.uk> 11979 11980 * cppmacro.c (funlike_invocation_p): Don't move back up to the 11981 context of the top of the stack. 11982 119832001-01-20 Jakub Jelinek <jakub@redhat.com> 11984 11985 * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling... 11986 (fixup_var_refs_insns): ...here. 11987 119882001-01-20 Zack Weinberg <zack@wolery.stanford.edu> 11989 11990 * function.c (fixup_var_refs_insns): Break up into 11991 fixup_var_refs_insn [body of loop], fixup_var_refs_insns 11992 [loop over entire insn list], and fixup_var_refs_insns_with_hash 11993 [loop over hash table entries]. 11994 (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or 11995 fixup_var_refs_insns_with_hash, to match above changes. 11996 119972001-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca> 11998 11999 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable. 12000 (libgcc.a): Likewise. 12001 (stmp-multilib): Likewise. 12002 (STAGE2_FLAGS_TO_PASS): Likewise. 12003 120042001-01-19 Alexandre Oliva <aoliva@redhat.com> 12005 12006 * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as 12007 temporary if no_new_pseudos. 12008 120092001-01-19 Neil Booth <neil@daikokuya.demon.co.uk> 12010 12011 * cppinternals.texi: Update. 12012 120132001-01-19 Richard Earnshaw <rearnsha@arm.com> 12014 12015 * arm.c (arm_init_builtins): Re-enable builtins. 12016 12017Fri Jan 19 13:02:56 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 12018 12019 * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility. 12020 * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow 12021 element to be null, and always expect an EXPR_LIST. 12022 * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise. 12023 * sched-deps.c (sched_analyze_1): Likewise. 12024 * sched-rgn.c (check_live_1, update_live_1): Likewise. 12025 12026 * regclass.c (max_set_parallel): New variable. 12027 (reg_scan): Take it into account in computation of max_parallel. 12028 (reg_scan_mark_refs, case SET): Compute it. 12029 12030 * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume 12031 args are REG. 12032 * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM. 12033 * function.c (assign_parms): Use INTVAL for a CONST_INT. 12034 120352001-01-19 Jason Merrill <jason@redhat.com> 12036 12037 * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl 12038 for the abstract instance of an inline function. 12039 12040Fri Jan 19 14:31:35 2001 Alexandre Oliva <aoliva@redhat.com> 12041 J"orn Rennecke <amylaar@redhat.com> 12042 12043 * reload1.c (move2add_note_store): Treat all registers directly or 12044 indirectly derived from a base register as members of the same set 12045 of values. 12046 (reload_cse_move2add): Adjust accordingly. Take mode and offset 12047 of base register into account. 12048 12049Fri Jan 19 09:18:42 2001 J"orn Rennecke <amylaar@redhat.com> 12050 12051 * alias.c (find_base_value): Recognize TRUNCATE. 12052 (record_set): In PLUS case, invalidate if other summand is also a 12053 base value. 12054 12055Thu Jan 18 06:43:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 12056 12057 * flow.c (mark_set_1, case PARALLEL): New case; rework to allow 12058 entry to be EXPR_LIST. 12059 * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to 12060 be an EXPR_LIST (but not null, which other code doesn't allow). 12061 (note_stores): Properly handle PARALLEL in SET. 12062 Recursively call for top-level PARALLEL. 12063 * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET. 12064 * sched-rgn.c (check_live_1, update_live_1): Likewise. 12065 12066 * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h. 12067 120682001-01-18 Neil Booth <neil@daikokuya.demon.co.uk> 12069 12070 * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping, 12071 not pfile->skipping (== 0). 12072 120732001-01-17 Nick Clifton <nickc@redhat.com> 12074 12075 * config/rs6000/rs6000.c: Add prototypes for {init|free}_ 12076 machine_status. 12077 120782001-01-17 Jim Wilson <wilson@redhat.com> 12079 12080 * invoke.texi (IA-64 options): Improve. 12081 120822001-01-17 Tom Tromey <tromey@redhat.com> 12083 12084 * invoke.texi (Optimize Options): Use `{}' to around @samp 12085 argument. 12086 120872001-01-17 Aldy Hernandez <aldyh@redhat.com> 12088 12089 * invoke.texi (-fno-guess-branch-probability): New option. 12090 12091Wed Jan 17 13:26:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 12092 12093 * combine.c (try_combine): Don't set i3_subst_into_i2 for 12094 case of making new double-word constant. 12095 Revert last change: instead just test i3_subst_into_i2. 12096 120972001-01-17 Jakub Jelinek <jakub@redhat.com> 12098 12099 * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation. 12100 Use q constraints instead of r. 12101 12102Tue Jan 16 22:23:04 2001 Alan Modra (alan@linuxcare.com.au) 12103 12104 * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove. 12105 (machine_function): Define. 12106 (PIC_OFFSET_TABLE_SAVE_RTX) : Define. 12107 * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status, 12108 pa_free_machine_status): New functions. 12109 (override_options): Set {init,mark,free}_machine_status to above. 12110 (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of 12111 PIC_OFFSET_TABLE_REGNUM_SAVED. 12112 * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of 12113 PIC_OFFSET_TABLE_REGNUM_SAVED throughout. 12114 * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove 12115 references to PIC_OFFSET_TABLE_REGNUM_SAVED. 12116 * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise. 12117 121182001-01-15 DJ Delorie <dj@redhat.com> 12119 12120 * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing. 12121 (cpp.1): Ditto. 12122 (gcc.1): Ditto. 12123 12124Tue Jan 16 17:20:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 12125 12126 * flow.c (propagate_one_insn): Make trying to delete a prologue 12127 or epilogue insn an ICE, not a warning. Allow doing this if 12128 the current function returns with stack pointer depressed. 12129 12130 * combine.c (try_combine): If i3_subst_into_i2, properly check for 12131 I3 having more than one SET. 12132 121332001-01-16 Jim Wilson <wilson@redhat.com> 12134 12135 * invoke.texi: Document IA-64 options. 12136 12137 * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support. 12138 (fixup_errata): Delete TARGET_A_STEP use. 12139 * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete. 12140 (TARGET_SWITCHES): Delete -ma-step option. 12141 * config/ia64/ia64.md (all FP patterns): Delete %B0. 12142 (movqicc_astep, movqi_internal_astep, movhicc_astep, 12143 movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1, 12144 movdi_internal_astep, movsfcc_astep, movsf_internal_astep, 12145 movdfcc_astep, movdf_internal_astep, movtfcc_astep, 12146 movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep): 12147 Delete. 12148 (movqi_internal, movhi_internal, movsi_internal, movdi_internal, 12149 movsf_internal, movdf_internal, movtf_internal, cmovdi_internal, 12150 cmovsi_internal): Delete ! TARGET_A_STEP check. 12151 121522001-01-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 12153 12154 * gcc.texi (Bug Lists): Do not mention newsgroups nor the 12155 possibility to report bugs via postal mail. Change a URL and 12156 merge in a nearly duplicate statement... 12157 (Bug Reporting): ...from here. 12158 (Service): Refer to the Bug Reporting section instead of 12159 duplicating an URL. 12160 (Contributing): Remove trivial explanations concerning snapshots. 12161 121622001-01-16 Alan Modra <alan@linuxcare.com.au> 12163 12164 * cppmain.c (general_init): Don't use ANSI prototype. 12165 121662001-01-16 Tom Tromey <tromey@redhat.com> 12167 12168 * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT. 12169 121702001-01-16 Richard Henderson <rth@redhat.com> 12171 12172 * config/i386/i386.h: Fix comment typo. 12173 * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/ 12174 (ashr+compare patterns): Match CCGOCmode not CCNOmode. 12175 121762001-01-16 Phil Edwards <pme@sources.redhat.com> 12177 12178 * gcc.c: Revert previous -fsyntax-only-related change; move 12179 to cp/g++spec.c. 12180 121812001-01-16 Jakub Jelinek <jakub@redhat.com> 12182 12183 * config/i386/i386.c (fcmov_comparison_operator): Only initialize 12184 inmode after checking GET_CODE (op). 12185 121862001-01-16 Richard Henderson <rth@redhat.com> 12187 12188 * flow.c (struct propagate_block_info): Add mem_set_list_len. 12189 (MAX_MEM_SET_LIST_LEN): New. 12190 (propagate_one_insn): Update mem_set_list_len. 12191 (invalidate_mems_from_autoinc): Likewise. 12192 (invalidate_mems_from_set): Likewise. 12193 (mark_used_regs): Likewise. 12194 (init_propagate_block_info): Likewise. Stop collecting memories 12195 when we reach MAX_MEM_SET_LIST_LEN. 12196 (mark_set_1): Likewise. 12197 121982001-01-16 Richard Henderson <rth@redhat.com> 12199 12200 * unroll.c (precondition_loop_p): Fail if no iteration 12201 variable found. 12202 122032001-01-16 Phil Edwards <pme@sources.redhat.com> 12204 12205 * gcc.c: When -fsyntax-only is given, do not complain about 12206 unused libraries. 12207 122082001-01-15 Richard Henderson <rth@redhat.com> 12209 12210 * config/i386/i386.c (asm_output_function_prefix): Remove. 12211 (ix86_asm_file_end): New. 12212 (load_pic_register): Generate pic_label_name into a 12213 statically allocated buffer. 12214 * config/i386/i386-protos.h: Update. 12215 * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove. 12216 (ASM_FILE_END): New. 12217 * config/i386/i386afe.h: New file. 12218 * config.gcc (i?86-*-elf) [tm_file]: Use it. 12219 (i?86-*-{freebsd,linux*,moss*}): Likewise. 12220 * config/elfos.h (ASM_FILE_END): Undef before redefinition. 12221 * config/i386/cygwin.h (ASM_FILE_END): Likewise. 12222 * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end. 12223 * config/i386/sco5.h (ASM_FILE_END): Likewise. 12224 * config/i386/winnt.c (i386_pe_asm_file_end): Likewise. 12225 122262001-01-15 Joseph S. Myers <jsm28@cam.ac.uk> 12227 12228 * Makefile.in (install-man): Remove explicit dependency on 12229 $(srcdir)/gcc.1. 12230 12231 * configure.in, configure: Revert previous patch requiring perl 12232 5.6.0. 12233 122342001-01-12 Aldy Hernandez <aldyh@redhat.com> 12235 12236 * toplev.c (flag_guess_branch_prob): New. 12237 (f_options): Add guess-branch-probability option. 12238 (rest_of_decl_compilation): Only estimate branch probability if 12239 flag set. 12240 (main): set flag_guess_branch_prob. 12241 12242 * flags.h (flag_guess_branch_prob): New. 12243 122442001-01-15 DJ Delorie <dj@redhat.com> 12245 12246 * gcc.texi (Makefile): Add documentation for Makefile targets. 12247 122482001-01-15 Philip Blundell <philb@gnu.org> 12249 12250 * config/arm/arm.c (arm_finalize_pic): New arg "prologue". 12251 (is_pic): Delete. 12252 * config/arm/arm-protos.h (arm_finalize_pic): Update prototype. 12253 (is_pic): Delete declaration. 12254 * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic. 12255 (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address. 12256 * config/arm/arm.md (builtin_setjmp_receiver): New. 12257 122582001-01-15 Richard Earnshaw <rearnsha@arm.com> 12259 12260 * arm.c (use_return_insn): Don't try to determine the function type 12261 until after reload has completed. 12262 (arm_output_epilogue): Don't adjust the sp value recovered from the 12263 stack. 12264 (emit_multi_reg_push): Don't record dwarf information for the pc. 12265 * arm.md (eh_epilogue): The function type may have changed, so it 12266 needs to be recalculated. 12267 * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete. Can now use dwarf2 12268 unwind tables on arm/netbsd. 12269 122702001-01-15 Richard Earnshaw <rearnsha@arm.com> 12271 12272 * arm.md (cbranchsi4): Correct calculation of branch ranges. 12273 (negated_cbranchsi4): Likewise. 12274 122752001-01-15 Richard Earnshaw <rearnsha@arm.com> 12276 12277 * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define. 12278 (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string. 12279 (ASM_SPEC): Call subtarget_extra_asm_spec. Don't 12280 pass -mapcs-* options to assembler. 12281 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define. 12282 (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string. 12283 (ASM_SPEC): Call subtarget_extra_asm_spec. 12284 122852001-01-15 Andreas Jaeger <aj@suse.de> 12286 12287 * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove 12288 warnings. 12289 (ix86_expand_builtin): Likewise. 12290 12291 * gencodes.c (output_predicate_decls): Make i size_t to avoid 12292 warning about comparison between signed and unsigned. 12293 122942001-01-14 Geoffrey Keating <geoffk@redhat.com> 12295 12296 * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs. 12297 122982001-01-14 Ralf Baechle <ralf@gnu.org> 12299 12300 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change 12301 SUBTARGET_CPP_SPEC appropriately. 12302 123032001-01-12 Mark Mitchell <mark@codesourcery.com> 12304 12305 * varasm.c (make_decl_rtl): Fix typo in last change. 12306 123072001-01-14 Jeffrey Oldham <oldham@codesourcery.com> 12308 12309 * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the 12310 linker supports the init_priority C++ attribute. 12311 * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro. 12312 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix 12313 linker does not support init_priority C++ attribute. 12314 12315Sun Jan 14 22:31:30 2001 J"orn Rennecke <amylaar@redhat.com> 12316 12317 * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs. 12318 123192001-01-14 Neil Booth <neil@daikokuya.demon.co.uk> 12320 12321 * c-parse.in (finish_parse): Add comment about cpp_destroy. 12322 * cp/lex.c (finish_parse): Similarly. 12323 * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity. 12324 Return the number of errors encountered. 12325 * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int. 12326 * cppmain.c (main): Don't call cpp_destroy. 12327 123282001-01-14 Joseph S. Myers <jsm28@cam.ac.uk> 12329 12330 * configure.in: Require at least perl 5.6.0 to regenerate 12331 manpages. 12332 * configure: Regenerate. 12333 123342001-01-14 Richard Henderson <rth@redhat.com> 12335 12336 * genrecog.c (DT_veclen_ge): New. 12337 (add_to_sequence) [MATCH_PARALLEL]: Generate one. 12338 (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge. 12339 (nodes_identical_1): Handle DT_veclen_ge. 12340 (write_cond, debug_decision_2): Likewise. 12341 123422001-01-14 Richard Earnshaw <rearnsha@arm.com> 12343 12344 * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete. Replace 12345 with ... 12346 (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New. 12347 123482001-01-14 Neil Booth <neil@daikokuya.demon.co.uk> 12349 12350 * cppmain.c (do_preprocessing): New function; most of the old 12351 main. 12352 (main): Call it to do most of the work. 12353 (cb): Move from global scope to set_callbacks (). 12354 (setup_callbacks): Get the callback pointer. 12355 (general_init, printer_init): Clean up code and comments. 12356 123572001-01-14 Richard Earnshaw <rearnsha@arm.com> 12358 12359 * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when 12360 compiling PIC. 12361 123622001-01-14 Kazu Hirata <kazu@hxi.com> 12363 12364 * config/h8300/h8300.c (get_shift_alg): Update comments. 12365 12366Sun Jan 14 06:20:49 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 12367 12368 * ggc-page.c (alloc_annon): Call perror and correctly call exit. 12369 (alloc_page, ggc_alloc): Add casts to remove warnings. 12370 123712001-01-14 Geoffrey Keating <geoffk@redhat.com> 12372 12373 * combine.c (simplify_comparison): Don't change `code' when 12374 can't reverse comparison. 12375 123762001-01-14 Richard Henderson <rth@redhat.com> 12377 12378 * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem; 12379 update all call sites. Return true for all non-label constants. 12380 12381Sun Jan 14 10:09:48 MET 2001 Jan hubicka <jh@suse.cz> 12382 12383 * i386.c (ix86_expand_compare): Add bypass_test and second_test 12384 parameters. 12385 (ix86_expand_branch): Update. 12386 (ix86_expand_setcc): Update to handle multiple test conditions. 12387 (expand_int_movcc): Likewise. 12388 (expand_fp_movcc): Likewise. 12389 * i386-protos.h (ix86_expand_compare): New. 12390 * i386.md (andqi_?_slp, orqi_?_slp): New. 12391 (conditional trap expander): Update call to ix86_expand_compare. 12392 123932001-01-14 Richard Henderson <rth@redhat.com> 12394 12395 * config/vax/vax.md: Use nonimmediate_operand instead of 12396 general_operand in destinations. 12397 12398 * config/vax/vax.md (indirect_jump): Use register_operand. 12399 12400 * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments. 12401 * config/vax/vax.md (call_pop): Turn into an expander. 12402 (call_value_pop): Likewise. 12403 (call, call_value): New. 12404 124052001-01-14 Andreas Jaeger <aj@suse.de> 12406 12407 * config/i386/i386.c (ix86_split_fp_branch): Remove unused 12408 variables. 12409 (ix86_fp_compare_mode): Add unused attribute. 12410 (ix86_expand_fp_movcc): Remove unused variable. 12411 (ix86_expand_builtin): Make fcode unsigned. 12412 12413 * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned. 12414 (expand_expr): Add cast to avoid signed warning. 12415 (store_field): Likewise. 12416 (store_constructor_field): Likewise. 12417 (store_constructor): Likewise. 12418 (store_expr): Likewise. 12419 (clear_storage): Likewise. 12420 (emit_group_store): Likewise. 12421 (emit_group_load): Likewise. 12422 124232001-01-13 Joseph S. Myers <jsm28@cam.ac.uk> 12424 12425 * c-common.c: Move format checking code to ... 12426 * c-format.c: ... here. New file. Reorder some functions and 12427 declarations. 12428 (decl_handle_format_attribute, decl_handle_format_arg_attribute): 12429 New functions. 12430 * c-common.h (decl_handle_format_attribute, 12431 decl_handle_format_arg_attribute): Declare. 12432 * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o. 12433 (c-common.o): Adjust dependencies. 12434 (c-format.o): New list of dependencies. 12435 124362001-01-13 Jakub Jelinek <jakub@redhat.com> 12437 12438 * unroll.c (loop_iterations): If we cannot prove iteration variable 12439 is set once in each iteration, punt. 12440 12441Sun Jan 14 00:23:15 2001 Denis Chertykov <denisc@overta.ru> 12442 12443 * config/avr/avr.md ("strlenhi"): Remove clobber of input address. 12444 (*strlenhi): Remove clobber (which was buggy) of output address. 12445 124462001-01-13 Joseph S. Myers <jsm28@cam.ac.uk> 12447 12448 * Makefile.in (generated-manpages): Add gcc.1 12449 ($(srcdir)/gcc.1): New target. 12450 (maintainer-clean): Delete $(srcdir)/gcc.1. 12451 * gcc.texi: Add macros @gccoptlist and @gol. 12452 * invoke.texi: Include option summary in manpage. Mark up option 12453 summary with @gccoptlist and @gol. Use @r in one place where 12454 appropriate. 12455 * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org. 12456 * gcc.1: Generate from invoke.texi. 12457 124582001-01-13 Richard Henderson <rth@redhat.com> 12459 12460 * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap. 12461 (struct page_entry): Add group member. 12462 (struct page_group): New. 12463 (struct globals): Add page_groups member. 12464 (alloc_anon): Only define for using mmap; remove valloc call. 12465 (page_group_index): New. 12466 (set_page_group_in_use): New. 12467 (clear_page_group_in_use): New. 12468 (alloc_page): Implement USING_MALLOC_PAGE_GROUPS. 12469 (free_page, release_pages): Likewise. 12470 * configure.in (with-gc): Default to ggc-page always. 12471 124722001-01-13 Alexandre Oliva <aoliva@redhat.com> 12473 12474 * reload1.c (replace_pseudos_in_call_usage): Use 12475 reg_equiv_constant and reg_equiv_address, and don't try 12476 regno_reg_rtx first. 12477 124782001-01-13 Richard Henderson <rth@redhat.com> 12479 12480 * ggc-page.c (alloc_page): Round up allocation size to one page. 12481 Set e->order on extra pages. 12482 124832001-01-13 Richard Henderson <rth@redhat.com> 12484 12485 * genrecog.c (nodes_identical): Expand commentary. 12486 (write_switch): Watch out for identical nodes. 12487 124882001-01-13 Neil Booth <neil@daikokuya.demon.co.uk> 12489 12490 * cppfiles.c (_cpp_fake_include): New function. 12491 * cpphash.h (_cpp_fake_include): New. 12492 * cpplib.c (do_line): Call _cpp_fake_include when entering 12493 header files in preprocessed input. 12494 * cppmain.c (cb_pragma_implementation): Remove handling. 12495 (setup_callbacks): Don't register pragmas. 12496 124972001-01-13 Neil Booth <neil@daikokuya.demon.co.uk> 12498 12499 * extend.texi: Udate for CPP. 12500 125012001-01-13 Andreas Jaeger <aj@suse.de> 12502 12503 * reload1.c: Add prototype for replace_pseudos_in_call_usage. 12504 12505 * regmove.c: Add prototype for replace_in_call_usage. 12506 125072001-01-13 Neil Booth <neil@daikokuya.demon.co.uk> 12508 12509 * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro, 12510 struct cpp_chunk, struct htab, struct toklist, 12511 struct cpp_context, CPP_STACK_MAX, struct lexer_state, 12512 struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER, 12513 CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp, 12514 ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h. 12515 (struct macro_args): Delete. 12516 * cpphash.h: See above. 12517 125182001-01-13 Neil Booth <neil@daikokuya.demon.co.uk> 12519 12520 * cppmain.c (struct printer): Remove no_line_dirs. 12521 (options, cb): New. 12522 (main, setup_callbacks, scan_buffer, printer_init, cb_define) 12523 : Use options rather than CPP_OPTION. 12524 (setup_callbacks): Use cb rather than pfile->cb. 12525 (main): No need to check for a buffer. Use cpp_errors. 12526 (printer_init): Don't set no_line_dirs. 12527 (maybe_print_line): Use options not no_line_dirs. 12528 (cb_file_change): Don't call print_line if -P. 12529 125302001-01-13 Neil Booth <neil@daikokuya.demon.co.uk> 12531 12532 * c-lex.c (init_c_lex): Use cpp_get_callbacks to set 12533 callbacks. 12534 * c-parse.in (finish_parse): Use cpp_errors. 12535 (__yylex): Use return value of cpp_pop_buffer. 12536 * cp/lex.c (finish_parse): Use cpp_errors. 12537 * cp/spew.c (read_token): Use return value of cpp_pop_buffer. 12538 12539Sat Jan 13 16:57:40 2001 Denis Chertykov <denisc@overta.ru> 12540 12541 * README.AVR: URLs corrected. 12542 12543Sat Jan 13 07:30:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 12544 12545 * c-decl.c (start_function): Don't warn if old prototype is builtin 12546 that's not in C's namespace. 12547 * libgcc2.c (_varargs): Update definition of __builtin_saveregs. 12548 (_bb): Add prototype for ctime. 12549 * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos. 12550 12551Sat Jan 13 09:53:32 MET 2001 Jan Hubicka <jh@suse.cz> 12552 12553 * i386.c (ix86_fp_comparison_arithmetics_cost, 12554 ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost, 12555 ix86_fp_comparison_cost): New functions. 12556 (ix86_expand_fp_compare): Use the costs to choose best bethod; add 12557 two new parameters SECOND_TEST and BYPASS_TEST; allow generating 12558 two-branch sequences; make static. 12559 (ix86_use_fcomi_compare): Do decision according to the costs. 12560 (split_fp_branch): New. 12561 * i386.md (compare-and-branch patterns): Use split_fp_branch. 12562 * i386-protos.h (ix86_expand_fp_compare): Remove 12563 (ix86_split_fp_branch): Declare. 12564 12565 * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand 12566 and ix86_comparison_operator. 12567 12568 * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison 12569 to make it cheaper. 12570 12571 * i386.c (put_condition_code): Output properly the unordered/ordered 12572 compares in fp case. 12573 (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure. 12574 12575 * tm.texi (REVERSE_CONDITION): Document. 12576 * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode 12577 in -ffast-math mode. 12578 * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro. 12579 125802001-01-13 Alexandre Oliva <aoliva@redhat.com> 12581 12582 * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly. 12583 12584 * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be 12585 optimized away. 12586 12587 * config/sh/sh.c (mova_p): Fix test for mova_const. 12588 125892001-01-13 Neil Booth <neil@daikokuya.demon.co.uk> 12590 12591 * fix-header.c (read_scan_file): Use cpp_get_callbacks and 12592 cpp_get_options rather than dereferencing pfile and using 12593 CPP_OPTION. 12594 * scan-decls.c (scan_decls): Use return value of 12595 cpp_pop_buffer rather than CPP_BUFFER. 12596 125972001-01-13 Neil Booth <neil@daikokuya.demon.co.uk> 12598 12599 * cppinit.c (cpp_handle_option): help_only is now part of the 12600 cpp_options structure. 12601 * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks, 12602 cpp_set_callbacks): New functions. 12603 * cpplib.h (cpp_callbacks): Break out as a named structure. 12604 (cpp_options): Move help_only here from cpp_reader. 12605 (CPP_FATAL_ERRORS): Update to use cpp_errors. 12606 (cpp_errors, cpp_get_options, cpp_get_callbacks, 12607 cpp_set_callbacks): New prototypes. 12608 * cppmain.c (main): Update for help_only. 12609 126102001-01-13 Joseph S. Myers <jsm28@cam.ac.uk> 12611 12612 * Makefile.in (info, maintainer-clean, install-info, uninstall): 12613 Also build and remove and install and uninstall c-tree.info and 12614 cppinternals.info. 12615 ($(srcdir)/gcc.info): Add dependency on contrib.texi. 12616 ($(srcdir)/cppinternals.info): New target. 12617 * c-tree.texi: Change file name used when makeinfo used without -o 12618 from ir.info to c-tree.info. Add info directory entry. 12619 * cppinternals.texi: Add info directory entry. 12620 * .cvsignore: Update. 12621 126222001-01-12 Jakub Jelinek <jakub@redhat.com> 12623 12624 * c-typeck.c (store_init_value): Don't require constant initializer 12625 elements with -pedantic -std=c99. 12626 (digest_init): Change error about non-constant initializer elements 12627 into pedwarn. 12628 (constructor_range_end): Remove. 12629 (constructor_incremental, designator_depth, 12630 designator_errorneous): New variables. 12631 (struct constructor_stack): Remove range_end, add incremental. 12632 (struct constructor_range_stack, constructor_range_stack): New. 12633 (struct initializer_stack): Add constructor_range_stack. 12634 (finish_init): Set it. 12635 (start_init): Likewise. require_constant_elements for non-static 12636 trees only if not flag_isoc99. 12637 (really_start_incremental_init): Remove constructor_range_end, add 12638 constructor_incremental. 12639 (pop_init_level): Likewise. 12640 (push_init_level): Likewise. If implicit and the subobject had some 12641 value set already, preinitialize the level with it. 12642 Warn about missing braces only if not pushing due to designators. 12643 (set_designator, push_range_stack): New functions. 12644 (set_init_label): Use them. 12645 (set_init_index): Likewise. Remove constructor_range_end. 12646 Error if designator index is outside of array bounds. 12647 (add_pending_init): Compare values of purpose index trees, not the 12648 trees themselves. Allow overwriting of already initialized element. 12649 Issue a warning if it had side-effects. 12650 (set_nonincremental_init, set_nonincremental_init_from_string): New 12651 functions. 12652 (pending_init_member): Rename to... 12653 (find_init_member): ...this function. Call set_nonincremental_init 12654 if necessary. Compare values of purpose index trees, not the trees 12655 themselves. Return the actual value, not just nonzero if something 12656 is found. 12657 (output_init_element): Remove checks for duplicates. 12658 If field has zero size, only check the initializer for correctness. 12659 Call set_nonincremental_init if necessary. Push RECORD/ARRAY into AVL 12660 if constructor_incremental is zero. Change error about initializers 12661 not computable at load time into pedwarn. 12662 (output_pending_init_elements): Compare bit positions, not 12663 FIELD_DECLs to take into account zero-sized fields. 12664 (process_init_element): Use constructor_range_stack to fill all 12665 ranges in the designator lists from current level up. 12666 * extend.texi: Update documentation for labeled elements. 12667 126682001-01-12 Alexandre Oliva <aoliva@redhat.com> 12669 12670 * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs 12671 to function usage for arguments passed by reference. Optimize 12672 callee-copied arguments. 12673 * regmove.c (replace_in_call_usage): New function. 12674 (fixup_match_1): Call it. 12675 * cse.c (cse_insn): Canonicalize registers in function usage. 12676 * reload1.c (replace_pseudos_in_call_usage): New function. 12677 (reload): Call it. 12678 12679 * Makefile.in: Reverted yesterday's wrong patch. Installed the 12680 right version. 12681 126822001-01-12 Jakub Jelinek <jakub@redhat.com> 12683 12684 * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp, 12685 not XEXP (tmp, 0). 12686 126872001-01-12 DJ Delorie <dj@redhat.com> 12688 12689 * Makefile.in (bootstrap): rename stages to be mnemonic. Add 12690 restageN, unstageN, bubblestrap, quickstrap, and cleanstrap 12691 targets. 12692 126932001-01-12 Joseph S. Myers <jsm28@cam.ac.uk> 12694 12695 * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi, 12696 tm.texi: Consistently refer to ISO C instead of ANSI C. Refer to 12697 -std options alongside references to -ansi. Update some 12698 documentation for C99. 12699 * cpp.1: Regenerate. 12700 127012001-01-12 Andreas Jaeger <aj@suse.de> 12702 12703 * haifa-sched.c (restore_line_notes): Remove argument block B 12704 since it's unused. 12705 * sched-ebb.c (schedule_ebb): Change caller. 12706 * sched-rgn.c (schedule_region): Likewise. 12707 * sched-int.h (restore_line_notes): Adjust prototype. 12708 12709 * loop.h: Remove wrong declaration of doloop_condition_get. 12710 127112001-01-12 Phil Edwards <pme@sources.redhat.com> 12712 12713 * extend.texi: Move C++-extension-related node from the C section 12714 into the C++ section. 12715 127162001-01-12 Joseph S. Myers <jsm28@cam.ac.uk> 12717 12718 * extend.texi: Refer to an array of pointers to functions instead 12719 of one of functions. 12720 12721Fri Jan 12 12:08:12 MET 2001 Andreas Jaeger <aj@suse.de> 12722 Jan Hubicka <jh@suse.cz> 12723 12724 * combine.c (reversed_comparison): Fix typo in last patch. 12725 Check X for NULL. 12726 (combine_reversed_comparison_code): Make static to follow 12727 prototype declaration. 12728 127292001-01-12 Phil Edwards <pme@sources.redhat.com> 12730 12731 * install.texi: Remove misplaced duplicate entry. 12732 127332001-01-11 Ulrich Drepper <drepper@redhat.com> 12734 12735 * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99. 12736 12737Thu Jan 11 17:06:30 EST 2001 John Wehle (john@feith.com) 12738 12739 * final.c: (leaf_function_p): Fix typo. 12740 127412001-01-11 Zack Weinberg <zack@wolery.stanford.edu> 12742 12743 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten. 12744 Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending 12745 which you have. 12746 (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE. 12747 * configure.in: Set GGC to ggc-page if any of mmap_dev_zero, 12748 mmap_anon, and valloc is available. 12749 * ggc-page.c: Restructure ifdef logic to match new autoconf 12750 spec. Don't throw away the test page in init_ggc. 12751 12752 * configure, config.in: Regenerate. 12753 127542001-01-12 Michael Hayes <mhayes@redhat.com> 12755 12756 * loop.h (total_biv_increment): Constify iv_class pointer. 12757 (struct induction): Replace `mem_mode' with `mem' rtx. 12758 * unroll.c (total_biv_increment): Constify iv_class pointer. 12759 * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx. 12760 (find_mem_givs, combine_givs_p): Likewise. 12761 (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New. 12762 127632001-01-10 Thomas Pfaff <tpfaff@gmx.net> 12764 12765 * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32 12766 LastError. 12767 (__gthread_getspecific): Ditto. 12768 12769Fri Jan 12 00:04:00 MET 2001 Jan Hubicka <jh@suse.cz> 12770 12771 * i386.c (ix86_comparison_operator, fcmov_comparison_operator, 12772 put_condition_code): Convert fp comparison codes to integer 12773 before handling. 12774 (ix86_expand_fp_compare): Postnote the fp comparison code conversion 12775 to final. 12776 12777 * i386.c (unsigned_comparison, no_comparison_operator): Kill. 12778 * i386-protos.h (no_comparison_operator): Kill. 12779 12780 * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion. 12781 12782 * combine.c (REVERSIBLE_CC_MODE): Remove. 12783 (reversible_comparison_p): Remove. 12784 (combine_reversed_comparison_code): New. 12785 (reversed_comparison): New. 12786 (combine_simplify_rtx): Use 12787 combine_reversed_comparison_code/reversed_comparison instead 12788 of reversible_comparison_p. 12789 (simplify_if_then_else): Likewise. 12790 (simplify_set): Likewise. 12791 (simplify_logical): Likewise. 12792 (if_then_else_cond): Likewise. 12793 (known_cond): Likewise. 12794 (simplify_comparison): Likewise. 12795 127962001-01-11 Alan Lehotsky <lehotsky@tiac.net> 12797 12798 * builtins.c (std_expand_builtin_va_start): Handle varargs when 12799 sizeof (int) is larger than sizeof(__word__). 12800 128012001-01-11 Neil Booth <neil@daikokuya.demon.co.uk> 12802 12803 * cppinit.c (do_includes): Fix typo. 12804 128052001-01-11 Stephane Carrez <Stephane.Carrez@worldnet.fr> 12806 12807 * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading 12808 in S_REGS does not occur because not all sources are possible 12809 when a S_REGS is a destination (sometimes needs a clobber). 12810 (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise. 12811 (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise. 12812 (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise. 12813 (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise. 12814 (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise. 12815 (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise. 12816 (lshrdi_const1, lshrsi3_const16): Likewise. 12817 (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise. 12818 (*movhi_68hc12, *movqi_68hc12): Likewise. 12819 (movstrictqi): Make sure reloading in D_REGS as a destination 12820 does not happen. 12821 128222001-01-11 Neil Booth <neil@daikokuya.demon.co.uk> 12823 12824 * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ. 12825 128262001-01-11 Neil Booth <neil@daikokuya.demon.co.uk> 12827 12828 * cppinit.c (cpp_start_read): If -fpreprocessed, ignore 12829 -D, -U and -A, and don't initialize the builtins. 12830 (do_includes): Error if -include or -imacros with -fpreprocessed. 12831 * cppmain.c (cb_define, cb_undef): Unconditionally process 12832 the callback. 12833 * tradcpp.c (main): Fix typo. 12834 128352000-01-11 Mark Elbrecht <snowball3@bigfoot.com> 12836 12837 * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include) 12838 (read_name_map): Use IS_ABSOLUTE_PATH. 12839 * tradcpp.c (get_filename): Likewise. 12840 128412001-01-11 Stephane Carrez <Stephane.Carrez@worldnet.fr> 12842 12843 * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers. 12844 (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise. 12845 (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise. 12846 (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise. 12847 (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise. 12848 (cmphi_z_used): Don't use '@' for the output. 12849 (tstqi_z_used): Likewise. 12850 (cmpqi_z_used): Likewise. 12851 (one_cmplsi2): Likewise. 12852 128532001-01-11 Alexandre Oliva <aoliva@redhat.com> 12854 12855 * config/sh/sh.c (barrier_align): Recognize branch around far 12856 branch and redundant insn. 12857 128582001-01-11 Neil Booth <neil@daikokuya.demon.co.uk> 12859 12860 * invoke.texi: Restore documentation of the drivers' switches -MD 12861 and -MMD. 12862 128632001-01-11 Alexandre Oliva <aoliva@redhat.com> 12864 12865 * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1. 12866 12867 * Makefile.in (check-gcc//%, check-g++//%, check-g77//%, 12868 check-objc//%): Support parallel testing of multilibs. 12869 (TESTSUITEDIR): Set to testsuite by default, but override for 12870 parallel testing. 12871 (check-gcc, check-g++, check-g77, check-objc): Enter 12872 $(TESTSUITEDIR). 12873 128742001-01-11 Bernd Schmidt <bernds@redhat.com> 12875 12876 * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO. 12877 * sched-deps.c (deps_may_trap_p): Likewise. 12878 * basic-block.h: Remove a comment. 12879 * flow.c (PROP_POSTRELOAD): Remove. 12880 (update_life_info): Don't add it to prop_flags. 12881 (mark_set_1): Lose the code that was enabled by it. 12882 128832001-01-11 Michael Hayes <mhayes@redhat.com> 12884 12885 * flow.c (flow_call_edges_add): New. 12886 * basic_block.h (flow_call_edges_add): New. 12887 128882001-01-11 J"orn Rennecke <amylaar@redhat.com> 12889 12890 * reload1.c (move2add_note_store): Update reg_set_luid even if 12891 base reg remains the same. 12892 128932001-01-10 Nick Clifton <nickc@redhat.com> 12894 12895 * config/d30v/d30v.c (d30v_init_machine_status): Initialize 12896 machine_function structure to zero. 12897 Add prototypes for machine_status functions. 12898 128992001-01-10 Mark Mitchell <mark@codesourcery.com> 12900 12901 * c-common.h (CTI_VOID_LIST): Remove. 12902 (void_list_node): Likewise. 12903 * tree.h (TI_VOID_LIST_NODE): New enumeral. 12904 (void_list_node): New macro. 12905 * config/arm/arm.c (arm_init_builtins): Use void_list_node. 12906 * config/i386/i386.c (ix86_init_builtins): Likewise. 12907 * config/ia64a/ia64.c (ia64_init_builtins): Likewise. 12908 129092001-01-10 Neil Booth <neil@daikokuya.demon.co.uk> 12910 12911 * Makefile.in (tradcpp0): Depend on mkdeps.h. Link mkdeps.o 12912 * cppinit.c (cpp_start_read): Update comment, remove unneeded 12913 if statement. 12914 * tradcpp.c: Include mkdeps.h. 12915 (deps, print_deps_phony_targets, deps_append, output_deps, 12916 init_dependency_output, output_deps): New. 12917 (deps_buffer, deps_allocated_size, deps_size, deps_column, 12918 deps_output): Delete. 12919 (print_deps_missing_files): Rename deps_missing_files. 12920 (inhibit_output): Make global. 12921 (main): Delete inhibit_output, deps_stream, deps_target. 12922 Use mkdeps functionality in the same way as cpplib. Remove 12923 -g3 handling. Handle -MF, -MP, -MQ, -MT. Update handling of 12924 -M and -MM. Remove old handling of deps via deps_out, and 12925 old reading of environment variables. 12926 (get_filename): Update to use deps_add_dep. 12927 129282001-01-10 Mark Mitchell <mark@codesourcery.com> 12929 12930 * output.h (make_function_rtl): Remove prototype. 12931 (make_decl_rtl): Likewise. 12932 * varasm.c (make_function_rtl): Remove. 12933 (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather 12934 than from a third parameter. 12935 * tree.h (make_decl_rtl): Remove last parameter. 12936 * c-decl.c (builtin_function): Remove last argument in call to 12937 make_decl_rtl; use make_function_rtl instead of make_decl_rtl. 12938 (start_function): Likewise. 12939 * except.c (call_get_eh_context): Likewise. 12940 * expr.c (emit_block_move): Likewise. 12941 (clear_storage): Likewise. 12942 * profile.c (output_func_start_profiler): Likewise. 12943 * toplev.c (rest_of_decl_compilation): Likewise. 12944 * objc/objc-act.c (create_builtin_decl): Likewise. 12945 (synth_module_prologue): Likewise. 12946 (generate_static_reference): Likewise. 12947 (build_selector_reference_decl): Likewise. 12948 (build_class_reference_decl): Likewise. 12949 (build_objc_string_decl): Likewise. 12950 (build_protocol_reference): Likewise. 12951 129522001-01-10 Richard Henderson <rth@redhat.com> 12953 12954 * hwint.h: Revert yesterday's change. 12955 129562001-01-10 Nick Clifton <nickc@redhat.com> 12957 12958 * function.h (save_machine_status): Delete. 12959 (restore_machine_status): Delete. 12960 Amend comment describing {init|mark|free}_machine_status. 12961 12962 * function.c (save_machine_status): Delete. 12963 (restore_machine_status): Delete. 12964 Amend comment describing {init|mark|free}_machine_status. 12965 (push_function_context_to): Remove invocation of 12966 save_machine_status. 12967 (pop_function_context_from): Remove invocation of 12968 restore_machine_status. 12969 12970 * emit-rtl.c (init_emit_once): Amend comment describing 12971 {init|mark|free}_machine_status. 12972 12973 * tm.texi (Per-Function Data): New node. Describe the 12974 INIT_EXPANDERS macro and the {init|mark|free}_machine_status 12975 function pointers. 12976 129772001-01-10 Neil Booth <neil@daikokuya.demon.co.uk> 12978 12979 * cppinit.c (OPT_g): Remove. 12980 (cpp_handle_option): Update for removed -g3. 12981 (print_help): Update. 12982 * cpplib.h (struct cpp_options): Remove debug_output. 12983 * cppmain.c (setup_callbacks, cb_define): Update. 12984 * gcc.c (cpp_options): Translate -g3 to -dD. 12985 129862001-01-10 Aldy Hernandez <aldyh@redhat.com> 12987 12988 * config/i960/i960.md: Change modifier to + on the zero_extract 12989 pattern after the (rotate -2 reg) canonicalization pattern. 12990 129912001-01-10 Richard Henderson <rth@redhat.com> 12992 12993 * config/alpha/alpha.c (alpha_free_machine_status): New. 12994 (override_options): Install it. 12995 (alpha_mark_machine_status): Verify machine non-null. 12996 * config/i386/i386.c (ix86_free_machine_status): New. 12997 (override_options): Install it. 12998 (ix86_init_machine_status): Use xcalloc. 12999 (ix86_mark_machine_status): Verify machine non-null. 13000 * config/ia64/ia64.c (ia64_free_machine_status): New. 13001 (ia64_override_options): Install it. 13002 (ia64_mark_machine_status): Verify machine non-null. 13003 13004Wed Jan 10 11:34:39 2001 Jeffrey A Law (law@cygnus.com) 13005 13006 * function.c (instantiate_virtual_regs): Instantiate virtual 13007 registers found in CALL_INSN_FUNCTION_USAGE. 13008 130092001-01-10 Joseph S. Myers <jsm28@cam.ac.uk> 13010 13011 * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as 13012 equivalent to -ansi in disabling -Di386. 13013 13014Wed Jan 10 16:38:31 MET 2001 Jan Hubicka <jh@suse.cz> 13015 13016 * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes): 13017 new functions. 13018 (ix86_expand_fp_compare): Make trivial use of new infrastructure. 13019 130202001-01-10 Richard Earnshaw <rearnsha@arm.com> 13021 13022 * arm.c (arm_init_builtins): Temporarily disable xscale builtins. 13023 130242001-01-10 Joseph S. Myers <jsm28@cam.ac.uk> 13025 13026 * invoke.texi: Document that -fcond-mismatch isn't supported for 13027 C++. 13028 130292001-01-10 Joseph S. Myers <jsm28@cam.ac.uk> 13030 13031 * gcc.texi: Define macro gcctabopt. 13032 * invoke.texi: Add manpage sections BUGS and AUTHOR. Use 13033 @command, @env and @option in some places where appropriate. Use 13034 @gcctabopt where appropriate. Put URLs and email addresses inside 13035 @w. 13036 130372001-01-10 Nathan Sidwell <nathan@codesourcery.com> 13038 13039 * gcc.c (cpp_options): Set MD file name from output 13040 filename, if specified. 13041 (suffix_subst): New static variable. 13042 (do_spec): Clear it. 13043 (do_spec_1, case '.'): Handle new `%.suffix' spec. 13044 Clear it. 13045 (give_switch): Handle suffix_subst. 13046 130472001-01-10 Phil Edwards <pme@sources.redhat.com> 13048 13049 * invoke.texi: Fix another typo. 13050 130512001-01-10 Phil Edwards <pme@sources.redhat.com> 13052 13053 * invoke.texi: Fix typo. 13054 130552001-01-10 Neil Booth <neil@daikokuya.demon.co.uk> 13056 13057 * c-lang.c (lang_hooks): Update. 13058 (lang_decode_option): Remove. 13059 (lang_init_options): Rename c_init_options. 13060 * toplev.c (main): Use lang_hooks for lang_init_options 13061 and lang_decode_option. 13062 * toplev.h (lang_hooks): Add 2 new hooks. 13063 * tree.h: Remove lang_init_options and lang_decode_option. 13064 * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option. 13065 * cp/decl2.c: Similarly. 13066 * cp/lex.c (lang_init_options): Rename cxx_init_options. 13067 (lang_hooks): Update. 13068 * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish 13069 for consistency. 13070 (lang_init_options): Rename ffe_init_options. 13071 (lang_hooks): Update. 13072 (lang_decode_option): Remove. 13073 * java/lang.c (lang_init_options): Rename java_init_options. 13074 (lang_decode_option): Rename java_decode_option. 13075 (lang_hooks): Update. 13076 * objc/objc-act.c (lang_init_options): Rename objc_init_options. 13077 (lang_decode_option): Rename objc_decode_option. 13078 (lang_hooks): Update. 13079 130802001-01-09 Nick Clifton <nickc@redhat.com> 13081 13082 * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete. 13083 (d30v_return_addr_rtx): Delete. 13084 (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the 13085 cfun->machine structure. 13086 (struct machine_function): Move to d30v.h 13087 (d30v_save_machine_status): Delete. 13088 (d30v_restore_machine_status): Delete. 13089 (d30v_init_machine_status): New Function. 13090 (d30v_mark_machine_status): New Function. 13091 (d30v_free_machine_status): New Function. 13092 (d30v_init_expanders): Use new functions. 13093 (d30v_return_addr): Use ra_rtx field in cfun->machine. 13094 (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and 13095 d30v_return_addr_rtx. 13096 13097 * config/d30v/d30v.h (struct_machine): Move here. 13098 Add eh_epilogue_sp_ofs field. 13099 13100 *config/d30v/d30v.md (epilogue): Initialize eh_epilogue_sp_ofs 13101 field in cfun->machine structure. 13102 13103Tue Jan 9 21:34:57 2001 John David Anglin <dave@hiauly1.hia.nrc.ca> 13104 13105 * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code, 13106 PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register. 13107 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise. 13108 13109Tue Jan 9 21:25:19 2001 Jeffrey A Law (law@cygnus.com) 13110 13111 * objc/lang-options.h: Remove bogus reference to 13112 Java trademark. 13113 131142001-01-09 Kazu Hirata <kazu@hxi.com> 13115 13116 * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to 13117 return the result. 13118 131192001-01-09 Alan Lehotsky <lehotsky@tiac.net> 13120 13121 * reload.c (find_reloads_address): Check for eliminable registers 13122 when substituting a constant expression for a pseudo. 13123 131242001-01-09 Joseph S. Myers <jsm28@cam.ac.uk> 13125 13126 * c-common.c (enum format_type): Add format_type_error. 13127 (decode_format_type): New function. 13128 (decl_attributes): Use it. 13129 (format_kind_info): Adjust comment. 13130 131312001-01-09 David O'Brien <obrien@BSDi.com> 13132 13133 * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1, 13134 i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific 13135 files in tm_file. 13136 * config/i386/gnu.h: Don't include required platform specific .h files, 13137 tm.h will do it instead. 13138 * config/i386/i386elf.h: Likewise. 13139 * config/i386/linux.h: Likewise. 13140 * config/i386/moss.h: Likewise. 13141 * config/mips/gnu.h: Likewise. 13142 131432001-01-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 13144 13145 * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h. 13146 (rs6000-ibm-aix3.[01]*): Likewise. 13147 (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise. 13148 (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise. 13149 (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise. 13150 (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise. 13151 (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h. 13152 (powerpc-*-eabiaix*): Likewise. 13153 (powerpc-*-eabisim*): Likewise. 13154 (powerpc-*-elf*): Likewise. 13155 (powerpc-*-eabi*): Likewise. 13156 (powerpc-*-rtems*): Likewise. 13157 (powerpc-*-linux*libc1): Likewise. 13158 (powerpc-*-linux*): Likewise. 13159 (powerpc-wrs-vxworks*): Likewise. 13160 (powerpcle-wrs-vxworks*): Likewise. 13161 (powerpcle-*-sysv*): Likewise. 13162 (powerpcle-*-elf*): Likewise. 13163 (powerpcle-*-eabisim*): Likewise. 13164 (powerpcle-*-eabi*): Likewise. 13165 (powerpcle-*-solaris2*): Likewise. 13166 * config/rs6000/aix31.h: Delete includes. 13167 * config/rs6000/aix3newas.h: Likewise. 13168 * config/rs6000/aix41.h: Likewise. 13169 * config/rs6000/aix43.h: Likewise. 13170 * config/rs6000/beos.h: Likewise. 13171 * config/rs6000/rtems.h: Likewise. 13172 * config/rs6000/sysv4.h: Likewise. 13173 131742001-01-09 Kazu Hirata <kazu@hxi.com> 13175 13176 * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu. 13177 Change an argument mode of machine_mode to shift_mode of 13178 shift_mode. Remove an extra error check. 13179 (emit_a_shift): Adopt to the new calling prototype of 13180 get_shift_alg. 13181 (function_prologue): Fix code for a monitor 13182 function. Support H8S. 13183 (function_epilogue): Do not output pop for a monitor function. 13184 131852001-01-09 Nick Clifton <nickc@redhat.com> 13186 13187 * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete. 13188 (setup_incoming_varargs): Use sysv_varargs_p field of the 13189 cfun->machine structure. 13190 (struct machine_function): Move to rs6000.h 13191 (rs6000_save_machine_status): Delete. 13192 (rs6000_restore_machine_status): Delete. 13193 (rs6000_init_machine_status): New Function. 13194 (rs6000_free_machine_status): New Function. 13195 (rs6000_init_expanders): Use new functions. 13196 13197 * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete 13198 export. 13199 (struct machine_function): Move here. 13200 13201 * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use 13202 sysv_varargs_p field of the cfun->machine structure. 13203 13204 * config/rs6000/rs6000-protos.h (rs6000_save_machine_status): 13205 Remove prototype. 13206 (rs6000_restore_machine_status): Remove prototype. 13207 132082001-01-09 Richard Henderson <rth@redhat.com> 13209 13210 * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge 13211 reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg. 13212 * sched-deps.c (sched_analyze_1): Update uses of struct deps. 13213 (sched_analyze_2, sched_analyze_insn): Likewise. 13214 (sched_analyze, init_deps): Likewise. 13215 (free_deps): Likewise. Iterate with EXECUTE_IF_SET_IN_REG_SET. 13216 * sched-rgn.c (propagate_deps): Likewise. Remove max_reg argument. 13217 (compute_block_backward_dependences): Update propagate_deps call. 13218 132192001-01-09 Mark Elbrecht <snowball3@bigfoot.com> 13220 13221 * gcc.c (process_command): Set switches[n_switches].ordering to 0. 13222 132232001-01-09 Neil Booth <neil@daikokuya.demon.co.uk> 13224 13225 * cppinit.c (OPT_MD, OPT_MMD): Restore. 13226 (cpp_handle_option): Handle them. 13227 (cpp_post_options): Ensure one of -M or -MM is specified with 13228 any other -M? option. 13229 (init_dependency_output): Suppress output with -MG. 13230 132312001-01-09 Neil Booth <neil@daikokuya.demon.co.uk> 13232 13233 * cpp.texi: Update. 13234 * invoke.texi: Update. 13235 132362001-01-09 Bernd Schmidt <bernds@redhat.com> 13237 13238 * sh.md (reload_outsf): Generate recognizable patterns for 13239 TARGET_SH3E. 13240 132412001-01-09 Neil Booth <neil@daikokuya.demon.co.uk> 13242 13243 * c-lang.c (lang_hooks): Update. 13244 (lang_init): Rename c_init. 13245 (lang_finish): Remove. 13246 * toplev.c (compile_file): Use lang_hooks for lang_init () 13247 and lang_finish (). 13248 * toplev.h (lang_hooks): Add init () and finish (). 13249 * tree.h (lang_init, lang_finish): Remove. 13250 * cp/tree.h (lang_init, lang_finish): Remove. 13251 * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c. 13252 * cp/lex.c (cxx_init, cxx_finish, cxx_post_options, 13253 lang_hooks): New. 13254 (lang_init, lang_finish): Remove. 13255 * f/com.c (lang_init, lang_finish): Rename f_init, f_finish. 13256 (lang_hooks): Update. 13257 * java/lang.c (lang_init): Rename java_init. 13258 (lang_finish): Remove. 13259 (lang_hooks): Update. 13260 * objc/objc-act.c (lang_init): Rename objc_init. 13261 (lang_finish): Remove. 13262 (lang_hoooks): Update. 13263 1326420001-01-09 Graham Stott <grahams@redhat.com> 13265 13266 * cppfiles.c (_cpp_execute_include): Move `len` initialisation 13267 after `ptr` is initialized. 13268 132692001-01-09 Alexandre Oliva <aoliva@redhat.com> 13270 13271 * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3. 13272 (INITIALIZE_TRAMPOLINE): Adjust accordingly. 13273 * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for 13274 stack adjusts, instead of r3. 13275 132762001-01-09 Michael Hayes <mhayes@redhat.com> 13277 13278 * flow.c (flow_loop_scan): Break out of ... 13279 (flow_loops_find) ... here. 13280 * basic-block.h (flow_loop_scan): New. 13281 (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add. 13282 (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine. 13283 132842001-01-09 Alexandre Oliva <aoliva@redhat.com> 13285 13286 * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero 13287 macro_buffer_len. 13288 * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when 13289 realloc()ing macro_buffer. 13290 13291 * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long 13292 if it's wider than long and the target's long is wider than the 13293 host's. 13294 132952001-01-09 Mark Mitchell <mark@codesourcery.com> 13296 13297 Remove support for using UWIN as a host machine. 13298 * configure.in: Issue an error message. 13299 * configure: Regenerated. 13300 * config.gcc: Remove xm_* UWIN configury. 13301 * config/i386/xm-uwin.h: Remove. 13302 133032001-01-08 Nick Clifton <nickc@redhat.com> 13304 13305 * config/v850/v850.c (ra_rtx): Delete. 13306 (v850_save_machine_status): Delete. 13307 (v850_restore_machine_status): Delete. 13308 (v850_init_machine_status): New function. 13309 (v850_mark_machine_status): New function. 13310 (v850_free_machine_status): New function. 13311 (v850_return_addr): Use ra_rtx field in machine structure. 13312 (v850_init_expanders): Use new functions. 13313 13314 * config/v850/v850-protos.h: Fix prototypes for v850_output_* 13315 * config/v850/v850.c: Change arguments to v850_output+* functions 13316 to take a const char *, to avoid compile time warning. 13317 * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed. 13318 (USER_LABEL_PREFIX): Redefine. 13319 133202000-01-08 Jim Wilson <wilson@redhat.com> 13321 13322 * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast 13323 1 to unsigned HOST_WIDE_INT before left shift. 13324 133252001-01-08 Nick Clifton <nickc@redhat.com> 13326 13327 * config/arm/arm.c (arm_mark_machine_status): Check to see if 13328 the machine structure has been allocated. 13329 (arm_free_machine_status): New function: Free the machine 13330 specific function structure. 13331 133322001-01-08 Richard Henderson <rth@redhat.com> 13333 13334 * jump.c (simplejump_p): Revert last change. 13335 133362001-01-08 Neil Booth <neil@daikokuya.demon.co.uk> 13337 13338 * cppinit.c (init): Rename init_library. 13339 (cpp_create_reader): Update. 13340 * gcc.c (cpp_options): If -o given, use it as the target of 13341 any -M options. 13342 133432001-01-08 Richard Earnshaw <rearnsha@arm.com> 13344 13345 * arm.c (arm_arch5e): New variable. 13346 (all_cores): XScale is a 5TE device. 13347 (arm_override_options): Set arm_arch5e. 13348 (arm_init_builtins): __builtin_prefetch is in arch5e. 13349 * arm.h (arm_arch5e): Declare it. 13350 13351 * arm.h (PREDICATE_CODES): Add arm_hard_register_operand. 13352 13353 * arm.md (define_constants): Add defines for UNSPEC and 13354 UNSPEC_VOLATILE insns. Update all users. 13355 (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM. 13356 * arm.c (multi_register_push, note_invalid_constants) 13357 (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants. 13358 * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines. 13359 (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM. 13360 13361Mon Jan 8 16:14:56 MET 2001 Jan Hubicka <jh@suse.cz> 13362 13363 * jump.c (jump_optimize_1): Use reversed_comparison_code 13364 instead of can_reverse_comparison_p. 13365 (jump_back_p): Likewise. 13366 (invert_exp_1): Likewise. 13367 (thread_jumps): Likewise. 13368 * simplify-rtx.c (simplify_unary_operation): Likewise. 13369 (simplify_ternary_operation): Likewise. 13370 * cse.c (find_comparison_args): Convert to use 13371 can_reverse_comparison_p. 13372 (record_jump_equiv): Likewise. 13373 133742001-01-08 Richard Earnshaw <rearnsha@arm.com> 13375 13376 * arm.h (HARD_REGNO_RENAME_OK): Delete. 13377 (EPILOGUE_USES): Define. 13378 (INITIAL_ELIMINATION_OFFSET): Current prologue code does not 13379 automatically stack the LR if it isn't live. 13380 13381Mon Jan 8 13:46:02 MET 2001 Jan Hubicka <jh@suse.cz> 13382 13383 * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions 13384 properly. 13385 13386Sun Jan 7 18:37:43 2001 Mark P Mitchell <mark@codesourcery.com> 13387 13388 * ggc-page.c (max_alignment): New structure. 13389 (MAX_ALIGNMENT): New macro. 13390 (init_ggc): Use it to round up the sizes in the 13391 extra_order_size_table. 13392 133932001-01-07 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 13394 13395 * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register 13396 after reload. 13397 133982001-01-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 13399 13400 * builtins.def (BUILT_IN_FPRINTF): New entry. 13401 13402 * c-common.c (c_expand_builtin_fprintf): New function. 13403 (init_function_format_info): Handle __builtin_fprintf. 13404 (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf. 13405 (c_expand_builtin): Handle BUILT_IN_FPRINTF. 13406 13407 * c-decl.c (duplicate_decls): Adjust comment. 13408 13409 * extend.texi (fprintf): Document new builtin. 13410 134112001-01-07 Richard Henderson <rth@redhat.com> 13412 13413 * jump.c (simplejump_p): Recognize any single_set jump 13414 of the proper form. 13415 134162001-01-07 Richard Henderson <rth@redhat.com> 13417 13418 * configure.in (slibdir): Accept an --with-slibdir option. 13419 Use "test" not "[" in configure. Default to $(libdir). 13420 13421 * config/t-linux (SHLIB_INSTALL): Double quote slibdir; 13422 fix typo in rm -f. 13423 * config/t-aix43 (SHLIB_INSTALL): Likewise. 13424 * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise. 13425 (SHLIB_LINK): Create links for the soname. 13426 * config/mips/t-iris6: Likewise. 13427 * config/sparc/t-slibgcc: Likewise. 13428 * config/sparc/t-slibgcc-sld: Likewise. 13429 134302001-01-07 Jakub Jelinek <jakub@redhat.com> 13431 13432 * config/i386/i386.c (constant_call_address_operand): Accept 13433 (const (plus (symbol_ref) (const_int))). 13434 * config/i386/i386.h (PREDICATE_CODES): Add CONST for 13435 constant_call_address_operand. 13436 134372001-01-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 13438 13439 * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1 13440 and LONG_LONG_TYPE_SIZE > 32. 13441 134422001-01-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 13443 13444 * jump.c (reversed_comparison_code_parts): Fix typo introduced by 13445 the previous change. 13446 13447Sun Jan 7 19:37:48 MET 2001 Jan Hubicka <jh@suse.cz> 13448 13449 * jump.c (reversed_comparison_code_parts, reversed_comparison_code): 13450 New. 13451 (can_reverse_comparison_p): Rewrite to use reversed_comparison_code. 13452 (reverse_condition_maybe_unordered): Abort on unsigned comparisons. 13453 * rtl.h (reversed_comparison_code_parts, reversed_comparison_code): 13454 Declare. 13455 134562001-01-07 Neil Booth <neil@daikokuya.demon.co.uk> 13457 13458 * fix-header.c (read_scan_file): s/pfile/scan_in/. 13459 134602001-01-07 Neil Booth <neil@daikokuya.demon.co.uk> 13461 13462 * c-lang.c (c_post_options): Call cpp_post_options. 13463 * objc/objc-act.c (objc_post_options): Similarly. 13464 * cppmain.c (main): Similarly. 13465 * fix-header.c (read_scan_file): Similarly. 13466 * cppinit.c (cpp_start_read): Move option consistency checks 13467 to cpp_post_options. Don't call init_dependency_output. 13468 If needed, add default target and main file dependency. 13469 (OPT_MD, OPT_MMD): Remove. 13470 (OPT_MF): New. 13471 (cpp_handle_option): Update for OPT_* changes. 13472 (cpp_post_options): New. 13473 (init_dependency_output): Command line -MF overrides environment 13474 variables. Don't set default target etc. Suppress output 13475 if dependencies are going to stdout. 13476 (print_help): Update. 13477 * cpplib.h (cpp_post_options): New. 13478 * gcc.c (cpp_options): Update for -MD, -MMD, -MF. 13479 13480Sun Jan 7 14:44:19 MET 2001 Jan Hubicka <jh@suse.cz> 13481 13482 * jump.c (comparison_dominates_p): Support unordered compares. 13483 13484Sun Jan 7 14:39:07 MET 2001 Jan Hubicka <jh@suse.cz> 13485 13486 * simplify-rtx.c (simplify_relational_operation): Always simplify 13487 ORDERED and UNORDERED when FLAG_FAST_MATH. Handle properly UNLE 13488 and UNGE. 13489 13490Sun Jan 7 14:35:13 MET 2001 Jan Hubicka <jh@suse.cz> 13491 13492 * combine.c (combine_simplify_rtx): Recognize the unordered compares. 13493 (nonzero_bits): Likewise. 13494 (simplify_comparison): Likewise. 13495 (num_sign_bit_copies): Likewise; return more sane value depending 13496 on STORE_FLAG_VALUE. 13497 (known_cond): Do not assume EQ to be always true for equivalent 13498 operands. 13499 13500Sun Jan 7 14:31:57 MET 2001 Jan Hubicka <jh@suse.cz> 13501 13502 * cse.c (fold_rtx): Handle unordered comparisons. 13503 13504Sun Jan 7 13:49:19 MET 2001 Jan Hubicka <jh@suse.cz> 13505 13506 * rtlanal.c (set_of_1): New static function. 13507 (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag, 13508 reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno, 13509 reg_set_last_last_regno): Remove. 13510 (set_of): New global function. 13511 (set_of_data): New structure. 13512 (reg_set_p, reg_set_last): Revamp for set_of. 13513 * rtl.h (set_of): New. 13514 135152001-01-07 Joseph S. Myers <jsm28@cam.ac.uk> 13516 13517 * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin. 13518 * extend.texi: Document _Exit builtin. 13519 135202001-01-07 Neil Booth <neil@daikokuya.demon.co.uk> 13521 13522 * (initialize, initialize_builtins, 13523 initialize_dependency_output, initialize_standard_includes): 13524 Rename s/initialize/init. Update. 13525 (init_dependency_output): Move to after 13526 cpp_handle_options, the correct location temporally at least. 13527 (opt_comp): Move next to init (), its caller. Fix prototype. 13528 (init): Make "initialized" local scope. 13529 (cpp_create_reader): Always call init (). 13530 (cpp_start_read): Update. 13531 (output_deps): New function, broken out of cpp_finish. 13532 (cpp_finish): Break out output_deps. 13533 135342001-01-07 Richard Henderson <rth@redhat.com> 13535 13536 * collect2.c (COFF specific stuff): Revert 12-06 patch 13537 to prototype system functions. 13538 135392001-01-07 Michael Hayes <mhayes@redhat.com> 13540 13541 * hard-reg-set.h: Add multiple include guard. 13542 * basic-block.h (struct loop): Add `sink' field. 13543 * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h. 13544 (emit_iv_add_mult): Delete. 13545 (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define. 13546 (loop_iv_add_mult_emit_before, loop_insn_sink): Define. 13547 (unroll_loop): Remove end_insert_before argument. 13548 * loop.c (loop_givs_rescan): Remove end_insert_before argument. 13549 (maybe_eliminate_biv_1): Likewise. 13550 (emit_iv_add_mult): Delete. 13551 (gen_add_mult, loop_regs_update): New. 13552 (loop_insn_emit_after, loop_insn_emit_before): New. 13553 (loop_insn_sink, loop_insn_sink_or_swim): New. 13554 (emit_iv_add_mult): Delete. 13555 (scan_loop): Set loop->sink. 13556 (loop_givs_reduce): Use loop_insn_sink and its ilk. 13557 (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise. 13558 (maybe_eliminate_biv_1): Likewise. 13559 (maybe_eliminate_biv_1): Add basic block argument. 13560 * unroll.c (unroll_loop): Remove end_insert_before argument. 13561 (find_splittable_regs): Likewise. 13562 (find_splittable_regs): Use loop_insn_sink and its ilk. 13563 (find_splittable_givs, final_biv_value, final_giv_value): Likewise. 13564 135652001-01-07 Michael Hayes <mhayes@redhat.com> 13566 13567 * loop.h (loop_insn_hoist): New prototype. 13568 * loop.c (loop_insn_hoist, loop_insn_emit_before): New. 13569 (move_movables, loop_givs_rescan): Use loop_insn_hoist. 13570 (check_dbra_loop, load_mems): Likewise. 13571 * unroll.c (unroll_loop, find_splittable_regs): Likewise. 13572 (find_splittable_givs): Likewise. 13573 135742001-01-07 Michael Hayes <mhayes@redhat.com> 13575 13576 * loop.c (emit_iv_add_mult): Use single_set to examine new insn. 13577 135782001-01-07 Richard Henderson <rth@redhat.com> 13579 13580 * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change. 13581 135822001-01-07 Richard Henderson <rth@redhat.com> 13583 13584 * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and 13585 NO_SHARED_LIBGCC_MULTILIB as required for the target. 13586 * gcc.c (init_spec): Massage the existing libgcc_spec into a 13587 variant that handles a shared libgcc. 13588 (process_command): Always validate -{static,shared}-libgcc. 13589 (do_spec_1): New 'M' case. 13590 * invoke.text (Link Options): Document -{static,shared}-libgcc. 13591 135922001-01-07 Richard Henderson <rth@redhat.com> 13593 13594 * Makefile.in (slibdir): New variable. 13595 (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc. 13596 (installdirs): Create slibdir. 13597 (install-libgcc, install-multilib): Defer to libgcc.mk. 13598 * configure.in (slibdir): Substitute. 13599 * mklibgcc.in (install): New target. 13600 13601 * config/t-linux (SHLIB_LINK): Create links for the soname. 13602 (SHLIB_INSTALL): New. 13603 * config/alpha/t-osf4 (SHLIB_INSTALL): New. 13604 * config/mips/t-iris6 (SHLIB_INSTALL): New. 13605 * config/rs6000/t-aix43 (SHLIB_INSTALL): New. 13606 * config/sparc/t-slibgcc (SHLIB_INSTALL): New. 13607 * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New. 13608 136092001-01-07 Richard Henderson <rth@redhat.com> 13610 13611 * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New. 13612 * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove. 13613 * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove. 13614 136152001-01-07 Michael Hayes <mhayes@redhat.com> 13616 13617 * loop.c (count_loop_regs_set): Delete. 13618 (load_mems_and_recount_loop_regs_set): Delete. 13619 (loop_regs_scan): Merge common code from count_loop_regs_set, 13620 scan_loop, and load_mems_and_recount_loop_regs_set. 13621 (scan_loop): Call load_mems directly and loop_regs_scan 13622 again if new registers created. 13623 136242001-01-07 Neil Booth <neil@daikokuya.demon.co.uk> 13625 13626 * toplev.c (main): Call the front-end specific post_options 13627 hook if one is given. 13628 * toplev.h (struct_lang_hooks, lang_hooks): New. 13629 * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks 13630 for the C front end. 13631 * cp/decl2.c (cxx_post_options, lang_hooks): Implement 13632 lang_hooks for the C++ front end. 13633 * objc/objc-act.c (objc_post_options, lang_hooks): Implement 13634 lang_hooks for the ObjC front end. 13635 * f/com.c (lang_hooks): Hooks for the Fortran front end. 13636 * java/lang.c (lang_hooks): Hooks for the Java front end. 13637 136382001-01-07 Neil Booth <neil@daikokuya.demon.co.uk> 13639 13640 * c-lex.c (init_c_lex): Request #define / #undef callbacks 13641 for verbose DWARF[2] debugging. 13642 (cb_define, cb_undef): The new callbacks. 13643 * toplev.h (debug_define, debug_undef): Make const correct. 13644 * toplev.c (debug_define, debug_undef): Similarly. Do not 13645 perform the verbosity tests here anymore. 13646 136472001-01-07 Alexandre Oliva <aoliva@redhat.com> 13648 13649 * reload.c (subst_reloads): Take INSN argument. When 13650 replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note. 13651 * reload.h (subst_reloads): Adjust prototype. 13652 * reload1.c (reload_as_needed): Pass INSN to subst_reloads. 13653 * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes 13654 present in JUMP_INSNs and copy them to JUMP_LABEL. 13655 * flow.c (find_label_refs, find_basic_blocks_1): Skip 13656 JUMP_INSNs and insns with REG_LABELs that are followed by 13657 JUMP_INSNs with the same REG_LABEL. 13658 * sched-rgn.c (is_cfg_nonregular): Likewise. 13659 * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL 13660 note is available. 13661 * unroll.c (unroll_loop): Look for REG_LABEL notes in 13662 JUMP_INSNs too. 13663 * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs. 13664 136652001-01-06 Richard Henderson <rth@redhat.com> 13666 13667 * loop.c (scan_loop): Use xcalloc for the regs array. 13668 (load_mems_and_recount_loop_regs_set): Zero the new memory 13669 received from xrealloc. 13670 136712001-01-06 Neil Booth <neil@daikokuya.demon.co.uk> 13672 13673 * mkdeps.c (deps_add_dep): Fix vector re-allocation. 13674 13675Sat Jan 6 00:09:34 2001 J"orn Rennecke <amylaar@redhat.com> 13676 13677 * integrate.c (copy_rtx_and_substitute): When copying 13678 an ignored return value, strip REG_FUNCTION_VALUE_P. 13679 136802001-01-06 Michael Hayes <mhayes@redhat.com> 13681 13682 * loop.c (debug_biv, debug_giv): New. 13683 (loop_biv_dump): Break out from ... 13684 (record_biv): ... here. 13685 (loop_giv_dump): Break out from ... 13686 (record_giv): ... here. 13687 (loop_bivs_check): Use print_simple_rtl. 13688 * unroll.c (loop_iterations): Use print_simple_rtl. 13689 136902000-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca> 13691 13692 * pa.md (return, return_internal): Modify patterns to prevent regrename 13693 mucking with the return pointer. 13694 136952001-01-05 Richard Henderson <rth@redhat.com> 13696 13697 * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change. 13698 13699Fri Jan 5 16:34:18 2001 Nick Clifton <nickc@redhat.com> 13700 13701 * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster 13702 version supplied by Matteo Frigo. 13703 137042001-01-05 Neil Booth <neil@daikokuya.demon.co.uk> 13705 13706 * cpp.texi: Update for -MQ. 13707 * cppinit.c (cpp_create_reader): Always create pfile->deps. 13708 (cpp_cleanup): Always free pfile->deps. 13709 (initialize_dependency_output): Don't create pfile->deps. 13710 (cpp_handle_option): Similarly. 13711 (OPT_MQ): New. 13712 * gcc.c (cpp_options): Handle -MQ. 13713 (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ. 13714 * mkdeps.c (base_name): Remove. 13715 (deps_init): Don't allocate vector space until it's needed. 13716 (deps_free): Only free vectors if allocated. 13717 (deps_add_target, deps_add_dep): Update for initial allocation. 13718 (deps_add_default_target): Don't strip to the base_name. 13719 137202001-01-05 DJ Delorie <dj@redhat.com> 13721 13722 * config/v850/v850.h (RETURN_ADDR_RTX): Define. 13723 (INIT_EXPANDERS): Define. 13724 13725 * config/v850/v850.c (struct machine_function): Define. 13726 (v850_save_machine_status): New function. 13727 (v850_restore_machine_status): New function. 13728 (v850_return_addr): New function. 13729 (v850_init_expanders): New function. 13730 13731 * config/v850/v850-protos.h: Add prototypes for v850_return_addr 13732 and v850_init_expanders. 13733 137342001-01-05 Zack Weinberg <zack@wolery.stanford.edu> 13735 13736 * cpplib.h (struct cpp_reader): Add help_only field. 13737 * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version. 13738 (cpp_handle_option): Set pfile->help_only if we see -h, 13739 --help, -target-help, or --version. Print version string but 13740 do not set help_only if we see -v or -version. Make text 13741 printed by -v match that printed by (-)-version. 13742 13743 * cppmain.c (main): Exit after option parsing if 13744 pfile->help_only is true. 13745 13746 * toplev.c (independent_decode_option): Call print_version, 13747 then exit, if we see --version (but not -version). 13748 (print_version): Split lengthy message into two lines. 13749 137502001-01-05 Nick Clifton <nickc@redhat.com> 13751 13752 * config/v850/v850.c (v850_encode_data_area): Use alloca to create 13753 temporary string for initialisation before calling ggc_alloc_string. 13754 137552001-01-06 Michael Hayes <mhayes@redhat.com> 13756 13757 * rtl.h (print_simple_rtl): New. 13758 * print-rtl.c (print_simple_rtl): New. 13759 (flag_simple): New. 13760 (print_rtx): Disable printing of flags and modes, etc., 13761 if `flag_simple` nonzero. 13762 137632001-01-05 Zack Weinberg <zack@wolery.stanford.edu> 13764 13765 * function.c (fixup_var_refs): Use push_to_full_sequence where 13766 possible. 13767 137682001-01-05 Michael Meissner <meissner@redhat.com> 13769 13770 * flags.h (flag_reorder_blocks): Add declaration. 13771 (flag_rename_block): Ditto. 13772 137732001-01-05 DJ Delorie <dj@redhat.com> 13774 13775 * function.c (reorder_blocks): Make sure the flags are all reset 13776 before using them to mark blocks, else a second invocation will 13777 corrupt the block chain. 13778 (reorder_blocks_0): New, resets the flags. 13779 13780Fri Jan 5 20:34:06 2001 J"orn Rennecke <amylaar@redhat.com> 13781 13782 * cse.c (find_comparison_args): Stop if the argument is known to 13783 be constant. 13784 137852001-01-05 Alexandre Oliva <aoliva@redhat.com> 13786 13787 * config/sh/sh.md (movdf): When splitting load into pair of 13788 registers, don't clobber the register used in the address too 13789 early. 13790 137912001-01-05 Jeffrey Oldham <oldham@codesourcery.com> 13792 13793 * varasm.c (mark_constant_pool): Improve initial comments. 13794 (mark_constants): Move marking of constants to mark_constant. 13795 (mark_constant): New function to recursively mark all constants 13796 referred to by a constant. 13797 137982001-01-05 Catherine Moore <clm@redhat.com> 13799 13800 * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG. 13801 138022001-01-05 Phil Edwards <pme@sources.redhat.com> 13803 13804 * cp/lang-options.h: Bring comment in line with reality. 13805 * f/lang-options.h: Likewise. 13806 * java/lang-options.h: Likewise. 13807 * objc/lang-options.h: Likewise. 13808 * ch/lang-options.h: Likewise. 13809 * f/g77.texi: And update the manual. 13810 138112001-01-05 Marek Michalkiewicz <marekm@linux.org.pl> 13812 Denis Chertykov <denisc@overta.ru> 13813 13814 * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype. 13815 * config/avr/avr.c (avr_peep2_scratch_safe): New function. 13816 * config/avr/avr.md (all peepholes that request a scratch register): 13817 Call it, FAIL the peephole if not safe (in interrupt functions). 13818 138192001-01-05 Mark Mitchell <mark@codesourcery.com> 13820 13821 * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now. 13822 138232001-01-05 Joseph S. Myers <jsm28@cam.ac.uk> 13824 13825 * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG): 13826 Define. 13827 * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ, 13828 BUILT_IN_CREAL and BUILT_IN_CIMAG. 13829 * c-common.c (c_common_nodes_and_builtins): Create builtin conjf, 13830 conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl. 13831 (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and 13832 BUILT_IN_CIMAG. 13833 * extend.texi: Document these builtins. 13834 138352001-01-05 Daniel Berlin <dberlin@redhat.com> 13836 13837 * c-common.c (lang_get_alias_set): Say we know nothing of 13838 VECTOR_TYPE aliasing. 13839 13840 * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly. 13841 138422001-01-05 Bruce Korb <bkorb@gnu.org> 13843 13844 * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to 13845 their x* equivalent versions for atexit-less systems 13846 * fixinc/fixincl.c(main): do not return from main() on atexit-less 13847 systems (or any other system any more). 13848 138492001-01-05 Richard Earnshaw <rearnsha@arm.com> 13850 13851 * arm.md (ldmsi_postinc): Avoid use of match_dup between input and 13852 output operands. Use arm_hard_register_operand for operand 4. 13853 (stmsi_postinc): Similarly. 13854 (ldmsi): Use arm_hard_register_operand for opernand 2. 13855 (stmsi): Similarly. 13856 * arm.c (arm_hard_register_operand): New function. 13857 * arm-protos.h (arm_hard_register_operand): Prototype it. 13858 13859 * arm.h (HARD_REGNO_RENAME_OK): Define. 13860 13861Fri Jan 5 16:29:49 MET 2001 Jan Hubicka <jh@suse.cz> 13862 13863 * simplify-rtx.c (cfc_args): add "unordered" field. 13864 (check_fold_consts): Set unordered field. 13865 (simplify_relational_operation): Simplify the unordered 13866 comparisons. 13867 13868 * reg-stack.c (swap_rtx_condition): Ensure that the transformation 13869 is valid. 13870 13871 * emit-rtl.c (try_split): Fix code to mark labels. 13872 * jump.c (mark_jump_label): Make global. 13873 * rtl.h (mark_jump_label): Declare. 13874 13875 * predict.c (estimate_probability): Handle unordred comparisons. 13876 138772001-01-05 Neil Booth <neil@daikokuya.demon.co.uk> 13878 13879 * cpp.texi: Update for -MP. Clarify behavior of -MT. 13880 * cppinit.c (initialize_dependency_output): Update. 13881 (cpp_finish): Output dummy targets for -MP. 13882 (OPT_MP): New. 13883 (cpp_handle_option): Handle -MP. Don't quote -MT options. 13884 * cpplib.h (struct cpp_options): Add deps_phony_targets. 13885 * gcc.c (cpp_options): Update to handle -MP. 13886 * mkdeps.c (deps_add_target, deps_add_default_target): Update 13887 to quote only the default target. 13888 (deps_phony_targets): Insert a preceding newline. Rename from 13889 deps_dummy_targets for consistency. 13890 * mkdeps.h: Update 13891 138922001-01-05 Alexandre Oliva <aoliva@redhat.com> 13893 13894 * calls.c (emit_library_call_value_1): Support 13895 INIT_CUMULATIVE_LIBCALL_ARGS. 13896 * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it. 13897 138982001-01-04 Richard Henderson <rth@redhat.com> 13899 13900 * c-decl.c (finish_struct): Detect flexible array members 13901 used in an inappropriate context. 13902 * c-typeck.c (really_start_incremental_init): Special case 13903 constructor_max_index for zero length arrays. 13904 (pop_init_level): Allow initialization of flexible array 13905 members. Deprecate initialization of zero length arrays. 13906 Don't issue missing initializer warning for flexible array 13907 members or zero length arrays. 13908 (process_init_element): Don't dereference null DECL_SIZE. 13909 * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT. 13910 Don't abort for empty constructors. Use size_binop 13911 (output_constructor): Add commentary regarding zero length 13912 array futures. Abort if we try to initialize an array of 13913 unspecified length with a non-empty constructor in the middle 13914 of a structure. 13915 13916 * extend.texi (Zero Length): Update and clarify documentation 13917 on static initialization. 13918 139192001-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 13920 13921 * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR 13922 with more than 32767 words of local storage. 13923 139242001-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 13925 13926 * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support 13927 for 'abs', 'labs', and 'fabs'. 13928 (c4x_expand_builtin): Likewise. 13929 * config/c4x/c4x.h (enum c4x_builtins): Likewise. 13930 139312001-01-05 Alexandre Oliva <aoliva@redhat.com> 13932 13933 * config/sh/sh.md (prget, prset): New insn types. 13934 (return delay slot): Don't allow prset. 13935 (call, sfunc delay slot): Don't allow prget. 13936 (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives 13937 for prset and prget. 13938 139392001-01-05 Michael Hayes <mhayes@redhat.com> 13940 13941 * loop.h (struct loop_reg): New. 13942 (struct loop_regs): Change to use array of `struct loop_reg'. 13943 * loop.c: Replace assortment of varrays with single regs array. 13944 (count_one_set): Delete may_not_move array argument 13945 and use regs array instead. All caller's changed. 13946 (count_loop_regs_set): Delete may_not_move and single_usage 13947 arguments and use regs array instead. All caller's changed. 13948 (find_single_use_in_loop): Replace usage array argument with pointer 13949 to regs structure. All caller's changed. 13950 (loop_optimize): Delete `moved_once' array. 13951 139522001-01-05 Michael Hayes <mhayes@redhat.com> 13953 13954 * loop.c (prescan_loop): Set loop_info->has_nonconst_call. 13955 Use it instead of loop_info->has_call for scanning loop mems. 13956 (check_dbra_loop): Replace loop_info->has_call test with 13957 loop_info->has_nonconst_call. 13958 139592000-01-04 Matthew Hiller <hiller@redhat.com> 13960 13961 * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used 13962 for TARGET_SH3E. 13963 139642001-01-04 Joseph S. Myers <jsm28@cam.ac.uk> 13965 13966 * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST, 13967 use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND. 13968 139692001-01-04 Joseph S. Myers <jsm28@cam.ac.uk> 13970 13971 * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define. 13972 (flag_short_double, flag_short_wchar): Define. 13973 (c_common_nodes_and_builtins): Create many tree nodes shared 13974 between C and C++ here instead of in cp/decl.c and ... 13975 * c-decl.c (init_decl_processing): ... here. 13976 (SIZE_TYPE, WCHAR_TYPE): Don't define. 13977 (flag_short_double, flag_short_wchar): Don't define. 13978 (record_builtin_type): New function. 13979 (build_void_list_node): New function. 13980 * c-common.h (flag_short_double, flag_short_wchar, 13981 record_builtin_type, build_void_list_node): Declare. 13982 13983Thu Jan 4 21:09:47 2001 J"orn Rennecke <amylaar@redhat.com> 13984 13985 * integrate.c (expand_inline_function): Don't put a virtual 13986 register into the reg map. 13987 13988 * function.c (fixup_var_refs_1): If force_operand didn't put 13989 the address into the target, move it there. 13990 139912001-01-04 Mark Mitchell <mark@codesourcery.com> 13992 13993 Special-case tree_decl/tree_list allocations. 13994 * ggc-page.c (OBJECT_PER_PAGE): Reimplement. 13995 (OBJECT_SIZE): New macro. 13996 (NUM_EXTRA_ORDER): Likewise. 13997 (extra_order_size_table): New variable. 13998 (NUM_ORDERS): New macro. 13999 (objects_per_page_table): New variable. 14000 (object_size_table): New variable. 14001 (G.pages): Use NUM_ORDERS to bound the array. 14002 (G.page_tails): Likewise. 14003 (DIV_ROUND_UP): Remove. 14004 (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP. 14005 (alloc_page): Use OBJECT_SIZE. 14006 (size_lookup): Don't make it const. 14007 (ggc_alloc): Use OBJECT_SIZE. 14008 (ggc_set_mark): Likewise. 14009 (ggc_get_size): Likewise. 14010 (init_ggc): Set up the object_size_table, objects_per_page_table, 14011 and adjust size_lookup. 14012 (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP. 14013 (ggc_pop_context): Use NUM_ORDERS. 14014 (clear_marks): Likewise. 14015 (sweep_pages): Likewise. 14016 (poison_pages): Likewise. 14017 (ggc_print_statistics): Use OBJECT_SIZE. 14018 14019Thu Jan 4 15:54:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 14020 14021 * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes. 14022 Only call array_size_for_constructor if last field and array type 14023 with no upper bound. 14024 140252001-01-04 Philip Blundell <philb@gnu.org> 14026 14027 * config/arm/arm.c (arm_gen_constant): Prefer to emit constants 14028 from bit 31 downwards, if this requires no more insns. 14029 (count_insns_for_constant): New helper function for above. 14030 140312001-01-04 Alexandre Oliva <aoliva@redhat.com> 14032 14033 * gencodes.c (output_predicate_decls): Remove empty initializer. 14034 140352001-01-04 Mark Mitchell <mark@codesourcery.com> 14036 14037 * tree.c (copy_node): Remove documentation about obstacks. 14038 (buidl1): Check that nobody tries to build 2-argument nodes this 14039 way. 14040 140412001-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 14042 14043 * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and 14044 fp_high_losum_p. 14045 14046 * gencodes.c (output_predicate_decls): Fill empty initializer 14047 braces. 14048 140492001-01-04 Jakub Jelinek <jakub@redhat.com> 14050 14051 * tradcpp.c (deps_file, print_deps_missing_files): New variables. 14052 (main): Handle -MG, -MD, -MMD. Bail out if -MG is given without -M 14053 or -MM. 14054 (do_include): Handle missing headers like cpp0. 14055 * cppfiles.c (_cpp_execute_include): Don't prefix absolute header 14056 paths with first include pathname. Don't strcat to uninitialized 14057 string. 14058 140592001-01-04 Bernd Schmidt <bernds@redhat.com> 14060 14061 * regrename.c (regrename_optimize): Don't rename from frame pointer 14062 if frame_pointer_needed. 14063 (do_replace): Don't set ORIGINAL_REGNO to a hard register number. 14064 * config/ia64/ia64.c (emit_all_group_insn_barriers): New function. 14065 (ia64_reorg): Use it instead of scheduling if ! optimize. 14066 (errata_emit_nops): Properly call asm_noperands. 14067 (ia64_sched_reorder): Finish cycle if we see an asm. 14068 (ia64_variable_issue): Clear scheduling state after asms. 14069 140702001-01-04 Neil Booth <neil@daikokuya.demon.co.uk> 14071 14072 * cpp.texi: Update for -MT. 14073 * cppinit.c (initialize_dependency_output): Add a default 14074 target if none has been given already. 14075 (no_tgt, OPT_MT): New. 14076 (cpp_handle_option): Handle -MT. Update -M etc. 14077 * cpplib.h (struct cpp_options): Remove deps_target. 14078 * gcc.c (cpp_options): Handle -MT. 14079 * mkdeps.c (struct deps): Move from mkdeps.h. 14080 (deps_calc_target): Rename deps_add_default_target. Add a 14081 default target if none has been specified already. 14082 * mkdeps.h (struct deps): Move to mkdeps.c. 14083 (deps_calc_target): Rename deps_add_default_target. 14084 140852000-01-03 Richard Henderson <rth@redhat.com> 14086 14087 * c-decl.c (grokdeclarator): Give zero-length arrays size zero. 14088 Remove dead code. 14089 * c-typeck.c (push_init_level): Move checks for flexible array 14090 members and zero length arrays ... 14091 (pop_init_level): ... here. Silently discard empty initializations. 14092 Remove dead code. 14093 * varasm.c (output_constructor): Update for sizeof change to 14094 zero-length arrays. 14095 14096 * extend.texi (Zero Length): Clarify semantics. 14097 140982001-01-03 Alexandre Oliva <aoliva@redhat.com> 14099 14100 * configure.in (tm.h): Include isns-codes.h last. 14101 * configure: Rebuilt. 14102 141032001-01-03 Richard Henderson <rth@redhat.com> 14104 14105 * config/alpha/alpha.md (addvsi3, addvdi3): New. 14106 (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New. 14107 141082001-01-03 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 14109 14110 * tradcpp.c (main): Make sure finclude() is called with a valid 14111 indepth value while handling -include. 14112 141132001-01-03 Alexandre Oliva <aoliva@redhat.com> 14114 14115 * gencodes.c (output_predicate_decls): New function. 14116 (main): Call it. 14117 * machmode.h (GET_MODE_MASK): Arrange for it to be defined 14118 even if it is not the first time machmode.h is #included. 14119 * config/sh/sh.c (fpul_operand): Declare MODE argument. 14120 * tm.texi (PREDICATE_CODES): Document predicate declarations. 14121 * gcc.texi (Copyright): Added 2001. 14122 141232001-01-03 Joseph S. Myers <jsm28@cam.ac.uk> 14124 14125 * c-common.c (c_common_lang_init): New function. Warn if format 14126 warning options which only have effects when used with -Wformat 14127 are used without -Wformat. 14128 * c-common.h (c_common_lang_init): Declare. 14129 * c-lang.c (lang_init): Call c_common_lang_init. 14130 * objc/objc-act.c (lang_init): Call c_common_lang_init. 14131 141322001-01-03 Joseph S. Myers <jsm28@cam.ac.uk> 14133 14134 * configure.in: Check for the mktemp command. 14135 * configure: Regenerate. 14136 * gccbug.in: Use a separate temporary file $TEMP0 for one use of 14137 $TEMP. Create temporary files with mktemp, if available at 14138 configure time; otherwise use set -C. Remove temporary files 14139 before exit. 14140 141412001-01-03 Joseph S. Myers <jsm28@cam.ac.uk> 14142 14143 * configure.in: Require at least texinfo 4.0. Check for whether 14144 Pod::Man is sufficiently recent to regenerate GCC manpages. 14145 * configure: Regenerate. 14146 * Makefile.in (TEXI2POD): Call perl explicitly rather than relying 14147 on #!. 14148 (GENERATED_MANPAGES): Define. 14149 (generated-manpages): New target. Depend on cpp.1 as well as 14150 gcov.1. 14151 (install-man): Depend on $(GENERATED_MANPAGES) (defined by 14152 configure to generated-manpages or empty) rather than on the 14153 manpages directly. Remove execute permission from installed 14154 gcov.1 as well as cpp.1. 14155 * cpp.1, gcov.1: Regenerate. 14156 141572001-01-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 14158 14159 * builtins.c (expand_builtin_strncmp): Use host_integerp and 14160 tree_low_cst. Allow using cmpstrsi in more cases. 14161 14162Wed Jan 3 10:48:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 14163 14164 * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable 14165 sized types. 14166 14167Wed Jan 3 12:22:32 2001 Alexandre Oliva <aoliva@redhat.com> 14168 14169 * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'. 14170 * Makefile.in (HOST_CFLAGS): Mention build-make. 14171 14172Wed Jan 3 08:53:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 14173 14174 * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore 14175 as JUMP_INSN. 14176 141772001-01-01 Bernd Schmidt <bernds@redhat.com> 14178 14179 * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on 14180 a REG rtx. 14181 14182 * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg. All 14183 callers changed. 14184 14185 * alias.c (throughout): Use ORIGINAL_REGNO when accessing 14186 reg_base_value and reg_known_value arrays. 14187 (init_alias_analysis): Add more cases to detect known values. 14188 * sched-deps.c (deps_may_trap_p): New function. 14189 (sched_analyze_2): Use it. 14190 141912001-01-03 Alexandre Oliva <aoliva@redhat.com> 14192 14193 * combine.c (simplify_shift_const): Even if we're sign-extracting, 14194 don't discard an ASHIFTRT if we're shifting in a wider mode. 14195 141962000-01-02 John David Anglin <dave@hiauly1.hia.nrc.ca> 14197 14198 * toplev.c (rest_of_compilation): Don't print basic block information 14199 when CFG isn't up to date. 14200 142012001-01-02 Mark Elbrecht <snowball3@bigfoot.com> 14202 14203 * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define. 14204 (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define. 14205 (UNALIGNED_SHORT_ASM_OP): Define. 14206 (CPP_PREDEFINES): Remove defines for GO32 and DJGPP. 14207 142082001-01-02 Mark Mitchell <mark@codesourcery.com> 14209 14210 * fold-const.c (fold_convert): Fix typo. 14211 142122001-01-02 Richard Henderson <rth@redhat.com> 14213 14214 * c-common.h (ASM_INPUT_P): New. 14215 * c-parse.in (asm): Set it when needed. 14216 * c-semantics.c (genrtl_asm_stmt): Test it instead of the 14217 existence of an operand. 14218 14219Tue Jan 2 20:27:07 MET 2001 Jan Hubicka <jh@suse.cz> 14220 14221 * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY. 14222 (dwarf2out_frame_debug_expr): Likewise. 14223 (mem_loc_descriptor): Handle PRE and POST_MODIFY. 14224 14225Tue Jan 2 20:21:31 MET 2001 Jan Hubicka <jh@suse.cz> 14226 14227 * i386.c (ix86_split_to_parts): Return number of part required; 14228 handle TFmodes. 14229 (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle 14230 TFmodes. 14231 (ix86_split_long_move): Use number of part returned 14232 by ix86_split_to_parts 14233 * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE): 14234 New macros. 14235 (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double 14236 (LONG_DOUBLE_TYPE_SIZE): Change from constant. 14237 (MAX_LONG_DOUBLE_TYPE_SIZE): New macro. 14238 (INTEL_EXTENDED_IEEE_FORMAT): Likewise. 14239 (ALIGN_MODE_128): Add TFmode. 14240 (IS_STACK_MODE): Likewise. 14241 (HARD_REGNO_NREGS): TFmode needs 3 registers. 14242 (HARD_REGNO_OK): Support TFmodes. 14243 (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes. 14244 * i386.md (scheduler definitions): Use memory operand to determine 14245 fst/fld instructions; use mode attribute to determine real mode of 14246 the instruction. 14247 (*tf): New patterns, expanders and splitters; based on XFmode patterns. 14248 * invoke.texi (128bit-long-double, 96bit-long-double): Document. 14249 142502001-01-02 Mark Mitchell <mark@codesourcery.com> 14251 14252 * tree.def (TRUTH_NOT_EXPR): Improve documentation. 14253 14254Tue Jan 2 10:47:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu. 14255 14256 * expr.c (store_constructor_field): Update ALIGN before calling 14257 store_constructor. 14258 142592001-01-02 Jeffrey Oldham <oldham@codesourcery.com> 14260 14261 * config/mips/mips.c (function_arg): Don't pass NULL_TREE to 14262 host_integerp. 14263 142642001-01-02 Jeffrey Oldham <oldham@codesourcery.com> 14265 14266 * tm.texi (FUNCTION_ARG): Document that @var{type} can be an 14267 incomplete type. 14268 14269Tue Jan 2 10:47:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu. 14270 14271 * c-decl.c (start_function): Don't warn on third parameter to main. 14272 142732001-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 14274 14275 * tsystem.h: Define HAVE_DECL_GETOPT. 14276 142772001-01-02 Philip Blundell <pb@futuretv.com> 14278 14279 * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber 14280 of input operand. 14281 142822001-01-02 Richard Henderson <rth@redhat.com> 14283 14284 * alpha.md (*ze_and_ne): Duplicate insn condition to split. 14285 142862001-01-02 Andreas Jaeger <aj@suse.de> 14287 14288 * c-decl.c (c_decode_option): Remove support of 14289 -Wmissing-noreturn. 14290 14291 * toplev.c (documented_lang_options): Remove -Wmissing-noreturn. 14292 (W_options): Add -Wmissing-noreturn here. 14293 14294 * flow.c: Define lang_missing_noreturn_ok_p. 14295 (check_function_return_warnings): Use it. 14296 14297 * c-common.h: Declare lang_missing_noreturn_ok_p. 14298 14299 * c-lang.c (c_missing_noreturn_ok_p): New function. 14300 (lang_init): Set lang_missing_noreturn_ok_p. 14301 14302 * invoke.texi (Warning Options): Document this. 14303 143042000-12-27 Phil Edwards <pme@sources.redhat.com> 14305 14306 * extend.texi (C++ Extensions): New node for C++ attributes; 14307 describe init_priority and com_interface. 14308 * invoke.texi: Remove -finit-priority as it now has zero effect. 14309 * install.texi: Fix xref syntax. 14310 * md.texi: Likewise. 14311 14312Mon Jan 1 21:28:29 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 14313 14314 * config.gcc (sparc64-wrs-vxworks*): New case. 14315 * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files. 14316 14317 * config/sparc/sparc.c (sparc_override_options): Do support different 14318 pointer and architecture size. 14319 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4. 14320 (POINTERS_EXTEND_UNSIGNED): Define. 14321 (Pmode): Test TARGET_ARCH64, not TARGET_PTR64. 14322 (FUNCTION_MODE): Define to be Pmode. 14323 * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI. 14324 14325 * function.c (expand_function_end): Properly handle DECL_RESULT 14326 and copy when ptr_mode != Pmode. 14327 * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed. 14328 143292001-01-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 14330 14331 * c-common.c (c_common_nodes_and_builtins): Set prototype 14332 parameters for __builtin_fputs, __builtin_fputc and 14333 __builtin_fwrite. Don't declare plain fputc as a builtin. 14334 143352001-01-01 John David Anglin <dave@hiauly1.hia.nrc.ca> 14336 14337 * loop.c (add_label_notes): Increment the label usage count when 14338 a note is added to an insn which refers to a CODE_LABEL. 14339 * gcse.c (add_label_notes): Likewise. 14340 143412001-01-01 Andreas Jaeger <aj@suse.de> 14342 14343 * loop.c (scan_loop): Use xmalloc to allocate movables. 14344 143452001-01-01 Alexandre Oliva <aoliva@redhat.com> 14346 14347 * tm.texi (REGISTER_MOVE_COST): Add a mode argument. 14348 * reload.c (REGISTER_MOVE_COST): Likewise. Adjust all callers. 14349 * reload1.c (REGISTER_MOVE_COST): Likewise. 14350 * regclass.c (REGISTER_MOVE_COST): Likewise. 14351 (move_cost, may_move_in_cost, may_move_out_cost): Add mode 14352 dimension. Adjust all users. 14353 (init_reg_sets_1): Iterate on all modes. 14354 * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust. 14355 * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust. 14356 * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust. 14357 * config/arc/arc.h (REGISTER_MOVE_COST): Adjust. 14358 * config/arm/arm.h (REGISTER_MOVE_COST): Adjust. 14359 * config/avr/avr.h (REGISTER_MOVE_COST): Adjust. 14360 * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust. 14361 * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust. 14362 * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust. 14363 * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust. 14364 * config/i386/i386.h (REGISTER_MOVE_COST): Adjust. 14365 * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust. 14366 * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust. 14367 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust. 14368 * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust. 14369 * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust. 14370 * config/mips/mips.h (REGISTER_MOVE_COST): Adjust. 14371 * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust. 14372 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust. 14373 * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust. 14374 * config/pa/pa.h (REGISTER_MOVE_COST): Adjust. 14375 * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust. 14376 * config/pj/pj.h (REGISTER_MOVE_COST): Adjust. 14377 * config/romp/romp.h (REGISTER_MOVE_COST): Adjust. 14378 * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust. 14379 * config/sh/sh.h (REGISTER_MOVE_COST): Adjust. 14380 * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust. 14381 143822001-01-01 Bernd Schmidt <bernds@redhat.com> 14383 14384 * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of 14385 arg VARIES_P. Call it with extra arg. 14386 (true_dependence): Likewise. 14387 * rtl.h (rtx_addr_can_trap_p): Declare. 14388 (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update 14389 prototypes. 14390 * rtlanal.c (rtx_addr_can_trap_p): No longer static. 14391 (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow 14392 pic offset table register if it's zero. All callers changed. 14393 (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed. 14394 14395Mon Jan 1 07:38:33 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 14396 14397 * explow.c (convert_memory_address, case SYMBOL_REF): Copy 14398 STRING_POOL_ADDRESS_P. 14399 14400 * config/sparc/sparc.c (input_operand): Properly test for short op. 14401 14402 * config.gcc (sparc-*-elf): Include sparc/sol2.h. 14403 (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h. 14404 (sparclite-*-elf*, sparc86x-*-elf*): Likewise. 14405 * config/sparc/elf.h: No longer include sol2.h. 14406 * config/sparc/lifeelf.h: No longer include sparc/elf.h. 14407 * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise. 14408 14409 * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64. 14410 144112001-01-01 Michael Hayes <mhayes@redhat.com> 14412 14413 * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds. 14414 (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise. 14415 (record_initial): Likewise. 14416 * unroll.c (copy_loop_body, loop_iterations): Likewise. 14417 (remap_split_bivs): Likewise. 14418 144192001-01-01 Michael Hayes <mhayes@redhat.com> 14420 14421 * loop.c (loop_ivs_free): New function. 14422 (strength_reduce): Break out from... 14423 144242001-01-01 Michael Hayes <mhayes@redhat.com> 14425 14426 * loop.h (struct iv): New. 14427 (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'. 14428 (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info', 14429 'reg_biv_class' fields with 'regs' and 'n_regs'. 14430 (struct ivs): Rename 'loop_iv_list' field to 'list'. 14431 * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array. 14432 * unroll.c (loop_iterations): Check array bounds with ivs->n_regs. 14433 144342000-12-31 Alexandre Oliva <aoliva@redhat.com> 14435 14436 * resource.c (mark_referenced_resources): Abort() before 14437 attempting to mark a pseudo register. 14438 (mark_set_resources): Likewise. 14439 144402001-01-01 Michael Hayes <mhayes@redhat.com> 14441 14442 * loop.h (REG_IV_CLASS): New accessor macro. 14443 * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array. 14444 * unroll.c (REG_IV_CLASS): Likewise. 14445 14446See ChangeLog.4 for earlier changes. 14447