FSFChangeLog revision 52284
1Wed Sep 30 14:27:49 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 2 3 * function.c (assign_parms): Undo change of June 9. 4 5Tue Sep 29 09:57:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 6 7 * expr.c (get_inner_reference): Fix typo in last change. 8 9Mon Sep 27 21:34:00 1998 Paul Eggert <eggert@twinsun.com> 10 11 * po/en_UK.po (Project-Id-Version): Set to cc 2.8.1.19980813 for now. 12 (PO-Revision-Date): Set to the current date. 13 14Sun Sep 27 07:33:18 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 15 16 * m68k/vxm68k.h (LINK_SPEC): Always use -r. 17 (WIDEST_HARDWARE_FP_SIZE): Define. 18 19 * reload.c (push_reload): If in STRICT_LOW_PART, always reload 20 inside even if SUBREG_WORD is not zero. 21 22 * flow.c (print_rtl_with_bb): Don't say not in basic block if we 23 aren't making basic blocks.8 24 25Sat Sep 26 10:57:09 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 26 27 * function.c (optimize_bit_field): Don't remove SUBREG from dest 28 if SUBREG_REG is multi-word. 29 30Wed Sep 23 05:43:23 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 31 32 * reload.c (find_reloads_address): Deal with address which is 33 an AND; clean up return values some more. 34 35Fri Sep 11 13:02:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 36 37 * function.c (purge_addressof_1): Properly copy flags when making MEM. 38 39Mon Sep 7 18:33:06 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 40 41 * expr.c (get_inner_reference): If not COMPONENT_REF or BITFIELD_REF 42 and mode is BLKmode, set size_tree. 43 44 * expr.c (expand_builtin, case BUILT_IN_LONGJMP): Fix typo in 45 last change. 46 47Wed Sep 2 15:38:01 1998 Paul Eggert <eggert@twinsun.com> 48 49 * libgcc2.c (__floatdisf): Use signed comparison to test 50 whether u is close to zero; unsigned comparison is not what's 51 wanted here. 52 53Mon Aug 17 02:19:30 1998 David Edelsohn <edelsohn@mhpcc.edu> 54 55 * xcoffout.c (UNKNOWN_STAB): Fix typo in previous change; missing 56 backslash before newline. 57 58Mon Aug 17 00:12:42 1998 Paul Eggert <eggert@twinsun.com> 59 60 * reorg.c (check_annul_list_true_false): Fix typo in Jul 17 change. 61 62Sun Aug 2 01:10:15 1998 Paul Eggert <eggert@twinsun.com> 63 64 Add Native Language Support. 65 66 * intl/, ABOUT-NLS, mkinstalldirs, po/Makefile.in.in: New 67 subdirectory and files. They should be kept identical to the 68 corresponding items from the GNU gettext distribution. 69 70 * ABOUT-GCC-NLS, exgettext, intl.c, intl.h, po/POTFILES.in, 71 po/en_UK.po: New files. 72 73 * Makefile.in (AWK, datadir, localedir, top_builddir, USE_NLS, 74 INTLLIBS, POSUB, INTL_SUBDIRS, HOST_INTLLIBS, 75 PREPEND_DOTDOT_TO_RELATIVE_PATHS, SUBDIR_FLAGS_TO_PASS, GCC_OBJS, 76 COLLECT2_OBJS, CCCP_OBJS, CPPMAIN_OBJS, PROTO_OBJS, GCOV_OBJS, 77 INTL_DISTCLEAN, GEN_PROTOS_OBJS): New vars. 78 (LIBDEPS, LIBS): Add $(INTLLIBS). 79 (HOST_LIBDEPS, HOST_LIBS): Add $(HOST_INTLLIBS). 80 (LIBS): Add @LIBS@. 81 (ORDINARY_FLAGS_TO_PASS): New var, containing all the old values 82 from FLAGS_TO_PASS, except for CC. 83 (FLAGS_TO_PASS): Pass datadir, distdir, localedir. 84 (OBJS): Add intl.o. 85 (GEN): Add gencheck. 86 (STAGESTUFF): Add tree-check.h, gencheck$(exeext). 87 (native): Depend on intl.all. 88 (xgcc, collect2, cccp, cppmain, protoize, unprotoize, gcov): Link 89 intl.o. 90 (c-typeck.o, c-lex.o, collect2.o, gcc.o, toplev.o, integrate.o, 91 final.o, cccp.o, cppmain.o, cpplib.o, cpperror.o, s-proto, 92 gcov.o): Depend on intl.h. 93 (gencheck): Depend on $(HOST_LIBDEPS) instead of tree.h and 94 tree.def. 95 (gencheck.o, intl.o, $(top_builddir)/intl/libintl.a, 96 $(srcdir)/cp/parse.c, intl.all, intl.install, intl.uninstall, 97 intl.distdir, intl.mostlyclean, intl.clean, intl.distclean, 98 intl.maintainer-clean, intl.distdir-fixup, distdir-check): New 99 rules. 100 (gen-protos): Link cpperror.o, cppexp.o, cpphash.o, cpplib.o, 101 prefix.o, version.o; needed for `cpp_notice'. 102 (mostlyclean): Depend on intl.mostlyclean. 103 (clean): Depend on intl.clean. 104 (distclean): Depend on intl.disclean, unless the invoker defines 105 INTL_DISTCLEAN to be empty. Remove intl/libintl.h and libintl.h 106 (created by configure). 107 (maintainer-clean): Make intl.maintainer-clean, but define 108 INTL_DISTCLEAN to be empty. 109 (install-normal): Depend on intl.install. 110 (uninstall): Depend on intl.uninstall. 111 (distdir-start): Make sure invoker configured with --enable-nls. 112 Use $(AWK), not awk. Make tmp/intl and tmp/po directories. 113 (distdir-finish): Make distdir-check at the end. 114 (distdir): Depend on intl.distdir, intl.distdir-fixup. 115 (compare, compare3, gnucompare, gnucompare3, stage1-start, 116 stage2-start, stage3-start, stage4-start): Handle intl 117 subdirectory. 118 119 * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, 120 HAVE_LC_MESSAGES, HAVE_STPCPY, PACKAGE, VERSION): New macros. 121 122 * aclocal.m4 (AC_ISC_POSIX, AM_WITH_NLS, AM_GNU_GETTEXT, 123 AM_LC_MESSAGES, AM_PATH_PROG_WITH_TEST): New functions; taken from 124 gettext distribution. 125 126 * bi-arity.c, bi-opcode.c, bi-opname.c: Include config file first. 127 128 * c-common.c: Don't include <ctype.h>. 129 (tfaff): Now a function, not a string. All users changed. 130 (check_format_info): Use is_C_digit, not isdigit. 131 Reword messages to ease localization. 132 133 * c-decl.c (redeclaration_error_message): Now returns int, not 134 message. 135 (poplevel, duplicate_decls, pushdecl): Revamp to pass explicit 136 strings to diagnostic generators. 137 (duplicate_decls, parmlist_tags_warning, finish_struct): Reword 138 messages to ease localization. 139 140 * c-iterate.c (prdecl): Reword messages so that they do not require 141 localization. 142 143 * c-lex.c: Include limits.h if available. 144 Include intl.h. 145 Include ctype.h only if MAP_CHARACTER is defined. 146 (UCHAR_MAX): Define if limits.h doesn't. 147 (C_alnum_array): New var. 148 (init_lex): Initialize it. 149 (yyerror): Localize msgid arg. 150 (yylex): Use is_C_alnum and is_C_digit, not isalnum and isdigit. 151 152 * c-lex.h (C_alnum_array): New decl. 153 (is_C_alnum, is_C_digit): New macros. 154 155 * c-typeck.c: Include intl.h. 156 (warning_init): Now takes just one arg. 157 (incomplete_type_error, build_unary_op, lvalue_or_else, 158 readonly_warning, build_modify_expr): Reword messages to ease 159 localization. 160 (build_unary_op, readonly_warning): Revamp to pass explicit 161 strings to diagnostic generators. 162 (build_modify_expr, warn_for_assignment, c_expand_return): 163 Translate strings passed to functions expecting translated 164 strings. 165 (get_spelling): Remove; it was a no-op. All callers changed. 166 (error_init, pedwarn_init): Now takes just one arg. All callers 167 and decls changed. This makes it easier to localize. 168 169 * cccp.c: Include intl.h. 170 (char_name): Remove. 171 (check_macro_name): Now takes int 2nd arg, not char *. All 172 callers changed. 173 (macarg): Now returns int, not char *. All callers changed. 174 (notice, vnotice, pedwarn_strange_white_space): New functions. 175 (verror): Now extern; used by cexp.y. 176 (main): Set message locale, and defer memory allocation until 177 after. 178 (main, do_include, print_containing_files): Invoke `notice' to 179 localize notices. 180 (handle_directive): Invoke pedwarn_strange_white_space instead of 181 using char_name. 182 (do_include, check_macro_name): Reword messages to ease 183 localization. 184 (my_strerror): Reword message so that it does not require 185 localization. 186 (verror, vwarning, verror_with_line, vwarning_with_line, 187 pedwarn_with_file_and_line, fatal): Invoke vnotice to localize 188 msgid. 189 (initialize_char_syntax): No need to initialize char_name. 190 191 * cexp.y (yyerror): Now takes msgid format and args, not just string. 192 (verror): New decl. 193 (parse_number, yylex): Reword messages to ease 194 localization. 195 (verror): New test function. 196 (pedwarn, warning): Translate msgid arg. 197 198 * collect2.c: Include intl.h. 199 (my_strerror, main, collect_execute, scan_prog_file, 200 scan_libraries, read_file, end_file): Reword messages so that they 201 do not require localization. 202 (notice): Nwe function. 203 (fatal, error, main, collect_execute, maybe_unlink, 204 write_c_file_stat, locatelib, scan_libraries, scan_prog_file, 205 add_func_table): Use it to translate msgid strings. 206 (main): Set message locale, and defer memory allocation until 207 after. 208 (collect_wait): Reword messages to ease localization. 209 (bad_header): Revamp to pass explicit strings to diagnostic 210 generators. 211 212 * combine.c (dump_combine_stats, dump_combine_total_stats): 213 Use fnotice to translate diagnostic messages. 214 215 * config/1750a/1750a.c (memop_valid): Don't use `valid' as an 216 identifier; it runs afoul of SunOS 4.1.4 <locale.h>. 217 218 * config/arc/initfini.c (__do_global_dtors): Put backslash before 219 newline in strings, to pacify xgettext. 220 221 * config/dsp16xx/dsp16xx.c, config/dsp16xx/dsp16xx.h 222 (dsp16xx_invalid_register_for_compare): New function. 223 * config/dsp16xx/dsp16xx.md: Use it to report invalid registers. 224 225 * config/i370/i370.h: Include <ctype.h>. 226 227 * config/i386/i386.c: Include config.h first. 228 229 * config/m32r/initfini.c (__do_global_dtors): Put backslash before 230 newline in strings, to pacify xgettext. 231 * config/m88k/dguxbcs.h (CPP_SPEC): Likewise. 232 233 * config/rs6000/rs6000.c: Include config.h first. 234 * config/rs6000/rs6000.c, config/rs6000/rs6000.h 235 (rs6000_fatal_bad_address): New function. 236 * config/rs6000/rs6000.md: Use it to report bad addresses. 237 238 * config/v850/v850.c: Include config.h first. 239 240 * configure.in: When generating config.h and mentioning a file 241 taken from the config directory, surround it with #ifdef IN_GCC, 242 so that programs compiled without IN_GCC -- notably in the intl 243 subdirectory -- don't need to be compiled with -Iconfig. 244 (PACKAGE, VERSION, ALL_LINGUAS): New vars. 245 (AC_ARG_ENABLE): Add --enable-nls. 246 (AM_GNU_GETTEXT): Add. Override XGETTEXT so that we use exgettext 247 instead of xgettext to extract strings. 248 (all_outputs): Add intl/Makefile, po/Makefile.in. 249 Do not use the shell variable 'l'; it runs afoul of gettext's 250 aclocal mechanism! 251 If libintl.h is created, echo '#include "intl/libintl.h"' 252 >libintl.h so that we don't have to futz with our include paths. 253 254 * cp/Make-lang.in (g++.o): Depend on gansidecl.h, intl.h, Makefile; 255 do not depend on config.status. 256 (GXX_OBJS): New var. 257 (g++$(exeext)): Link intl.o. 258 259 * cp/Makefile.in (top_builddir, INTLLIBS): New vars. 260 (LIBS): Add $(INTLLIBS). 261 262 * cppalloc.c (memory_full): Use `cpp_notice' to print diagnostic. 263 264 * cpperror.c: Include intl.h. 265 (cpp_print_containing_files): Use cpp_notice to translate messages. 266 (cpp_message): is_error is -1 for notices. Translate "warning:". 267 (cpp_fatal): Translate msgid arg. 268 269 * cppexp.c (cpp_lex): Revamp to pass explicit strings to 270 diagnostic generators. 271 (cpp_parse_expr): Use cpp_error, not fprintf, to report 272 unimplemented operators. 273 274 * cpplib.c: Include intl.h. 275 (check_macro_name): Now takes int 2nd arg, not char *. All 276 callers changed. 277 (check_macro_name, do_define): Reword messages to ease 278 localization. 279 (do_define): Revamp to pass explicit strings to diagnostic 280 generators. 281 (do_define, cpp_start_read, cpp_handle_options): Use cpp_notice to 282 translate messages. 283 (cpp_error, cpp_warning, cpp_warning_with_line, 284 cpp_pedwarn_with_file_and_line): Translate msgid arg. 285 (cpp_notice): New function. 286 (my_strerror): Reword message so that it does not require 287 localization. 288 289 * cpplib.h (cpp_notice): New decl. 290 291 * cppmain.c: Include intl.h. 292 (main): Set message locale. 293 294 * cse.c (cse_main): Use fnotice to print diagnostic. 295 296 * final.c: Include intl.h; do not include ctype.h. 297 (output_operand_lossage): Translate msgid arg. 298 299 * fold-const.c (optimize_bit_field_compare, fold_truthop): Reword 300 messages to ease localization. 301 302 * gcc.c: Include intl.h. 303 (my_strerror, snapshot_warning): Reword messages so that they do 304 not require localization. 305 (init_spec, set_spec, read_specs, execute, do_spec_1, main, 306 snapshot_warning): Invoke `notice' to localize notices. 307 (struct switchstr): Don't use `valid' as an identifier; it runs 308 afoul of SunOS 4.1.4 <locale.h>. All uses changed. 309 (do_spec_1): Treat %e string as msgid format, which needs 310 translation. 311 (main): Set message locale. 312 (pfatal_with_name): Invoke perror_with_name, not fatal, so that we 313 don't have to translate "%s: %s". 314 (perror_with_name): Invoke printf, not error, so that we don't 315 have to translate "%s: %s". 316 (pfatal_pexecute): Invoke pfatal_with_name, not fatal, so that we 317 don't have to translate "%s: %s". 318 (fatal, error): Translate msgid arg. 319 (notice): New function. 320 321 * gcov.c: Include intl.h; include stdarg.h if __STDC__ is defined. 322 (main): Set message locale. 323 (fnotice): New function. 324 (xmalloc, fancy_abort, print_usage, open_files, read_files, 325 function_summary, output_data): Use it to to print diagnostics. 326 327 * install.texi: Explain new configure options --enable-nls, 328 --with-included-gettext, --with-catgets. 329 330 * integrate.c: Include intl.h. 331 (function_cannot_inline_p): Mark msgids with N_. 332 333 * invoke.texi: Describe environment variables affecting locale. 334 335 * pexecute.c: Include libintl.h if ENABLE_NLS, otherwise define 336 gettext to be a noop. 337 (_, N_): New macros. 338 (install_error_msg): Wrap inside N_. 339 (pexecute): Translate diagnostics. 340 341 * protoize.c: Include intl.h. 342 (__attribute__): New macro. 343 (notice): New function. 344 (my_strerror): Reword message so that it does not require 345 localization. 346 (xmalloc, xrealloc, fancy_abort, safe_write, usage, 347 file_normally_convertible, abspath, find_file, aux_info_corrupted, 348 save_def_or_dec, gen_aux_info_file, process_aux_info_file, 349 rename_c_file, find_extern_def, find_static_definition, 350 declare_source_confusing, edit_fn_declaration, edit_formals_lists, 351 add_local_decl, add_global_decls, edit_fn_definition, 352 scan_for_missed_items, edit_file, main): Use `notice' to print 353 diagnostic. 354 (main): Set message locale. 355 356 * real.c (NMSGS, ermsg): Remove. 357 (mtherr): Revamp to pass explicit strings to diagnostic 358 generators. Abort on invalid operations. 359 360 * regclass.c (fix_register): Reword messages to ease localization. 361 362 * toplev.c: Include intl.h; do not include ctype.h. 363 (v_really_sorry, really_sorry): Remove unused functions. 364 (count_error, fatal_io_error): Translate strings. 365 (default_print_error_function, report_error_function, main, 366 print_version): Reword messages to ease localization. Use 367 `notice' to translate diagnostics. 368 (vnotice, notice, fnotice): New functions. 369 (vmessage): Remove. 370 (v_message_with_file_and_line, vsorry): Translate msgid with 371 vnotice. 372 (v_message_with_file_and_line, v_message_with_decl): Use 373 report_file_and_line. Now takes int warning flag, not prefix; 374 this is easier to localize. All callers changed. 375 (v_message_with_decl): Abort if first format spec is neither %% 376 nor %s. Translate "((anonymous))". 377 (main): Set message locale. 378 (set_target_switch): Don't use `valid' as an identifier; it runs 379 afoul of SunOS 4.1.4 <locale.h>. 380 (__VERSION__): Reword message so that it does not require 381 localization. 382 (print_switch_values): Translate "options passed" and "options 383 enabled". 384 385 * tree.c (valid_machine_attribute): Don't use `valid' as an 386 identifier; it runs afoul of SunOS 4.1.4 <locale.h>. 387 388 * xcoffout.c (xcoff_output_standard_types): Use `error' to 389 output diagnostic, so that it gets translated. 390 391 * patch-apollo-includes: Remove; this is part of README.APOLLO. 392 393Mon Jul 27 18:28:58 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 394 395 * reload.c (find_reloads): If no_input_reloads, abort if 396 reloads were made for addresses. 397 * m68k.md (sxx): Operand 0 cannot be memory. 398 399Fri Jul 17 07:31:04 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 400 401 * m68k.c (output_move_simode_const): Use subl to move 0 into addr reg. 402 (output_move_[hq]imode): Likewise. 403 404 * m68k.md (extend[sd]fxf2): Accept constants and general reg as 405 source operand if the destination is a floating point register. 406 407Fri Jul 17 07:23:49 1998 Herman ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 408 409 * reorg.c (check_annul_list_true_false): New function. 410 (steal_delay_list_from_{target,fallthrough}): Call it and also 411 refine tests for when we may annul if already filled a slot. 412 (fill_slots_from_thread): Likewise. 413 (delete_from_delay_slot): Return newly-created thread. 414 (try_merge_delay_isns): Use its new return value. 415 416Sat Jul 4 11:07:33 1998 Eberhard Mattes <mattes@azu.informatik.uni-stuttgart.de> 417 418 * function.c (assign_parms): Handle PARALLEL which include stack. 419 420Sat Jul 4 09:44:29 1998 Paul Edwards <avon@matra.com.au> 421 422 * tree.c, print-tree.c, c-lang.c: Include stdio.h before tree.h. 423 * expr.c (bc_expand_component_address): Correct args to 424 bc_push_offset_and_size. 425 * reload1.c (reload_cse_simplify_operands): Add missing return value. 426 427Fri Jul 3 07:17:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 428 429 * alpha.c (normal_memory_operand): Handle case when REG will be 430 eliminated by reload. 431 432Thu Jul 2 18:43:53 1998 James Carlson <carlson@ironbridgenetworks.com> 433 434 * floatlib.c (HIDDEND_LL, MANTD_LL, PACKD_LL): New macros. 435 (__addsf3): Fixed cases returning wrong type and causing unintended 436 conversions and data corruption. 437 (__mulsf3): Fixed rounding flaws caused wrong scaling. 438 (__float{didf,sisf,disf},__fix{,uns}dfdi): New functions. 439 (__{gt,ge,lt,le,eq,ne}df2): Likewise. 440 (__truncdfsf2): Fixed normalization problems 441 (__fixunsdfsi): Fixed compiler warning 442 (__{add,sub,mul}df3): Rewrite to do real DP math. 443 (__divdf3): Removed previous version by Barrett Richardson. 444 445Thu Jul 2 17:57:20 1998 Douglas B. Rupp <rupp@gnat.com> 446 447 * cpperror.c: Include errno.h. 448 449Thu Jul 2 16:46:36 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 450 451 * c-decl.c (grokdeclarator): Don't warn about implicit int in 452 `typedef foo = bar'. 453 454Tue Jun 30 18:32:49 1998 Geert Bosch <bosch@gnat.com> 455 456 * alpha/vxworks.h (LINK_SPEC): Add -taso -T 0. 457 458Tue Jun 30 09:39:32 1998 David Edelsohn <edelsohn@mhpcc.edu> 459 460 * expr.c (expand_builtin_{set,long}jmp): If STACK_SAVEAREA_MODE 461 defined, override sa_mode using its value. 462 * explow.c (emit_stack_save): Likewise. 463 464 * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC. 465 (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC. 466 * rs6000.c (processor_target_table, 620): Don't affect MASK_POWERPC64. 467 (rs6000_override_options): Ignore flag_pic for AIX. 468 (rs6000_immed_double_const): Delete. 469 ({reg_or_u_short,u_short_cint}_operand): Don't assume 32-bit CONST_INT. 470 ({non_logical_cint,logical}_operand): Likewise. 471 (num_insns_constant): mask64_operand is 2 insns. 472 (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit. 473 (mask_constant): HOST_WIDE_INT parameter. 474 (non_and_cint_operand): Delete. 475 ({mask,and}64_operand): New functions. 476 (function_arg{,_advance}): DImode arguments don't need special 477 alignment when 64-bit. 478 (setup_incoming_varargs): Reverse reg_size assignment. 479 (print_operand): HOST_WIDE_INT second parameter. 480 (print_operand, case 'B', 'S'): New cases. 481 (print_operand, case 'M'): Fix typo in lossage string. 482 (rs6000_stack_info): Reverse reg_size assignment. Use total_raw_size 483 to compute AIX push_p. Use reg_size to compute {cr,lr}_save_offset. 484 (rs6000_output_load_toc_table): Reverse init_ptr assignment. Use 485 TARGET_64BIT not TARGET_POWERPC64. Convert fprintf to fputs. 486 Load GOT highpart, don't add it. Add lowpart with {cal|la}. 487 (rs6000_allocate_stack_space): Use {cal|la}. 488 (output_epilog): Use {cal|la} 489 (output_function_profiler): Add call glue to mcount call. 490 Load GOT highpart, don't add it. Add lowpart with {cal|la}. 491 Use asm_fprintf and convert fprintf to fputs. 492 493 * rs6000.h (TARGET_SWITCHES): Add powerpc64. 494 (STACK_BOUNDARY): Depend on TARGET_32BIT. 495 (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type. 496 (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT. 497 (EXTRA_CONSTRAINTS): Remove 'S' and 'T'. Replace 'S' with 498 64-bit mask operand. 499 (RS6000_SAVE_TOC): Depend on TARGET_32BIT. 500 (STACK_SAVEAREA_MODE): New macro. 501 (LEGITIMATE_CONSTANT_P): DImode okay for 64bit. 502 (RTX_COSTS, AND/IOR/XOR): Reflect current machine description. 503 (ASM_FILE_START): Emit 64-bit ABI directive. 504 (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode. 505 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit. 506 (PREDICATE_CODES): Add "and64_operand" and "mask64_operand". 507 Delete "non_and_cint_operand". "input_operand" includes CONST_DOUBLE. 508 509 * rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask. 510 Restore define_split. 511 (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint. 512 (floatsidf2_internal, floatunssidf2_internal2): Likewise. 513 Do not specify base register operand mode. 514 (floatsidf2_loadaddr): Don't specify base register operand mode. 515 (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base 516 register; do not specify mode. Remove !TARGET_POWERPC64 final 517 constraint. 518 (floatsidf2_load): Don't specify base register operand mode. 519 Remove !TARGET_POWERPC64 final constraint. 520 (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Don't specify 521 base register operand mode. 522 (mulsidi3): Add !TARGET_POWERPC64 constraint. 523 (adddi3): Split large constants early. 524 (absdi3): Shift by 63, not 31. 525 (rotldi3): Add masking combiner patterns. 526 (anddi3): Add rldic{r,l} masking. Remove split of large constants. 527 (iordi3, xordi3): Split large constants early. 528 (movsi matcher): Remove S and T constraints. 529 (movsf const_double): create SImode constant from TARGET_DOUBLE. 530 (movdf_hardfloat32): Add default abort case. 531 (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE. 532 (movdi): Remove 64-bit constant generator. Try to convert 533 CONST_DOUBLE to CONST_INT. Handle TOC memory constants. 534 (movdi_32): Add default abort case. 535 (movdi_64): Add numerous ways to split 64-bit constants. 536 Make catch-all define_split more optimal and never FAIL. 537 (movti_ppc64): Add default abort case. 538 (allocate_stack): Remove operand modes; use Pmode. 539 (restore_stack_block): Remove operand modes. Generate Pmode 540 temporary. Generate MEM and specify mode. 541 (save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode 542 temporary. Save area is double Pmode. 543 (call_indirect_aix64, call_value_indirect_aix64): New patterns. 544 (call, call_value): Do not specify address operand mode. Choose 545 appropriate AIX ABI. 546 (*call_local64, *ret_call_local64): New patterns. 547 (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns. 548 (*ret_call_nonlocal_aix32): Use call_value_indirect for REG. 549 (compare): Materialize DImode truthvalues. 550 551Tue Jun 30 06:31:40 1998 Richard Henderson <rth@dot.cygnus.com> 552 553 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'. 554 * alpha.c (print_operand): Handle it. 555 * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and 556 related define_splits. 557 558Tue Jun 30 06:02:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 559 560 * calls.c (emit_library_call{,_value}): Pass null 561 to REG_PARM_STACK_SPACE. 562 563 * alpha.c (normal_memory_operand): New function. 564 * alpha.h (EXTRA_CONSTRAINT, case 'Q'): Call it. 565 566 * fold-const.c (count_cond): New function. 567 (fold): Don't try to build COND_EXPR from binary op when both sides 568 are COND_EXPR unless not nested too deeply. 569 570Thu Jun 25 09:54:55 1998 Nick Clifton <nickc@cygnus.com> 571 572 * arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM, noticed by 573 grahams@rcp.co.uk. 574 575Mon Jun 15 17:41:33 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 576 577 * reload1.c (reload): Issue guidance message on stack frame too large 578 for reliable stack check. 579 580 * fold-const.c (fold_range_test): Prevent falling through with no ret. 581 582Sat Jun 13 15:49:53 1998 Carol LePage <carolo@kemah.hal.com> 583 584 * configure.in (sparc-hal-solaris2*): New target. 585 * sparc/hal.h, sparc/t-halos: New files. 586 587Sat Jun 13 14:30:25 1998 David W. Schuler <schuld@btv.ibm.com> 588 589 * i386/aix386ng.h (CPP_SPEC): Remove bogus quote. 590 591Sat Jun 13 14:16:34 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 592 593 * regmove.c (try_auto_increment): Fix typo. 594 595 * c-common.c (truthvalue_conversion): Protect side effects in the 596 expression when splitting a complex value. 597 * fold-const.c (fold): Likewise. 598 599 * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex 600 prevent operands from being evaluated twice. 601 602Sat Jun 13 12:53:22 1998 Richard Earnshaw (rearnsha@arm.com) 603 604 * unroll.c (verify_addresses): Use validate_replace_rtx to undo 605 changes; abort if undo fails. 606 607Sat Jun 13 11:46:38 1998 Anders Blomdell <anders.blomdell@control.lth.se> 608 609 * flags.h (flag_volatile_static): Declare. 610 * toplev.c (flag_volatile_static): Define. 611 (f_options): Include -fvolatile-static. 612 * varasm.c (make_decl_rtl): Support -fvolatile-static. 613 614Sat Jun 13 08:26:21 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 615 616 * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't 617 consider a MEM in FP mode as equal. 618 619 * varasm.c (assemble_variable): Never put decl with specified section 620 name into bss. 621 622 * output.h (current_function_addresses_labels): Declare. 623 * function.h (struct function): New field `addresses_labels'. 624 * function.c (current_function_addresses_labels): Define. 625 ({push,pop}_function_context): Save/restore it. 626 (init_function_start): Initialize it. 627 * rtl.h (FUNCTION_FLAGS_ADDRESSES_LABELS): New flag. 628 * expr.c (expand_expr, case LABEL_DECL): Show addresses labels. 629 * integrate.c (function_cannot_inline_p): Can't if addresses labels. 630 (initialize_for_inline): Save current_function_addresses_labels. 631 (output_inline_function): Restore it. 632 633 * reload.c (find_reloads, case 'o'): All reloaded addresses 634 are offsettable. 635 (find_reloads_address): If replacing address, don't return 1. 636 637 * profile.c (output_func_start_profiler): Add missing steps in 638 defining function. 639 640Fri Jun 12 17:10:16 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 641 642 * m68k.md (extendqidi2): Operand 1 must be in data register. 643 644Tue Jun 9 07:24:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 645 646 * cccp.c (handle_directive): If -dM, also include #undef. 647 * cpplib.c (handle_directive): Likewise. 648 649 * calls.c (expand_call): Allow function pointer to be a REFERENCE_TYPE. 650 651 * function.c (assign_parms): Use proper mode for location of arg 652 on stack when promotions are occurring. 653 654 * regmove.c ({next,prev}_insn_for_regmove): Properly handle end of 655 function. 656 657Mon Jun 8 15:26:49 1998 Juha Sarlin <juha@c3l.tyreso.se> 658 659 * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24. 660 661Mon Jun 8 14:40:02 1998 John Wehle (john@feith.com) 662 663 * i386.md (movsf_push, movsf_mem): Remove. 664 (movsf_push): Rename from movsf_push_nomove and move in front of 665 movsf; allow memory operands during and after reload. 666 (movsf_push_memory): New pattern. 667 (movsf): Don't bother checking for push_operand. If TARGET_MOVE and 668 both operands refer to memory then force operand[1] into a register. 669 (movsf_normal): Change to unnamed pattern. 670 Likewise for movdf, movxf, and friends. 671 672Mon Jun 8 13:18:04 1998 Martin v. Loewis <loewis@informatik.hu-berlin.de> 673 674 * Makefile.in (TREE_H): Add tree-check.h. 675 (tree-check.h, s-check, gencheck): New targets. 676 (STAGESTUFF): Add s-check. 677 * gencheck.c: New file. 678 * tree.c (tree_check, tree_class_check, expr_check): New functions. 679 * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define. 680 (TYPE_CHECK, DECL_CHECK): Define. 681 Modify all access macros to use generated checking macros. 682 * acconfig.h (ENABLE_CHECKING): Undefine. 683 * configure.in (--enable-checking): New option. 684 685Mon Jun 8 12:13:25 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.ed> 686 687 * regmove.c: Remove include for varargs or stdarg. 688 689Mon Jun 8 07:49:41 1998 Andris Pavenis <pavenis@lanet.lv> 690 691 * gcc.c (link_command_spec): Support LINK_COMMAND_SPEC. 692 693Sun Jun 7 18:00:28 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 694 695 * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST 696 or VAR-- == CONST construct a proper mask if VAR is a bitfield. 697 Cope with CONST being out of range for the bitfield. 698 699Sun Jun 7 17:19:35 1998 Tom Quiggle <quiggle@sgi.com> 700 701 * mips/iris6.h (DWARF2_FRAME_INFO): Define. 702 * dwarf2out.c (dwarf2out_do_frame): Do something if DWARF2_FRAME_INFO. 703 704Sun Jun 7 15:29:04 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 705 706 * regmove.c: New file. 707 * Makefile.in (OBJS): Add regmove.o. 708 (regmove.o): New rules. 709 (mostlyclean): Remove regmove dumps. 710 * toplev.c (regmove_{dump,dump_file,time}, flag_regmove): New vars. 711 (f_options): Add -foptimize-register-move. 712 (compile_file): Run regmove pass after combine pass and do its dump. 713 (main): Enable regmove dump when -dN or -da. 714 (fatal_insn): Flush regmove dump file. 715 * flags.h (flag_regmove): Declare. 716 * flow.c (find_use_as_address): Export. 717 * rtl.h (find_use_as_address): Declare. 718 * local-alloc.c (optimize_reg_copy_{1,2}): Removed, all calls deleted. 719 * reload1.c (count_occurrences): Export. 720 * reload.h (count_occurrences): Declare. 721 722Sun Jun 7 09:30:31 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 723 724 * Makefile.in (uninstall): Uninstall gcov. 725 726 * alpha.h (ASM_COMMENT_START): Define. 727 728 * alpha.h (EXTRA_CONSTRAINT, case 'S'): New case. 729 * alpha.md ({ashl,ashr,lshr}di3): Use 'S' for constraint. 730 731 * i386.md (cmpxf): Add missing extend pattern from SFmode and fix 732 operand numbers in one extend pattern from DFmode. 733 734 * pa.md ({pre,post}_{ld,st}wm and similar): When operand is being 735 incremented, use '+', not '=', for constraint. 736 737 * reload.c (find_reloads): Give preference to pseudo that was the 738 reloaded output of previous insn. 739 740 * emit-rtl.c (init_emit_once): Provide default for DOUBLE_TYPE_SIZE. 741 742 * expr.c (init_expr_once): Free all RTL we generate here. 743 * expmed.c (init_expmed): Allocate all RTX in memory we'll free. 744 745 * genemit.c (main): Generate #include "reload.h". 746 747 * expr.c (expand_expr, case INDIRECT_EXPR): A dereference of 748 a REFERENCE_TYPE is always considered in a structure. Likewise for 749 a dereference of a NOP_EXPR whose input is a pointer to aggregate. 750 751Sat Jun 6 17:25:14 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 752 753 * mips.md (reload_{in,out}di): Allow other operand to be invalid 754 MEM and get any reload replacement before using address. 755 756Tue May 26 18:52:23 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 757 758 * reload1.c (reload): Get MEM_IN_STRUCT_P and RTX_UNCHANGING_P 759 from reg_equiv_memory_loc; set the latter when changing REG to MEM. 760 (alter_reg): Don't set RTX_UNCHANGING_P for shared slots. 761 762Mon May 25 12:07:12 1998 Hans-Peter Nilsson <hp@axis.se> 763 764 * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767. 765 766Sun May 24 21:50:12 1998 Alan Modra <alan@spri.levels.unisa.edu.au> 767 768 * i386/linux{,-aout,oldld}.h (ASM_COMMENT_START): Define. 769 770Sun May 24 11:58:37 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 771 772 * m68k.md (adddi3, subdi3): Properly negate the DImode constant. 773 774Sun May 24 11:30:08 1998 Torbjorn Granlund <tege@matematik.su.se> 775 776 * m68k/lb1sf68.asm (__addsf3): Fix typo in exg on coldfire. 777 778Sun May 24 09:38:17 1998 John Wehle (john@feith.com) 779 780 * i386.md (movsi): Remove redundant integer push patterns. 781 Don't check for TARGET_PUSH_MEMORY when pushing constants or registers. 782 783Sun May 24 08:59:27 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 784 785 * fold-const.c (fold, case EQ_EXPR): Split COMPLEX_TYPE operands 786 if either is COMPLEX_CST in addition to COMPLEX_EXPR. 787 788 * expr.c (do_jump, case EQ_EXPR, case NE_EXPR): Check for COMPLEX 789 before testing for operand 1 being zero. 790 791 * genattrtab.c (optimize): Define. 792 793 * configure.lang: Fix substitution of target_alias. 794 795Sat May 23 22:31:17 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz> 796 797 * emit_rtl.c (double_mode): New variable. 798 (init_emit_once): Set and use it. 799 * real.c (ereal_atof, real_value_truncate): Handle double_mode not 800 being DFmode for C4x. 801 802Sat May 23 22:19:55 1998 Mike Stump <mrs@wrs.com> 803 804 * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE. 805 * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define. 806 * i960.md (ret, flush_register_windows): Define. 807 (nonlocal_goto): Likewise. Nested function nonlocal gotos don't 808 work yet. 809 810Sat May 23 18:45:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 811 812 * m68k/t-linux: Remove stuff already included in config/t-linux. 813 814Sat May 23 18:35:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 815 816 * final.c: Select <stab.h> and "gstab.h" with NO_STAB_H. 817 818 * gcc.c (default_compilers): Remove ".ada" extension. 819 820 * combine.c (rtx_equal_for_field_assignment): Remove code that 821 checks get_last_value. 822 823 * Makefile.in (uninstall): Delete info files. 824 825Sat May 23 18:28:27 1998 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 826 827 * c-decl.c (start_decl): Use new macro SET_DEFAULT_DECL_ATTRIBUTES. 828 * c-lex.c (check_newline): Put last read character back on input 829 stream. 830 831Sat May 23 18:13:53 1998 David Edelsohn <edelsohn@mhpcc.edu> 832 833 * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be 834 negative in a stackless frame. 835 * rs6000.c (rs6000_stack_info): Don't include fixed-size link area 836 in stackless frame size. Support 64-bit stackless frame size. 837 Combine fpmem offset calculations and don't add total_size to 838 offset if not pushing a stack frame. 839 840 * tree.c (get_inner_array_type): New function. 841 * tree.h (get_inner_array_type): Likewise. 842 843Wed May 20 15:42:22 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 844 845 * expmed.c (expand_divmod): Save last divison constant and 846 if rem is same as div, don't adjust rem cost. 847 848Thu May 14 14:11:37 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 849 850 * alpha/vxworks.h: New file. 851 * configure.in (alpha*-*-vxworks*): New target. 852 853 * alpha.c (tree.h): Include earlier. 854 (alpha_initialize_trampoline): New function. 855 * alpha.h (INITIALIZE_TRAMPOLINE): Call it. 856 * alpha/linux.h (INITIALIZE_TRAMPOLINE): Don't redefine. 857 858Thu May 14 13:35:53 1998 Cyrille Comar <comar@gnat.com> 859 860 * Makefile.in (STAGESTUFF): Add s-under. 861 862Wed May 13 17:38:35 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 863 864 * combine.c (simplify_comparison, case AND): Don't commute AND 865 with SUBREG if constant is whole mode and don't do if lowpart 866 and not WORD_REGISTER_OPERATIONS. 867 868 * expmed.c (expand_mult): Use 0 as add_target if should preserve 869 subexpressions. 870 871Mon May 11 17:26:06 1998 Paul Eggert <eggert@twinsun.com> 872 873 * dwarf2out.c: Undo most recent change. 874 875Sun May 10 17:09:20 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 876 877 * fold-const.c (fold_range_test, fold): If need to make SAVE_EXPR 878 to do optimization, suppress if contains_placeholder_p. 879 880Thu May 7 18:14:31 Paul Eggert <eggert@twinsun.com> 881 882 * dwarf2out.c: Don't assume `.section ".text"' causes assembler to 883 treat .text as label for start of section; instead, output 884 `.section ".text"; .LLtext0:' and use .LLtext0 in label contexts. 885 (ABBREV_LABEL, DEBUG_INFO_LABEL, DEBUG_LINE_LABEL, TEXT_LABEL): New. 886 (abbrev_label, debug_info_label, debug_line_label, text_label): New. 887 (dwarf2out_init): Initialize the vars. Output defn for text_label. 888 (dwarf2out_finish): Output defns for the other 3 vars. 889 (dw_val_node): Rename val_section to val_section_label, as it's 890 now a label, not a section. 891 (add_AT_section_offset): Arg is now a label, not a section. 892 (print_die): In label contexts, output section label, not section. 893 (output_die, output_compilation_unit_header): Likewise. 894 (output_{pubnames,aranges,line_info}, dwarf2out_finish): Likewise. 895 896 * fixinc.wrap: Renamed from fixinc.math. Put wrapper around 897 curses.h if it contains `typedef char bool;'. 898 899 * configure.in (arm-*-netbsd*): Rename fixinc.math to fixinc.wrap. 900 (i[34567]86-*-freebsdelf*, i[34567]86-*-freebsd*): Likewise. 901 (i[34567]86-*-netbsd*, i[34567]86-*-solaris2*): Likewise. 902 (m68k-*-netbsd*, mips-dec-netbsd*, ns32k-pc532-netbsd*): Likewise. 903 (powerpcle-*-solaris2*, sparc-*-netbsd*, sparc-*-solaris2*): Likewise. 904 (vax-*-netbsd*): Likewie. 905 906Wed May 6 06:44:28 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 907 908 * combine.c (simplify_rtx, case TRUNCATE): Reflect that it sign-extends 909 instead of zero-extending. 910 911Sat May 2 20:39:22 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 912 913 * fold-const.c (fold): When commutting COND_EXPR and binary operation, 914 avoid quadratic behavior if have nested COND_EXPRs. 915 916Tue Apr 28 17:30:05 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 917 918 * mips.h (HOST_WIDE_INT): Define if not already. 919 (compute_frame_size, mips_debugger_offset): Return HOST_WIDE_INT. 920 (DEBUGGER_{AUTO,ARG}_OFFSET): Cast second arg to HOST_WIDE_INT. 921 * mips.c (mips_debugger_offset): Now returns HOST_WIDE_INT. 922 Likewise for internal variable frame_size. 923 924 * final.c (alter_subreg): Make new SUBREG if reload replacement 925 scheduled inside it. 926 927 * dwarf2out.c (add_bound_info, case SAVE_EXPR): Pass 928 SAVE_EXPR_RTL address through fix_lexical_addr. 929 930Mon Apr 27 18:57:18 1998 Jim Wilson <wilson@cygnus.com> 931 932 * mips/sni-svr4.h (CPP_PREDEFINES): Add -Dsinix and -DSNI. 933 934Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com> 935 936 * rs6000.md (mov{sf,df} define_splits): When splitting move of 937 constant to int reg, don't split insns that do simple AND and OR 938 operations; just split each word and let normal movsi define split 939 handle it further. 940 941Sun Apr 19 20:21:19 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz> 942 943 * real.h (C4X_FLOAT_FORMAT): New macro. 944 * real.c (c4xtoe, etoc4x, toc4x): New functions. 945 946Sun Apr 19 20:17:32 1998 Niklas Hallqvist <niklas@petra.appli.se> 947 948 * m68k.c (notice_update_cc): Use modified_in_p to check for update. 949 950Sun Apr 19 18:48:07 1998 K. Richard Pixley <rich@kyoto.noir.com> 951 952 * fixincludes: Discard empty C++ comments. 953 Special case more files with C++ comments nested in C comments. 954 955Sun Apr 19 18:30:11 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 956 957 * m68k.md ({add,sub}di3): Optimize for constant operand. 958 959Sun Apr 19 18:27:11 1998 Alan Modra <alan@spri.levels.unisa.edu.au> 960 961 * i386.c (output_387_binary_op): Swap operands when popping if result 962 is st(0). 963 964Sun Apr 19 17:58:01 1998 Peter Jeremy <peter.jeremy@alcatel.com.au> 965 966 * expr.c (do_jump_by_parts_equality_rtx): Now public. 967 * expmed.c (do_cmp_and_jump): New function. 968 (expand_divmod): Use do_cmp_and_jmp instead of emit_cmp_insn and 969 emit_jump_insn. 970 971Sun Apr 19 07:48:37 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 972 973 * c-typeck.c (build_c_cast): Check underlying type when seeing 974 if discarding const or volatile. 975 976 * c-decl.c (pushdecl): Avoid duplicate warning about implicit redecl. 977 978 * configure.in (stab.h): Check for it. 979 (i386-*-vsta): Include xm-i386.h too. 980 * dbxout.c (stab.h): Include based on autoconf results. 981 * vax/xm-vms.h (NO_STAB_H): Deleted. 982 * alpha/xm-vms.h, xm-mips.h, i386/xm-mingw32.h, i386/go32.h: Likewise. 983 * i386/xm-cygwin32.h: Likewise. 984 * i386/xm-vsta.h (NO_STAB_H): Likewise. 985 (i386/xm-i386.h): No longer include. 986 987 * mips.c: Cleanups and reformatting throughout. 988 ({expand,output}_block_move): Use HOST_WIDE_INT for sizes. 989 (mips_debugger_offset, compute_frame_size): Likewise. 990 (save_restore_insns, mips_expand_{pro,epi}logue): Likewise. 991 (siginfo): Deleted. 992 (override_options): Don't set up to call it; don't call setvbuf. 993 994Mon Apr 13 06:40:17 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 995 996 * configure.in (sparc-*-vxsim*): Include xm-siglist.h and 997 define USG and POSIX. 998 999Sun Apr 12 21:59:27 1998 Jeffrey A. Law <law@cygnus.com> 1000 1001 * calls.c (expand_call): Fix typo in STRICT_ARGUMENT_NAMING. 1002 1003Sun Apr 12 21:42:23 1998 D. Karthikeyan <karthik@cdotd.ernet.in> 1004 1005 * m68k.h (TARGET_SWITCHES): Add missing comma. 1006 1007Sun Apr 12 21:33:33 1998 Eric Valette <valette@crf.canon.fr> 1008 1009 * configure.in (i[34567]86-*-rtemself*): New configuration. 1010 * i386/rtemself.h: New file. 1011 1012Sun Apr 12 21:08:28 1998 Jim Wilson <wilson@cygnus.com> 1013 1014 * loop.c (loop_optimize): Reset max_uid_for_loop after 1015 find_and_verify_loops call. 1016 (strength_reduce): In auto_inc_opt code, verify v->insn has valid 1017 INSN_LUID. 1018 1019Sun Apr 12 20:54:59 1998 Richard Earnshaw (rearnsha@arm.com) 1020 1021 * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file. 1022 Add USG and POSIX to xm_defines. 1023 1024Sun Apr 12 20:47:37 1998 Pat Rankin <rankin@eql.caltech.edu> 1025 1026 * cccp.c (eprint_string): New function. 1027 (do_elif, do_else, verror): Use it instead of fwrite(,,,stderr). 1028 (error_from_errno, vwarning): Likewise. 1029 ({verror,vwarning,pedwarn}_with_line): Likewise. 1030 (pedwarn_with_file_and_line, print_containing_files): Likewise. 1031 1032Sun Apr 12 20:40:44 1998 Richard Henderson <rth@dot.cygnus.com> 1033 1034 * configure.in (alpha*-*-linux-gnu*): Add alpha/t-crtbe. 1035 Add crt{begin,end}.o in extra_parts and delete crt{begin,end}S.o.o 1036 * alpha/t-crtbe, alpha/crt{begin,end}.asm: New files. 1037 1038 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi. 1039 * alpha.c (print_operand): Handle it. 1040 * alpha.md (fix_trunc[ds]fdi2): Use it. Add earlyclobber pattern 1041 for ALPHA_TP_INSN. 1042 1043Sun Apr 12 13:09:46 1998 Scott Christley <scottc@net-community.com> 1044 1045 * objc/encoding.c (objc_sizeof_type, _C_VOID): New case. 1046 1047Sun Apr 12 13:04:55 1998 Nikolay Yatsenko (nikolay@osf.org) 1048 1049 * configure.in (i[34567]86-*-osf1*): New entry. 1050 * i386/osf1-c[in].asm: New files for OSF/1. 1051 * i386/osf1elf{,gdb}.h, i386/[xt]-osf1elf, i386/xm-osf1elf.h: Likewise. 1052 1053Sun Apr 12 10:03:51 1998 Noel Cragg <noel@red-bean.com> 1054 1055 * fixincludes: Remove specification of parameters when renaming 1056 functions in Alpha DEC Unix include files. 1057 1058Sun Apr 12 07:33:46 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1059 1060 * mips.c (large_int): Use HOST_WIDE_INT, not int. 1061 (print_operand): Use HOST_WIDE_INT_PRINT_* macros. 1062 1063 * toplev.c (main): Sort order of handling of -d letters. 1064 Use `F' instead of `D' for addressof_dump. 1065 1066 * libgcc2.c (_eh_compat): Deleted. 1067 * Makefile.in (LIB2FUNCS): Delete _eh_compat. 1068 1069 * configure.in (alpha*-*-linux-gnu*): Don't include alpha/xm-linux.h. 1070 1071 * c-common.c (check_format_info): Properly test for nested pointers. 1072 1073 * pa.md (casesi0): Add missing mode for operand 0. 1074 1075 * function.c (purge_addressof_1, case MEM): If BLKmode, put ADDRESSOF 1076 into stack. 1077 1078 * c-parse.in (label): Give warning if pedantic and label not integral. 1079 1080 * c-decl.c (grokdeclarator): Don't warn about return type if in 1081 system header. 1082 1083 * reload.c (reload_nongroup): New variable. 1084 (push{_secondary,}_reload): Initialize it. 1085 (find_reloads): Compute it. 1086 (debug_reload): Print it. 1087 * reload.h (reload_nongroup): Declare. 1088 * reload1.c (reload): Use reload_nongroup instead of local computation. 1089 Check caller_save_spill_class against any nongroup reloads. 1090 (reloads_conflict): No longer static. 1091 1092Sun Apr 12 05:52:18 1998 John David Anglin <dave@hiauly1.hia.nrc.ca> 1093 1094 * vax.md (call patterns): Operand 1 is always a CONST_INT. 1095 1096Sat Apr 11 16:01:11 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1097 1098 * convert.c (convert_to_{pointer,integer,real,complex}): Use switch. 1099 Add missing integer-like types. 1100 Simplify return of zero in error case. 1101 (convert_to_pointer): Remove dubious abort. 1102 (convert_to_integer, case POINTER_TYPE): Make recursive call. 1103 (convert_to_integer, case COND_EXPR): Always convert arms. 1104 * tree.c (type_precision): Deleted. 1105 1106 * cccp.c (do_warning): Give pedantic warning if -pedantic and not 1107 in system file. 1108 * cpplib.c (do_warning): Likewise. 1109 1110 * function.c (target_temp_slot_level): Define here. 1111 (push_temp_slots_for_target, {get,set}_target_temp_slot_level): New. 1112 * stmt.c (target_temp_slot_level): Don't define here. 1113 * expr.h (temp_slot_level): New declaration. 1114 1115Fri Apr 10 16:35:48 1998 Paul Eggert <eggert@twinsun.com> 1116 1117 * c-common.c (decl_attributes): Support strftime format checking. 1118 (record_function_format, {check,init_function}_format_info): Likewise. 1119 (enum format_type): New type. 1120 (record_function_format): Now static; takes value of type 1121 enum format_type instead of int. 1122 (time_char_table): New constant. 1123 (struct function_format_info): format_type member renamed from is_scan. 1124 (check_format_info): Use `warning' rather than sprintf followed by 1125 `warning', to avoid mishandling `%' in warnings. 1126 Change a `pedwarn' to `warning'. 1127 * c-tree.h (record_function_format): Remove decl. 1128 1129Thu Apr 2 17:34:27 1998 Manfred Hollstein <manfred@s-direktnet.de> 1130 1131 * regclass.c (memory_move_secondary_cost): Protect uses of 1132 SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS with #ifdef tests. 1133 1134Thu Apr 2 07:06:57 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 1135 1136 * m68k.c (standard_68881_constant_p): Don't use fmovecr on 68060. 1137 1138Thu Apr 2 06:19:25 1998 Ken Raeburn <raeburn@cygnus.com> 1139 1140 * Makefile.in (version.c): Put "cvs log" output in build directory. 1141 1142 * reload.h (MEMORY_MOVE_COST): Define here if not already defined. 1143 (memory_move_secondary_cost): Declare. 1144 * regclass.c (MEMORY_MOVE_COST): Don't define default here. 1145 (memory_move_secondary_cost) [HAVE_SECONDARY_RELOADS]: New function. 1146 (regclass, record_reg_classes, copy_cost, record_address_regs): 1147 Pass register class and direction of move to MEMORY_MOVE_COST. 1148 (top_of_stack) [HAVE_SECONDARY_RELOADS]: New static array. 1149 (init_regs) [HAVE_SECONDARY_RELOADS]: Initialize it. 1150 * reload1.c (MEMORY_MOVE_COST): Don't define default here. 1151 (emit_reload_insns, reload_cse_simplify_set): Pass register class 1152 and direction of move to MEMORY_MOVE_COST. 1153 * 1750a.h (MEMORY_MOVE_COST): Add extra ignored arguments. 1154 * a29k.h, alpha.h, arc.h, arm.h, dsp16xx.h, i386.h, m32r.h: Likewise. 1155 * m88k.h, rs6000.h: Likewise. 1156 * mips.h (MEMORY_MOVE_COST): Likewise. 1157 Add memory_move_secondary_cost result to cpu-specific cost. 1158 1159Mon Mar 30 13:56:30 1998 Jim Wilson <wilson@cygnus.com> 1160 1161 * mips/ultrix.h (SUBTARGET_CPP_SPEC): Define. 1162 1163Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com> 1164 1165 * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum direction. 1166 (function_arg_padding): Declare. 1167 1168 * rs6000.c: Include stdlib.h if we have it. 1169 (function_arg_padding): Change return type to int, cast enum's to int. 1170 1171 (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>) 1172 * rs6000.c (rs6000_override_options): Change type of `i', `j' and 1173 `ptt_size' from int to size_t. 1174 (rs6000_file_start): Likewise for `i'. 1175 (rs6000_replace_regno): Add default case in enumeration switch. 1176 (output_epilog): Remove unused variable `i'. 1177 (rs6000_longcall_ref): Remove unused variables `len', `p', `reg[12]'. 1178 1179 * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around 1180 initializer. 1181 (get_issue_rate, non_logical_cint_operand): Add prototype. 1182 (rs6000_output_load_toc_table): Likewise. 1183 1184 * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous 1185 `else'. 1186 1187Wed Mar 25 02:39:01 1998 Paul Eggert <eggert@twinsun.com> 1188 1189 * configure.in (i[34567]86-*-solaris2*, powerpcle-*-solaris2*, 1190 sparc-*-solaris2*): Use fixinc.svr4 if Solaris 2.0 through 2.4. 1191 1192Mon Mar 23 07:27:19 1998 Philippe De Muyter <phdm@macqel.be> 1193 1194 * m68k.md (ashldi_const): Allow shift count in range ]32,63]. 1195 (ashldi3): Allow constant shift count in range ]32,63]. 1196 (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise. 1197 1198 * m68k.md (zero_extend[qh]idi2, iordi_zext): New patterns. 1199 (zero_extendsidi2): Avoid useless copy. 1200 (iorsi_zexthi_ashl16): Avoid "0" constraint for operand 2. 1201 (iorsi_zext): New name for old unnamed pattern; indentation fixes. 1202 1203Mon Mar 23 07:12:05 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1204 1205 * final.c (only_leaf_regs_used): If pic_offset_table_rtx used, 1206 make sure it is a permitted register. 1207 1208Sun Mar 22 06:57:04 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1209 1210 * expmed.c (extract_bit_field): Don't confuse SUBREG_WORD with 1211 endian adjustment in SUBREG case. 1212 Don't abort if can't make SUBREG needed for extv/extzv. 1213 1214Sat Mar 21 08:02:17 1998 Richard Gorton <gorton@amt.tay1.dec.com> 1215 1216 * alpha.md (zero_extendqi[hsd]i2): Use "and", not "zapnot". 1217 1218Sat Mar 21 07:47:04 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1219 1220 * unroll.c (verify_addresses): Use validate_replace_rtx. 1221 (find_splittable_givs): If invalid address, show nothing same_insn. 1222 1223Fri Mar 20 10:24:12 1998 Philippe De Muyter <phdm@macqel.be> 1224 1225 * fold-const.c (fold, case CONVERT_EXPR): Replace sign-extension of 1226 a zero-extended value by a single zero-extension. 1227 1228Thu Mar 19 14:59:32 1998 Andrew Pochinsky <avp@ctp.mit.edu> 1229 1230 * sparc.h (ASM_OUTPUT_LOOP_ALIGN): Fix error in last change. 1231 1232Thu Mar 19 14:48:35 1998 Michael Meissner <meissner@cygnus.com> 1233 1234 * gcc.c (default_arg): Don't wander off the end of allocated memory. 1235 1236 * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V 1237 and EABI. 1238 1239Thu Mar 19 06:17:59 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1240 1241 * Makefile.in (toplev.o): Depend on Makefile. 1242 1243Wed Mar 18 17:40:09 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz> 1244 1245 * expr.c (convert_move): Add [QH]Imode/P[QH]Imode conversions. 1246 * machmode.def (PQImode, PHImode): New modes. 1247 1248Wed Mar 18 17:11:18 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 1249 1250 * m68k.md (movsf+1): Optimize moving a CONST_DOUBLE zero. 1251 1252Wed Mar 18 17:07:54 1998 Ken Raeburn <raeburn@cygnus.com> 1253 1254 * regclass.c (init_reg_sets): Delete init of reg-move cost tables. 1255 (init_reg_sets_1): Put it here. 1256 1257Wed Mar 18 16:43:11 1998 Jim Wilson <wilson@cygnus.com> 1258 1259 * i960.md (tablejump): Handle flag_pic. 1260 1261 * profile.c (branch_prob): If see computed goto, call fatal. 1262 1263 * calls.c (expand_call): Fix typos in n_named_args computation. 1264 1265Wed Mar 18 05:54:25 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1266 1267 * fold-const.c (operand_equal_for_comparison_p): See if equal 1268 when nop conversions are removed. 1269 1270 * expr.c (expand_expr, case COND_EXPR): If have conditional move, 1271 don't use ORIGINAL_TARGET unless REG. 1272 1273 * function.c (fixup_var_refs_insns): Also delete insn storing pseudo 1274 back into arg list. 1275 1276 * combine.c (gen_binary): Don't make AND that does nothing. 1277 (simplify_comparison, case AND): Commute AND and SUBREG. 1278 * i386.h (CONST_CONSTS, case CONST_INT): One-byte integers are cost 0. 1279 1280Mon Mar 16 15:57:17 1998 Geoffrey Keating <geoffk@ozemail.com.au> 1281 1282 * rs6000.c (small_data_operand): Ensure any address referenced 1283 relative to small data area is inside SDA. 1284 1285Sun Mar 15 16:01:19 1998 Andrew Pochinsky <avp@ctp.mit.edu> 1286 1287 * sparc.h (ASM_OUTPUT_LOOP_ALIGN): Write nop's. 1288 1289Sun Mar 15 15:53:39 1998 Philippe De Muyter <phdm@macqel.be> 1290 1291 * libgcc2.c (exit): Don't call __bb_exit_func if HAVE_ATEXIT. 1292 1293Sun Mar 15 15:44:41 1998 Paul Eggert <eggert@twinsun.com> 1294 1295 * cccp.c: Fix bugs relating to NUL in input file name, 1296 e.g. with `#line 2 "x\0y"'. 1297 (PRINTF_PROTO_4): New macro. 1298 (struct {file_buf,definition,if_stack}): New member nominal_fname_len. 1299 (main, expand_to_temp_buffer): Store length of input file names. 1300 (finclude, create_definition, do_line, conditional_skip): Likewise. 1301 (skip_if_group, macroexpand): Likewise. 1302 (make_{definition,undef,assertion}): Likewise. 1303 (special_symbol, do_include): Use stored length of input file names. 1304 (do_define, do_elif, do_else, output_line_directive, verror): Likewise. 1305 (error_from_errno, vwarning, verror_with_line): Likewise. 1306 (vwarning_with_line, pedwarn_with_file_and_line): Likewise. 1307 (print_containing_files): Likewise. 1308 (do_line): Fix off-by-1 problem: 1 too many bytes were being allocated. 1309 (quote_string, pedwarn_with_file_and_line): New arg specifies length. 1310 All callers changed. 1311 1312Sun Mar 15 15:38:16 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 1313 1314 * c-typeck.c: Collect pending initializers in AVL tree instead of list. 1315 (add_pending_init, pending_init_member): New functions. 1316 (output_init_element): Use them. 1317 (output_pending_init_elements): Rewritten to exploit AVL order. 1318 1319Sun Mar 15 05:10:49 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1320 1321 * gnu.h (GNU_CPP_PREDEFINES): Deleted; not valid in traditional C. 1322 * {i386,mips}/gnu.h (CPP_PREDEFINES): Don't call GNU_CPP_PREDEFINES. 1323 1324 * flow.c (insn_dead_p): A CLOBBER of a dead pseudo is dead. 1325 1326 * alpha.h (REG_ALLOC_ORDER): Put $f1 after other nonsaved. 1327 1328 * sparc.c (sparc_type_code): Fix error in previous change. 1329 1330Sat Mar 14 05:45:21 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1331 1332 * i386/xm-aix.h, i386/xm-osf.h (i386/xm-i386.h): Don't include. 1333 (USG): Don't define. 1334 * i386/xm-isc.h (i386/xm-sysv3.h): Don't include. 1335 * i386/xm-sco.h (i386/xm-sysv3.h): Likewise. 1336 (BROKEN_LDEXP, SMALL_ARG_MAX, NO_SYS_SIGLIST): Don't define. 1337 * m68k/xm-3b1.h (m68k/xm-m68k.h): Don't include. 1338 (USG): Don't define. 1339 * m68k/xm-atari.h (m68k/xm-m68kv.h): Don't include. 1340 (HAVE_VPRINTF, FULL_PROTOTYPES): Don't define. 1341 * m68k/xm-crds.h (m68k/xm-m68k.h): Don't include. 1342 (USE_C_ALLOCA, unos, USG): Don't define. 1343 * m68k/xm-mot3300.h (m68k/xm-m68k.h): Don't include. 1344 (USE_C_ALLOCA, NO_SYS_SIGLIST): Don't define. 1345 * m68k/xm-plexus.h (m68k/xm-m68k.h): Don't include. 1346 (USE_C_ALLOCA, USG): Don't define. 1347 * m88k/xm-sysv3.h (m88k/xm-m88k.h): Don't include. 1348 * m68k/xm-next.h (m68k/xm-m68k.h): Don't include. 1349 * ns32k/xm-pc532-min.h (ns32k/xm-ns32k.h): Don't include. 1350 (USG): Don't define. 1351 * rs6000/xm-mach.h: Don't include xm-rs6000.h. 1352 * rs6000/xm-cygwin32.h (rs6000/xm-rs6000.h): Don't include. 1353 (NO_STAB_H): Don't define. 1354 * sparc/xm-linux.h (xm-linux.h): Don't include. 1355 * sparc/xm-sol2.h (sparc/xm-sysv4.h): Don't include. 1356 * a29k/xm-unix.h, alpha/xm-linux.h, arm/xm-linux.h: Deleted. 1357 * arm/xm-netbsd.h, i386/xm-bsd386.h, i386/xm-gnu.h: Deleted. 1358 * i386/xm-linux.h, i386/xm-sun.h, i386/xm-sysv3.h: Deleted. 1359 * i386/xm-winnt.h, m68k/xm-altos3068.h, m68k/xm-amix.h: Deleted. 1360 * m68k/xm-amix.h, m68k/xm-hp320.h, m68k/xm-linux.h: Deleted. 1361 * m68k/xm-m68kv.h, mips/xm-iris5.h, ns32k/xm-genix.h: Deleted. 1362 * sparc/xm-pbd.h, vax/xm-vaxv.h, xm-svr3.h, xm-linux.h: Deleted. 1363 * configure.in: Reflect above changes. 1364 1365 * xm-siglist.h, xm-alloca.h: New files. 1366 * i386/xm-sysv4.h (i386/xm-i386.h, xm-svr4.h): Don't include. 1367 (USE_C_ALLOCA, SMALL_ARG_MAX): Don't define. 1368 * i386/xm-sco5.h (i386/xm-sysv3.h): Don't include. 1369 (SYS_SIGLIST_DECLARED, USE_C_ALLOCA): Don't define. 1370 * rs6000/xm-sysv4.h, sparc/xm-sysv4.h: Don't include xm-svr4.h. 1371 * xm-svr4.h, i386/xm-dgux.h, mips/xm-news.h, mips/xm-sysv4.h: Deleted. 1372 * configure.in: Reflect above changes. 1373 1374 * configure.in ({,host_,build_}xm_defines): New variables. 1375 Set to USG instead of including xm-usg.h. 1376 Write #define lines in config.h files from xm_defines vars. 1377 * xm-usg.h: Deleted. 1378 1379Fri Mar 13 07:10:59 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1380 1381 * calls.c (expand_call): Fix typo in previous change. 1382 1383 * sparc.c (sparc_type_code): Avoid infinite loop when have 1384 pointer to array of same pointer. 1385 (sparc_type_code, case REAL_TYPE): Process subtypes here too. 1386 1387 * mips/bsd-4.h, mips/iris3.h, mips/news{4,5}.h: Don't include mips.h. 1388 * mips/news5.h, mips/osfrose.h, mips/svr{3,4}-4.h: Likewise. 1389 * mips/ultrix.h: Likewise. 1390 * mips/cross64.h: Don't include iris6.h. 1391 * mips/ecoff.h: Don't include mips.h or gofast.h. 1392 * mips/elforion.h: Don't include elf64.h. 1393 * mips/iris4.h: Don't include iris3.h. 1394 * mips/iris4loser.h: Don't include iris4.h. 1395 * mips/iris5gas.h: Don't include iris5.h. 1396 * mips/elflorion.h, mips/nws3250v4.h, mips/xm-iris{3,4}.h: Deleted. 1397 * mips/xm-nws3250v4.h, mips/xm-sysv.h: Deleted. 1398 * mips/rtems64.h: Don't include elflorion.h. 1399 * mips/sni-gas.h: Don't include sni-svr4.h. 1400 * mips/svr4-t.h: Don't include svr4-5.h. 1401 * mips/dec-osf1.h: Also include mips.h. 1402 * mips/ecoffl.h, mips/elf.h: Also include mips.h and gofast.h. 1403 * mips/iris5.h: Also include iris3.h and mips.h. 1404 * xm-usg.h: New file. 1405 * mips/xm-iris5.h: Don't include xm-mips.h; don't define USG. 1406 * mips/xm-news.h, mips/xm-sysv4.h: Don't include xm-sysv.h. 1407 * configure.in: Reflect above changes. 1408 1409Thu Mar 12 07:18:48 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1410 1411 * expr.h (STRICT_ARGUMENT_NAMING): Provide default value of 0. 1412 * calls.c (expand_call): Use value of STRICT_ARGUMENT_NAMING. 1413 * function.c (assign_parm): Likewise. 1414 * mips/abi64.h (STRICT_ARGUMENT_NAMING): Return 0 for ABI_32. 1415 * sparc.h (STRICT_ARGUMENT_NAMING): Only nonzero for V9. 1416 1417 * calls.c (expand_call, expand_library_call{,_value}, store_one_arg): 1418 Rework handling of REG_PARM_STACK_SPACE to treat return value of 1419 zero as if macro not defined; add new arg to emit_push_insn. 1420 * expr.c (emit_push_insn): New arg, REG_PARM_STACK_SPACE. 1421 * expr.h (emit_push_insn): Likewise. 1422 * mips/abi64.h (REG_PARM_STACK_SPACE): Define. 1423 1424Wed Mar 11 06:58:13 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 1425 1426 * m68k.h (CONST_OK_FOR_LETTER_P, case 'M'): Correct range check. 1427 1428Wed Mar 11 06:15:52 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1429 1430 * expr.c (emit_push_insn): Use loop to find movstr patterns 1431 instead of explicit tests. 1432 1433 * Makefile.in (extraclean): Don't delete install1.texi. 1434 1435Tue Mar 10 14:27:51 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1436 1437 * combine.c (make_field_assignment): Don't get confused if OTHER 1438 has VOIDmode and don't do anything if DEST is wider than a host word. 1439 1440 * vax.c (check_float_value): Cast bcopy args to char *. 1441 1442Tue Mar 10 13:56:12 1998 Jim Wilson <wilson@cygnus.com> 1443 1444 * mips/abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and 1445 TARGET_DEFAULT and define __LONG_MAX__ appropriately. 1446 Add support for -mabi=X, -mlong64, and -mgp{32,64} options. 1447 * mips.c (mips_abi): Change type to int. 1448 * mips.h (enum mips_abi_type): Delete. 1449 (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants. 1450 (mips_abi): Change type to int. 1451 1452Mon Mar 2 08:06:58 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1453 1454 * Version 2.8.1 released. 1455 1456 * Makefile.in (mostlyclean): Remove duplicate deletion of temp 1457 files. Delete more stamp files and [df]p-bit.c 1458 (clean): Don't delete stamp files here. 1459 (VERSION_DEP): New variable. 1460 (distdir-finish): Pass a value of null for it. 1461 (version.c): Use it. 1462 Avoid broken pipe with cvs log. 1463 1464 * objc/Make-lang.in (objc/runtime-info.h): Rename emptyfile to 1465 tmp-runtime and delete at end. 1466 1467Sun Mar 1 05:50:25 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1468 1469 * tree.c (build_reference_type): Handle obstacks like 1470 build_pointer_type. 1471 1472 * Makefile.in (tmp-gcc.xtar): Renamed from gcc.xtar. 1473 (gcc.xtar.gz): Deleted; merged with `dist'. 1474 (diff): Create gcc-$(oldversion)-$(version).diff. 1475 (distdir): Depend on distdir-cvs. 1476 (distdir-cvs): New rule. 1477 (distdir-start): Depend on version.c and TAGS. 1478 (TAGS): Use tmp-tags instead of temp. 1479 (dist): Create gcc-$(version).tar.gz. 1480 1481 * varasm.c (compare_constant_1): Fix typo in previous change. 1482 1483 * objc/Make-lang.in (objc-distdir): Properly rebuild objc-parse.c. 1484 1485Sat Feb 28 16:58:08 1998 Tristan Gingold <gingold@rossini.enst.fr> 1486 1487 * stmt.c (expand_decl): If -fcheck-memory-usage, put vars in memory. 1488 * expr.c (get_memory_usage_from_modifier): Convert 1489 EXPAND_{CONST_ADDRESS, INITIALIZER} to MEMORY_USE_DONT. 1490 1491Sat Feb 28 08:13:43 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1492 1493 * i860/fx2800.h (DATA_ALIGNMENT): Use POINTER_TYPE_P. 1494 * m68k/a-ux.h (FUNCTION_VALUE): Likewise. 1495 * expr.c (get_pointer_alignment, compare, do_store_flag): Likewise. 1496 (expand_builtin): Likewise. 1497 * fold-const.c (force_fit_type, fold_convert, fold): Likewise. 1498 * function.c (assign_parms): Likewise. 1499 * integrate.c (expand_inline_function): Likewise. 1500 * sdbout.c (sdbout_field_types): Likewise. 1501 * tree.c (integer_pow2p, tree_log2, valid_machine_attribute): Likewise. 1502 * stmt.c (expand_decl): Likewise. 1503 ({,bc_}expand_decl_init): Also test for REFERENCE_TYPE. 1504 1505 * configure.in (version_dep): New variable; if srcdir is CVS working 1506 directory, set to ChangeLog. 1507 (version): Supply default if no version.c. 1508 * Makefile.in (version.c): New rule. 1509 1510 * gcc.c (snapshot_warning): New function. 1511 (main): Call it for snapshots. 1512 1513 * dwarf2out.c (expand_builtin_dwarf_reg_size): If reg_raw_mode 1514 not valid for reg, use last size. Also refine range assertion. 1515 1516Sat Feb 28 05:04:47 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz> 1517 1518 * enquire.c (cprop): Don't perform exhaustive search for char_min 1519 and char_max when bits_per_byte > 16. 1520 1521Thu Feb 26 15:12:03 1998 Christopher Taylor <cit@ckshq.com> 1522 1523 * fixincludes: Avoid using '0-~' in egrep. 1524 1525Thu Feb 26 08:04:05 1998 Tristan Gingold <gingold@messiaen.enst.fr> 1526 1527 * function.c (assign_parms): Call 'chkr_set_right' when DECL_RTL 1528 is stack_parm. 1529 * expr.c (get_memory_usage_from_modifier): Convert 1530 EXPAND_{SUM, CONST_ADDRESS, INITIALIZER} to MEMORY_USE_RO. 1531 1532Thu Feb 26 07:33:53 1998 Paul Eggert <eggert@twinsun.com> 1533 1534 * c-lex.c (yylex): Don't munge errno before using it. 1535 * cccp.c (error_from_errno, perror_with_name): Likewise. 1536 * cpplib.c (cpp_error_from_errno): Likewise. 1537 * gcc.c (pfatal_pexecute): Likewise. 1538 * protoize.c (safe_write, find_file, process_aux_info_file): Likewise. 1539 (rename_c_file, edit_file): Likewise. 1540 1541 * c-lex.c (yylex): Remove unused variable exceeds_double. 1542 1543Thu Feb 26 07:05:14 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz> 1544 1545 * reorg.c (fill_slots_from_thread): Don't steal delay list from target 1546 if condition code of jump conflicts with opposite_needed. 1547 1548Thu Feb 26 06:45:23 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1549 1550 * Makefile.in (distdir-start): Don't copy CVS subdirectory of config. 1551 1552 * varasm.c ({compare,record}_constant_1, case CONSTRUCTOR): 1553 Handle the case when we have TREE_PURPOSE values. 1554 1555Thu Feb 26 05:59:01 1998 Philippe De Muyter <phdm@macqel.be> 1556 1557 * fixincludes (sys/limits.h): Fix a nested comment problem with 1558 HUGE_VAL definition on sysV68 R3V7.1. 1559 1560Wed Feb 25 21:09:38 1998 Philippe De Muyter <phdm@macqel.be> 1561 1562 * toplev.c (TICKS_PER_SECOND): Renamed from CLOCKS_PER_SECOND. 1563 1564Wed Feb 25 20:50:08 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz> 1565 1566 * reorg.c (fill_slots_from_thread): Mark resources referenced in 1567 opposite_needed thread. Return delay_list even when cannot get 1568 any more delay insns from end of subroutine. 1569 1570Wed Feb 25 19:50:01 1998 Mikael Pettersson <Mikael.Pettersson@sophia.inria.fr> 1571 1572 * gcc.c (lookup_compiler): Remove redundant test. 1573 1574Wed Feb 25 07:24:22 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1575 1576 * vax.md (call insns): Second operand to CALL rtl is SImode. 1577 1578 * configure.in (i[34567]86-*-mingw32): Support msv and crt suffix. 1579 * i386/crtdll.h: New file. 1580 1581 * sparc.c (pic_setup_code): If -O0, write USE of pic_offset_table_rtx. 1582 1583 * expr.c (safe_from_p): Add new arg, TOP_P; all callers changed. 1584 1585Sat Feb 21 07:02:39 1998 Jim Wilson <wilson@cygnus.com> 1586 1587 * mips/iris5.h (DWARF2_UNWIND_INFO): Define to 0. 1588 * mips/iris5gas.h (DWARF2_UNWIND_INFO): Define to 1. 1589 1590Fri Feb 20 08:27:46 1998 Paul Eggert <eggert@twinsun.com> 1591 1592 * sparc/sol2-sld.h: New file. 1593 * configure.in (sparc-*-solaris2*): Use it when using system linker. 1594 * toplev.c (main): Don't default to DWARF2_DEBUG with -ggdb 1595 if LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined. 1596 1597Fri Feb 20 08:21:49 1998 H.J. Lu (hjl@gnu.org) 1598 1599 * alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Support shared library. 1600 (LIB_SPEC, DEFAULT_VTABLE_THUNKS): Defined #ifndef USE_GNULIBC_1. 1601 * sparc/linux.h (DEFAULT_VTABLE_THUNKS): Likewise. 1602 (LIB_SPEC): Add -lc for -shared #ifndef USE_GNULIBC_1. 1603 * linux.h (LIB_SPEC): Likewise. 1604 * sparc/linux64.h (LIB_SPEC): Likewise; also updated for glibc 2. 1605 (LIBGCC_SPEC): Removed. 1606 (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}. 1607 1608Fri Feb 20 05:22:12 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1609 1610 * Makefile.in (distdir-start): Add dependence on bi-parser.[ch]. 1611 1612Thu Feb 19 18:07:11 1998 Jim Wilson <wilson@cygnus.com> 1613 1614 * m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881. 1615 For 68303, 68332, cpu32, subtract MASK_68040_ONLY. 1616 1617Wed Feb 18 09:37:29 1998 Paul Eggert <eggert@twinsun.com> 1618 1619 * fixincludes (stdlib.h): Do not double-wrap the size_t typedef. 1620 1621Wed Feb 18 07:32:11 1998 Jim Wilson <wilson@cygnus.com> 1622 1623 * i960.c (emit_move_sequence): Handle unaligned stores to pseudos. 1624 * i960.md (store_unaligned_[dt]i_reg): Handle register dest. 1625 (store_unaligned_ti_reg): Likewise. 1626 1627 * m68k.h (MACHINE_STATE_{SAVE,RESTORE} [MOTOROLA]): Add %# and %/; 1628 add : to make them into extended asms. 1629 1630Wed Feb 18 07:08:05 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1631 1632 * reg-stack.c (compare_for_stack_reg): Only handle FP conditional 1633 move as next insn specially. 1634 1635 * reload.c (find_reloads): Always convert address reload for 1636 non-reloaded operand to RELOAD_FOR_OPERAND_ADDRESS. 1637 1638 * emit-rtl.c (hard-reg-set.h): Include. 1639 (get_lowpart_common): Don't make new REG for hard reg in a 1640 class that cannot change size. 1641 * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h. 1642 1643Sat Feb 14 09:59:00 1998 Richard Earnshaw (rearnsha@arm.com) 1644 1645 * arm.md (movsfcc): Also validate operands[3] for hard float. 1646 (movdfcc): Only accept fpu_add_operand for operands[3].8 1647 1648Sat Feb 14 09:32:34 1998 Jim Wilson <wilson@cygnus.com> 1649 1650 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode. 1651 Convert CCmode to word_mode before calling GET_MODE_SIZE. 1652 1653Sat Feb 14 09:27:42 1998 David Edelsohn <edelsohn@mhpcc.edu> 1654 1655 * rs6000.h (MY_ISCOFF): Check for U803XTOCMAGIC. 1656 1657Sat Feb 14 08:29:43 1998 Arvind Sankar <arvind@cse.iitb.ernet.in> 1658 1659 * t-svr4 (TARGET_LIBGCC_CFLAGS): New definition. 1660 1661Sat Feb 14 07:45:16 1998 Ken Rose (rose@acm.org) 1662 1663 * reorg.c (fill_slots_from_thread): New parameter, delay_list. 1664 All callers changed. 1665 1666Sat Feb 14 07:14:02 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1667 1668 * reload.c (debug_reload): Properly output insn codes. 1669 1670 * pa.c (emit_move_sequence): If in reload, call find_replacement. 1671 1672 * gansidecl.h (bcopy, bzero, {,r}index): Don't define if IN_LIBGCC2. 1673 1674 * combine.c (distribute_notes, case REG_DEAD): When seeing if place 1675 to put new note sets register, use reg_bitfield_target_p, as in 1676 original code. 1677 1678 * gcc.c (process_command): If file is for linker, set lang to "*". 1679 (lookup_compiler): Return 0 for language of "*". 1680 1681 * sched.c (attach_deaths, case SUBREG): Fix error in last change. 1682 1683 * i386.md (mov[sdx]fcc): Disable for now. 1684 (mov[sd]fcc_1): Add earlyclobber for output on last alternative. 1685 1686Sat Feb 14 06:42:50 1998 Jason Merrill <jason@yorick.cygnus.com> 1687 1688 * except.c (get_dynamic_handler_chain): Only make call once per func. 1689 (expand_fixup_region_{start,end}): New functions. 1690 (expand_eh_region_start_tree): Store cleanup into finalization here. 1691 * stmt.c (expand_cleanups): Use new functions to protect fixups. 1692 1693 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL. 1694 * optabs.c (init_optabs): Don't init get_dynamic_handler_chain_libfunc. 1695 * expr.h (get_dynamic_handler_chain_libfunc): Deleted. 1696 1697Sat Feb 14 06:34:41 1998 Peter Lawrence <Peter.Lawrence@Eng.Sun.COM> 1698 1699 * optabs.c (emit_conditional_move): Don't reverse condition for FP. 1700 1701Fri Feb 13 07:22:04 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1702 1703 * Makefile.in (mostlyclean): Only use s-* convention for stamp 1704 files in main dir. 1705 1706 * configure.in: Add support for i786 (Pentium II); same as i686. 1707 1708Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com> 1709 1710 * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT. 1711 1712Thu Feb 12 10:08:14 1998 John Hassey <hassey@dg-rtp.dg.com> 1713 1714 * configure.in (i[3456]86-dg-dgux*): Don't need fixincludes. 1715 1716Thu Feb 12 07:27:39 1998 Mumit Khan <khan@xraylith.wisc.edu> 1717 1718 * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Define. 1719 about system headers. 1720 (LIB_SPEC): Add -ladvapi32 -lshell32. 1721 1722Thu Feb 12 07:19:31 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1723 1724 * expr.c (expand_assignment): Fix typo in checking OFFSET. 1725 1726 * gbl-ctors.h (atexit): Don't define unless needed. 1727 1728 * combine.c (distribute_notes): Completely check for note operand being 1729 only partially set on potential note target; adjust what notes 1730 we make in that case. 1731 1732 * i386/xm-go32.h (HAVE_{BCOPY,BZERO,INDEX,RINDEX}): Deleted. 1733 1734Wed Feb 11 08:53:27 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1735 1736 * calls.c (emit_call_1): Size args now HOST_WIDE_INT. 1737 (expand_call): struct_value_size now HOST_WIDE_INT. 1738 1739Tue Feb 10 09:04:39 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1740 1741 * integrate.c (initialize_for_inline): Ensure DECL_INCOMING_RTL 1742 is always copied. 1743 1744Tue Feb 10 06:10:49 1998 Paul Eggert <eggert@twinsun.com> 1745 1746 * cccp.c (rescan): Fix bug with macro name appearing 1747 immediately after L'x'. 1748 1749Mon Feb 9 20:45:32 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 1750 1751 * c-common.c (format_char_info): Add new field zlen. 1752 (print_char_table): Remove entry for 'Z' as a format character. 1753 Initialize zlen field as appropriate. 1754 (scan_char_table): Set zlen field to NULL in each entry. 1755 (check_format_info): Recognize 'Z' as a length modifier, with a 1756 warning in pedantic mode. 1757 Avoid infinite loop when a repeated flag character is detected. 1758 1759Mon Feb 9 09:24:04 1998 Paul Eggert <eggert@twinsun.com> 1760 1761 * c-parse.in (primary): Minor wording fix in diagnostic. 1762 1763Mon Feb 9 07:50:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1764 1765 * c-decl.c (grokdeclarator): Remove warning on inline of varargs. 1766 1767 * reload.c (find_reloads): Check for const_to_mem case before 1768 checking for invalid reload; use force_const_mem if no_input_reloads. 1769 1770 * function.c (push_function_context_to): Call init_emit last. 1771 1772 * protoize.c (my_link): Define as -1 in mingw32. 1773 (link): Remove declaration. 1774 1775 * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p. 1776 1777 * integrate.c (expand_inline_function): Clear label_map with bzero. 1778 1779 * unroll.c (copy_loop_body, case JUMP_INSN): Correct error in last 1780 change: call single_set on COPY, not INSN. 1781 1782Sun Feb 8 08:07:37 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1783 1784 * msdos/top.sed, winnt/config-nt.sed: Change version number to 2.8.1. 1785 1786 * configure.in (i[3456]86-*-sco3.2v5*): Use cpio for headers. 1787 1788Sat Feb 7 07:32:46 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1789 1790 * i386/mingw32.h (LIBGCC_SPEC, STARTFILE_SPEC, MATH_LIBRARY): 1791 Use msvcrt, not crtdll. 1792 1793Fri Feb 6 20:32:06 1998 Geert Bosch <bosch@gnat.com> 1794 1795 * i386/xm-os2.h (EMX, USG, BSTRING, HAVE_{PUTENV,VPRINTF,STRERROR}): 1796 Define ifdef __EMX__. 1797 (strcasecmp): Define to be stricmp if __EMX__. 1798 (spawnv{,p}): Don't define if EMX. 1799 (OBJECT_SUFFIX): Don't define if EMX. 1800 (MKTEMP_EACH_FILE): Define. 1801 1802Fri Feb 6 16:37:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 1803 1804 * objc/Make-lang.in (objc.stage1): Depend on stage1-start. 1805 (objc.stage2, objc.stage3, objc.stage4): Likewise for the 1806 respective stageN-start targets. 1807 (objc/sendmsg.o): Depend on objc/runtime-info.h. 1808 1809Fri Feb 6 16:27:09 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE> 1810 1811 * stmt.c (expand_asm_operands): Properly treat asm statement 1812 statements with no operands as volatile. 1813 1814Fri Feb 6 16:03:25 1998 Greg McGary <gkm@gnu.org> 1815 1816 * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only. 1817 1818Fri Feb 6 15:57:36 1998 Mumit Khan <khan@xraylith.wisc.edu> 1819 1820 * i386/cygwin32.h (STRIP_NAME_ENCODING): New macro. 1821 1822Fri Feb 6 15:50:42 1998 Paul Eggert <eggert@twinsun.com> 1823 1824 * libgcc2.c (__floatdi[xtds]f): Round properly even when rounding 1825 large negative integer to plus or minus infinity. 1826 1827Fri Feb 6 15:45:16 1998 Philippe De Muyter <phdm@macqel.be> 1828 1829 * sdbout.c (plain_type_1): Return T_DOUBLE, not T_VOID, for 1830 long double #ifndef EXTENDED_SDB_BASIC_TYPES. 1831 1832Fri Feb 6 15:23:49 1998 John David Anglin <dave@hiauly1.hia.nrc.ca> 1833 1834 * vax/ultrix.h (HAVE_ATEXIT): Define. 1835 * x-vax: File deleted. 1836 1837Fri Feb 6 14:34:19 1998 Douglas Rupp <rupp@gnat.com> 1838 1839 * gcc.c (process_command, case "-dumpversion"): Print spec_version. 1840 1841Fri Feb 6 11:01:13 1998 Josh Littlefield <josh@american.com> 1842 1843 * i386/gmon-sol2.c (internal_mcount): Do set-up when program starts 1844 and install hook to do clean-up when it exits. 1845 * i386/sol2-c1.asm (_mcount): Make a weak instead of global symbol. 1846 * i386/sol2dbg.h (ASM_SPEC): Support Solaris bundled assembler's -V 1847 argument; pass -s argument to assembler. 1848 1849Fri Feb 6 09:13:21 1998 Jim Wilson (wilson@cygnus.com) 1850 1851 * function.c (assign_parms): New variable named_arg, with value 1852 depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named. 1853 1854 * crtstuff.c (__frame_dummy): New function for irix6. 1855 (__do_global_ctors): Call __frame_dummy for irix6. 1856 * mips/iris6.h (LINK_SPEC): Hide __frame_dummy too. 1857 1858Fri Feb 6 09:08:21 1998 Mike Stump <mrs@wrs.com> 1859 1860 * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after reload. 1861 * genattrtab.c (reload_completed): Define. 1862 1863 * configure.in (i960-wrs-vxworks): Same as i960-wrs-vxworks5*. 1864 1865Fri Feb 6 08:47:38 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1866 1867 * Makefile.in (diff): Add INSTALL, configure, and config.in; 1868 remove objc-*. 1869 * objc/config-lang.in (diff_excludes): Add objc-parse.[cy]. 1870 1871 * i386/xm-mingw32.h (link): Delete macro. 1872 1873 * alpha.c (output_prolog): Write out frame sizes as longs and 1874 print too large sizes as zero. 1875 1876 * function.c (combine_temp_slots): No need to allocate and free rtx. 1877 Don't do anything if too many slots in the list. 1878 (put_var_into_stack): Don't use ADDRESSOF if not optimizing. 1879 1880 * function.c (purge_addressof_1): Force into mem if VOLATILE reference. 1881 1882 * calls.c (expand_call): Show VAR_DECL made for structure return 1883 address is used; remove bogus set of MEM_IN_STRUCT_P. 1884 * expr.c (expand_expr, case SAVE_EXPR, case TARGET_EXPR): Show used. 1885 (expand_builtin, case BUILT_IN_LONGJMP): Show __dummy used. 1886 * function.c (put_reg_into_stack): New arg USED_P; all callers changed. 1887 1888 * expr.c (expand_expr, case SAVE_EXPR): assign_temp with KEEP of 3. 1889 * function.c (var_temp_slot_level): New variable. 1890 (push_function_context_to, pop_function_context_from): Save/restore 1891 it and target_temp_slot_level. 1892 (assign_stack_temp): Implement KEEP of 3. 1893 (push_temp_slots_for_block): New function. 1894 (init_temp_slots): Initialize var_temp_slot_level. 1895 * function.h (struct function, fields {var,target}_temp_slot_level): 1896 New fields. 1897 * stmt.c (expand_start_bindings): Call push_temp_slots_for_block. 1898 1899 * function.c (struct temp_slot): SIZE, BASE_OFF_SET, and FULL_SIZE 1900 now HOST_WIDE_INT. 1901 (assign_{,outer_}stack_local, assign_{,stack_}temp): Size arg is 1902 now HOST_WIDE_INT. 1903 (assign_stack_temp): Do size computations in HOST_WIDE_INT. 1904 (fixup_var_refs_1, optimize_bit_field, instantiate_decls): Likewise. 1905 (instantiate_virtual_regs_1, fix_lexical_address): Likewise. 1906 * rtl.h (assign_stack_{local,temp}): Size arg is HOST_WIDE_INT. 1907 (assign_temp): Likewise. 1908 * expr.h (struct args_size): Field CONSTANT is now HOST_WIDE_INT. 1909 1910 * sched.c (attach_deaths, case REG): Don't check for REG_UNUSED. 1911 (attach_deaths, case SUBREG, STRICT_LOW_PART, {ZERO,SIGN}_EXTRACT): 1912 Don't pass set_p of 1 if partial assignment. 1913 1914 * tree.h (size_in_bytes): Returns HOST_WIDE_INT. 1915 * tree.c (size_in_bytes): Likewise. 1916 Tighen up logic some to avoid returning a bogus value instead of -1. 1917 1918 * expr.c (get_inner_reference, case ARRAY_EXPR): Make WITH_RECORD_EXPR 1919 just for index. 1920 (expand_expr, case PLACEHOLDER_EXPR): Refine search again; look 1921 at each expression and look for pointer to type. 1922 1923 * expr.c (safe_from_p, case ADDR_EXPR): If TREE_STATIC, no trampoline. 1924 (expand_expr, case ADDR_EXPR): Likewise. 1925 1926 * expr.c (emit_block_move): Use conservative range for movstr mode. 1927 1928 * configure.in: See if "cp -p" works if "ln -s" doesn't; else "cp". 1929 1930 * combine.c (try_combine.c): Pass elim_i2 and elim_i1 to 1931 distribute_notes for i3dest_killed REG_DEAD note. 1932 1933 * configure.in (mips-dec-netbsd*): Remove bogus setting of prefix. 1934 1935 * c-decl.c (duplicate_decls): Set DECL_IGNORED_P in newdecl if 1936 different bindings levels. 1937 1938 * configure.in: Test ln -s by symlinking gcc.c. 1939 1940 * configure.in (i[3456]86-dg-dgux): Add wildcard for version. 1941 1942 * crtstuff.c (__do_global_ctors_aux): Switch back to text section 1943 in proper place. 1944 1945 * rtlanal.c (rtx_varies_p, case REG): pic_offset_table_rtx is fixed. 1946 * genattrtab.c (pic_offset_table_rtx): Define (dummy). 1947 * cse.c (set_nonvarying_address_components): Understand PIC refs. 1948 1949 * loop.c (strength_reduce): When placing increment for auto-inc 1950 case, do comparison in loop order. 1951 1952 * i860.c (output_delayed_branch): Add missing arg to recog. 1953 (output_delay_insn): Add missing arg to constrain_operands. 1954 1955 * configure.in: Truncate target after finished comparing it with host. 1956 1957 * i386.h (MAX_FIXED_MODE_SIZE): Delete. 1958 1959 * c-parse.in (expr_no_comma): Clarify undefined error. 1960 1961 * prefix.c (get_key_value): Don't default to PREFIX here. 1962 (translate_name): Remove bogus addition of "$" if getenv fails; 1963 clean up application of default value of PREFIX. 1964 1965 * fold-const.c (fold_convert): Call force_fit_type even if input 1966 already overflows. 1967 1968Fri Feb 6 07:45:01 1998 Robert Hoehne <robert.hoehne@gmx.net> 1969 1970 * i386/xm-go32.h (HAVE_{BCOPY,BZERO,BCMP,RINDEX,INDEX}): Define. 1971 1972 * gcc.c (main): Treat paths starting with '$' or DOS drives 1973 as absolute in standard_startfile_prefix. 1974 1975Thu Feb 5 21:07:12 1998 John David Anglin <dave@hiauly1.hia.nrc.ca> 1976 1977 * cpplib.c (IS_INCLUDE_DIRECTIVE_TYPE): Add casts from enum to int. 1978 * cccp.c (IS_INCLUDE_DIRECTIVE_TYPE, handle_directive): Likewise. 1979 1980Thu Feb 5 19:00:44 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1981 1982 * expr.c (expand_expr, case CONSTRUCTOR): Correct shift count 1983 when making signed bit field; use EXPAND_NORMAL, not 0. 1984 1985Thu Feb 5 17:42:43 1998 Manfred Hollstein <manfred@s-direktnet.de> 1986 1987 * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl 1988 stuff only if MCT_TEXT is #define'd. 1989 1990Thu Feb 5 17:32:01 1998 Robert Hoehne <robert.hoehne@gmx.net> 1991 1992 * Makefile.in: Changed most stamp-* to s-*. 1993 1994Tue Feb 3 19:45:50 1998 James Hawtin <oolon@ankh.org> 1995 1996 * i386/sol2.h (STARTFILE_SPEC, LIB_SPEC): Update -pg files. 1997 * configure.in (i[3456]86-*-solaris2*): Add gcrt1.o and gmon.o 1998 to extra_parts. 1999 2000Tue Feb 3 17:28:48 1998 Christopher C Chimelis <chris@classnet.med.miami.edu> 2001 2002 * configure.in (alpha*-*-linux-gnu*): Add extra_parts for crtstuff. 2003 2004Tue Feb 3 17:18:19 1998 Richard Earnshaw <rearnsha@arm.com> 2005 2006 * arm.c (find_barrier): Fix one-too-many bug if fail to find barrier. 2007 2008 * arm.c (arm_reload_in_hi): Handle cases where the MEM is too 2009 complex for a simple offset. 2010 2011Tue Feb 3 16:14:21 1998 Robert Hoehne <robert.hoehne@gmx.net> 2012 2013 * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define. 2014 2015 * configure.in (i[3456]86-pc-msdosdjgpp*): New entry. 2016 2017Tue Feb 3 07:33:58 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2018 2019 * explow.c (probe_stack_range): Properly check for small 2020 number of probes. 2021 2022 * gcc.c (process_command, case 'V'): Validate arg. 2023 2024 * configure.in (sbrk): Add check for needed declaration. 2025 * acconfig.h (NEED_DECLARATION_SBRK): New entry. 2026 * toplev.c (sbrk): Update declaration conditional. 2027 * mips-tfile.c (sbrk, free): Likewise. 2028 2029 * sparc/sysv4.h (DBX_REGISTER_NUMBER): Remove abort. 2030 2031 * mips.c (mips_expand_prologue): Pass reg 25 to gen_loadgp. 2032 * mips.md (loadgp): Add second operand for register number to add. 2033 (builtin_setjmp_receiver): Pass new label and reg 31 to loadgp. 2034 2035 * toplev.c: Include insn-codes.h, insn-config.h, and recog.h. 2036 (compile_file): Try to emit nop to separate gcc_compiled symbol. 2037 * Makefile.in (toplev.o): Depends on insn-{codes,config}.h, recog.h. 2038 2039Tue Feb 3 06:58:46 1998 Mark Mitchell <mmitchell@usa.net> 2040 2041 * integrate.c (get_label_from_map): New function. 2042 (expand_inline_function): Use it. 2043 Initialize label_map to NULL_RTX instead of gen_label_rtx. 2044 (copy_rtx_and_substitute): Use get_label_from_map. 2045 * integrate.h (get_label_from_map): New function. 2046 (set_label_from_map): New macro. 2047 * unroll.c (unroll_loop, copy_loop_body): Use them. 2048 2049Mon Feb 2 16:33:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2050 2051 * i386.md (mov{si,hi,sf,df,xf}cc{,_1}): Remove cases with branches. 2052 2053 * rs6000/x-aix31 (INSTALL): Deleted. 2054 * mips/x-dec-osf1, mips/x-osfrose, i386/x-osfrose: Likewise. 2055 * arm/x-riscix: Likewise. 2056 2057 * c-typeck.c (signed_or_unsigned_type): Properly handle pointer types. 2058 2059Mon Feb 2 15:33:58 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz> 2060 2061 * unroll.c (copy_loop_body): Use single_set instead of 2062 PATTERN to detect increment of an iv inside a PARALLEL. 2063 2064Fri Jan 16 20:29:50 1998 Paul Eggert <eggert@twinsun.com> 2065 2066 * toplev.c (<unistd.h>): New include. 2067 (get_run_time): Prefer CLK_TCK (if available) to HZ, and 2068 prefer sysconf (_SC_CLK_TCK) (if available) to CLK_TCK. 2069 * configure.in (sysconf): Call AC_CHECK_FUNCS. 2070 2071Wed Jan 14 20:10:51 1998 Paul Eggert <eggert@twinsun.com> 2072 2073 * cccp.c: (rescan): Don't report line 0 as the possible real start 2074 of an unterminated string constant. 2075 Don't mishandle backslash-newlines that in are the output of 2076 a macro expansion. Properly skip // style comments between a function 2077 macro name and '(', as well as backslash-newlines in comments there. 2078 (handle_directive): Handle / \ newline * between # and directive name. 2079 In #include directives, \ does not escape ". 2080 (do_include): For `#include "file', do not bother expanding into temp 2081 buffer. When error encountered when expanding, do not try result. 2082 (skip_if_group): When skipping an include directive, use include 2083 tokenization, not normal tokenization. Backslash-newline is still 2084 special when skipping. Handle * \ newline / correctly in comments 2085 when skipping. 2086 (skip_quoted_string): After \ newline, set *backslash_newlines_p 2087 even if count_newlines is 0. 2088 (macroexpand): Newline space is not a special marker inside a string. 2089 (macroexpand, macarg): Do not generate \ddd for control characters 2090 when stringifying; the C Standard does not allow this. 2091 (macarg1): New arg MACRO. All callers changed. 2092 Do not treat /*, //, or backslash-newline specially when processing 2093 the output of a macro. 2094 (discard_comments): Don't go past limit if looking for end of comment. 2095 Discard backslash-newline properly when discarding comments. 2096 (change_newlines): \" does not end a string. 2097 (make_definition): Do not treat backslash-newline specially, as it 2098 has already been removed before we get here. 2099 2100 * profile.c (output_func_start_profiler): Don't fflush output 2101 if -quiet. 2102 * toplev.c (rest_of_compilation): Likewise. 2103 2104 * i386/x-sco5 (CC): Remove trailing white space. 2105 * x-convex (CCLIBFLAGS): Likewise. 2106 * arm/t-semi (LIBGCC2_CFLAGS): Likewise. 2107 2108Wed Jan 7 18:02:42 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2109 2110 * Version 2.8.0 released. 2111 2112Wed Jan 7 17:54:41 1998 J. Kean Johnston <jkj@sco.com> 2113 2114 * i386/sco5.h ({END,START}FILE_SPEC): Link with correct crtbegin.o 2115 and crtend.o when using -static. 2116 2117Wed Jan 7 17:49:14 1998 Jan Christiaan van Winkel <Jan.Christiaan.van.Winkel@ATComputing.nl> 2118 2119 * cppexp.c (gansidecl.h): Include. 2120 2121Wed Jan 7 17:45:07 1998 Tristan Gingold <gingold@puccini.enst.fr> 2122 2123 * expr.c (get_push_address): Use copy_to_reg instead of force_operand. 2124 (emit_push_insn): Avoid null pointer deference if aggregate has no 2125 types. 2126 (expand_expr): Avoid finite but useless recursion. 2127 (expand_builtin): Fix typo in calling function. 2128 * function.c (assign_parms): Avoid useless call to chkr_set_right. 2129 2130Wed Jan 7 17:31:13 1998 Christian Iseli <Christian.Iseli@lslsun.epfl.ch> 2131 2132 * combine.c (force_to_mode): Return if operand is a CLOBBER. 2133 2134Wed Jan 7 17:23:24 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2135 2136 * x-rs6000 (INSTALL): Remove. 2137 2138 * jump.c (jump_optimize): Don't use a hard reg as an operand 2139 of a conditional move if small register classes. 2140 2141Wed Jan 7 17:09:28 1998 Jim Wilson <wilson@cygnus.com> 2142 2143 * cse.c (max_insn_uid): New variable. 2144 (cse_around_loop): Use it. 2145 (cse_main): Set it. 2146 2147See ChangeLog.11 for earlier changes. 2148 2149Use a consistent time stamp format in ChangeLog entries. 2150Not everyone has Emacs 20 yet, so stick with Emacs 19 format for now. 2151 2152Local Variables: 2153add-log-time-format: current-time-string 2154End: 2155