1 Fri Sep 3 16:22:17 1999 Richard Henderson <rth@cygnus.com>
3 * dbxout.c (dbxout_init): Use xcalloc instead of xmalloc+bzero.
4 * dwarf2out.c (dwarf2out_frame_init): Likewise.
5 * final.c (shorten_branches): Likewise.
6 * global.c (global_alloc): Likewise.
7 * haifa-sched.c (build_control_flow): Likewise.
8 * stmt.c (check_for_full_enumeration_handling): Likewise.
9 (estimate_case_costs): Likewise.
11 Fri Sep 3 15:49:56 1999 Mark Mitchell <mark@codesourcery.com>
13 * rtl.h (RTL_CHECKC2): Fix typo in last change.
15 Fri Sep 3 15:13:34 1999 Richard Henderson <rth@cygnus.com>
17 * flow.c (propagate_block): Use XEXP not SET_DEST for a USE.
18 (recompute_reg_usage): Likewise.
19 * rtlanal.c (find_regno_fusage): Likewise.
21 * rtl.c (rtl_check_failed_code1): New function.
22 (rtl_check_failed_code2): New.
23 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTVEC_ELT): Parenthesize args.
24 (RTL_CHECKC1, RTL_CHECKC2): New.
25 (XC*): New accessor macros.
26 (NOTE_*, LABEL_NAME, LABEL_NUSES, ADDRESSOF_REGNO): Use them.
27 (ADDRESSOF_DECL, JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF): Likewise.
28 (CONTAINING_INSN, REGNO, INTVAL, SUBREG_REG, SUBREG_WORD): Likewise.
29 (ASM_OPERANDS_*, MEM_ALIAS_SET, SET_SRC, SET_DEST): Likewise.
30 (TRAP_*, RANGE_INFO_*): Likewise.
32 Fri Sep 3 15:10:20 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
34 * Makefile.in (tlink.o): Don't depend on toplev.h.
36 * collect2.c (c_file, o_file, export_file, import_file, ldout,
37 output_file, nm_file_name, ldd_file_name, strip_file_name,
38 c_file_name, prefix_list, libexts, is_ctor_dtor, find_a_file,
39 add_prefix, prefix_from_env, prefix_from_string, do_wait,
40 fork_execute, maybe_unlink, add_to_list,
41 extract_init_priority, write_list, dump_list,
42 dump_prefix_list, write_list_with_asm, write_c_file,
43 write_c_file_stat, write_c_file_glob, scan_prog_file,
44 scan_libraries, is_in_list, resolve_lib_name, use_import_list,
45 ignore_library, extract_string, notice, dump_file, target_machine,
46 collect_wait, collect_execute, libname, locatelib, aix_std_libs,
47 read_file, print_load_command): Constify a char*.
48 (fdopen, error, fatal, fatal_perror): Don't prototype.
49 (my_strerror): Remove. All callers use xstrerror instead.
50 (xcalloc, xmalloc, xrealloc, xstrdup, putenv): Remove definitions.
51 (main): Add prototype. Constify lots of char* ptrs. Change calls
52 to xcalloc/strcpy/strcat/... to one call to concat.
53 (main, scan_prog_file, scan_libraries): Use an intermediate
54 `const char **' to build an argv array.
55 (mapfile, libselect, libcompare, locatelib): Add prototypes.
57 * collect2.h (collect_execute, collect_wait, dump_file,
58 file_exists): Constify a char*.
59 (ldout, c_file_name, temporary_obstack, permanent_obstack,
60 temporary_firstobj, vflag, debug): Add extern declarations.
61 (fancy_abort, error, notice, fatal, fatal_perror): Add prototypes.
63 * tlink.c: Don't include toplev.h.
64 (vflag, debug, ldout, c_file_name, temporary_obstack,
65 permanent_obstack, temporary_firstobj): Don't declare.
66 (tlink_execute, frob_extension, symbol_hash_lookup,
67 file_hash_lookup, demangled_hash_lookup, tlink_init, freadsym,
68 recompile_files, read_repo_files, demangle_new_symbols,
69 scan_linker_output): Constify a char*.
70 (symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc,
71 do_tlink): Mark parameters with ATTRIBUTE_UNUSED.
73 Fri Sep 3 18:09:24 1999 Andrew Haley <aph@cygnus.com>
75 * config/m68k/m68kelf.h: Set USE_GAS; this makes gcc generate jbsr
76 (relative) rather than jsr (absolute) subroutine call insns.
77 * config/m68k/m68k-coff.h: Ditto.
79 Fri Sep 3 17:24:31 1999 Richard Earnshaw <rearnsha@arm.com>
81 * arm.c (note_invalid_constants): No need to ignore ASMs, we can
83 (arm_reorg): If an insn can't reach the end of the current pool,
84 ensure that we emit that pool before the insn.
86 Fri Sep 3 09:14:32 1999 Marc Espie <espie@tetto.liafa.jussieu.fr>
88 * tlink.c (scan_linker_output): Skip the initial underscore in
89 a mangled name if appropriate.
91 Fri Sep 3 01:28:33 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
93 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
94 objc_tree_code_name, synth_id_with_class_suffix, warn_with_method,
95 error_with_ivar, gen_declarator, create_builtin_decl,
96 my_build_string, generate_descriptor_table, generate_ivars_list,
97 generate_dispatch_table, check_protocols, TAG_GETCLASS,
98 TAG_GETMETACLASS, TAG_MSGSEND, TAG_MSGSENDSUPER, TAG_EXECCLASS,
99 dump_base_name, lang_decode_option, build_encode_expr,
100 start_class, finish_class, encode_pointer, really_start_method,
101 gen_declaration, dump_interface, handle_class_ref, handle_impent):
103 (objc_demangle, objc_printable_name, generate_struct_by_value_array):
104 Add static prototypes.
105 (build_objc_string_decl, build_selector_reference_decl,
106 encode_bitfield, build_class_reference_decl): Remove unused
107 parameter, all callers changed.
108 (maybe_objc_method_name): Mark with ATTRIBUTE_UNUSED.
109 (objc_printable_name): Likewise. Change second parameter to type int.
110 (init_objc): Use memcpy, not bcopy, to avoid casts.
112 Thu Sep 2 21:49:52 1999 Richard Henderson <rth@cygnus.com>
114 * reload1.c (eliminate_regs_in_insn): Avoid eliminating the
115 reg notes on a deleted insn.
116 * gcse.c (hash_expr_1): Use XWINT on a CONST_DOUBLE.
118 Thu Sep 2 20:18:12 1999 Jeffrey A Law (law@cygnus.com)
120 * i386.c (ix86_attr_length_default): Handle TYPE_FXCH.
122 Thu Sep 2 22:00:08 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
124 * stmt.c (expand_asm_operands): Fix index into inout_mode when
127 Thu Sep 2 13:00:48 1999 Richard Henderson <rth@cygnus.com>
129 * stmt.c (expand_asm_operands): Invoke MD_ASM_CLOBBERS if present.
130 * tm.texi (MD_ASM_CLOBBERS): Document it.
132 Thu Sep 2 10:22:40 1999 Richard Henderson <rth@cygnus.com>
134 * dwarf2out.c (dwarf2out_line): Constify `lastfile'.
135 * except.c (expand_rethrow): Remove unused variable.
136 * expr.c (do_jump_by_parts_greater_rtx): Likewise.
137 * flow.c (replace_insns): Likewise.
138 (create_edge_list, verify_edge_list): Likewise.
139 * gcse.c (cprop_cc0_jump): Protect declaration with HAVE_cc0.
141 * genemit.c (gen_expand): Only emit `operands[N]' decl if there
142 is special code to run.
143 (main): Don't define operands to emit_operand.
144 * genrecog.c (main): Don't emit an empty peephole2_insn function.
146 * rtl.h (NOTE_BASIC_BLOCK): Use X0BBDEF.
148 * alpha/alpha.h (normal_memory_operand): Declare.
149 (reg_no_subreg_operand): Declare.
150 * alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
152 Thu Sep 2 10:19:20 1999 Richard Henderson <rth@cygnus.com>
154 * c-parse.in (compstmt_primary_start): New, broken out of first
155 part of compstmt handling in primary.
156 (primary): Use it. Add an error clause.
157 (compstmt_nostart): Renamed from compstmt; remove all
158 initial invocations of compstmt_start.
161 Thu Sep 2 01:35:50 1999 Marc Espie <espie@cvs.openbsd.org>
163 * protoize.c (gen_aux_info_file): Let pexecute call choose_temp_base if
166 Thu Sep 2 00:43:59 1999 Finn Hakansson <finn@axis.com>
168 * combine.c (simplify_shift_const): Remove extra semicolon.
169 * dwarf2out.c (remove_AT): Likewise.
170 * expmed.c (expand_mult): Likewise.
171 * gcov.c (create_program_flow_graph): Likewise.
172 * reorg.c (mostly_true_jump): Likewise.
174 Thu Sep 2 00:06:43 1999 Jeffrey A Law (law@cygnus.com)
176 * fold-const.c (fold_range_test): Do not try to fold the range
177 test if the rhs or lhs has side effects.
179 * combine.c (simplify_rtx): Recognize another case of a synthesized
182 * varasm.c (mark_constant_pool): When marking indirect references,
183 only look at SYMBOL_REFs.
185 * except.c (expand_fixup_region_end): Do not peek at
186 INSN_UID (node->entry->outer_context) for flag_new_exceptions.
188 Thu Sep 2 13:52:53 1999 Geoffrey Keating <geoffk@cygnus.com>
190 * flags.h: New variables align_loops, align_loops_log,
191 align_jumps, align_jumps_log, align_labels, align_labels_log,
192 align_functions, align_functions_log.
193 * toplev.c: Define them.
194 (f_options): Handle -falign-* when they have no argument.
195 (main): Add logic to set variables for -falign-functions,
196 -falign-jumps, -falign-labels, -falign-loops.
197 Make it -fsched-verbose=<n> and -finline-limit=<n>.
198 (display_help): Change help to match options.
199 * final.c (LABEL_ALIGN): Default to align_labels_log.
200 (LABEL_ALIGN_MAX_SKIP): Default to align_labels-1.
201 (LOOP_ALIGN): Default to align_loops_log.
202 (LOOP_ALIGN_MAX_SKIP): Default to align_loops-1.
203 (LABEL_ALIGN_AFTER_BARRIER): Default to align_jumps_log.
204 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to align_jumps-1.
205 * varasm.c (assemble_start_function): Handle align_functions.
207 * config/sparc/sparc.h: Don't declare sparc_align_*.
208 Don't provide LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN.
209 (DEFAULT_SPARC_ALIGN_FUNCS): Delete; take functionality into
211 (FUNCTION_BOUNDARY): Fix incorrect use---it's not just a request,
213 * config/sparc/sparc.c: Delete sparc_align_loops,
214 sparc_align_jumps, sparc_align_funcs and the corresponding string
216 (sparc_override_options): Default align_functions on ultrasparc.
217 Delete -malign-* handling.
219 * config/mips/mips.c (override_options): On 64-bit targets,
220 try to align code to 64-bit boundaries.
221 (print_operand): New substitution, %~,
222 which aligns labels to align_labels_log.
223 * config/mips/mips.md (div_trap_normal): Use %~.
224 (div_trap_mips16): Likewise.
229 (ashldi3_internal): Likewise.
230 (ashrdi3_internal): Likewise.
231 (lshrdi3_internal): Likewise.
232 (casesi_internal): Likewise.
234 Wed Sep 1 21:13:48 1999 Richard Henderson <rth@cygnus.com>
236 Merge new ia32 backend from the branch!
238 * i386.h, i386.c, i386.md, reg-stack.c, i386/unix.h: Many changes.
239 See ChangeLog.P2 on new_ia32_branch for details.
241 * rtl.h (stack_regs_mentioned_p): Delete prototype.
242 * i386/cygwin.h (SUBTARGET_PROLOGUE): No more do_rtl.
243 * i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
244 * i386/gas.h (ASM_FILE_START): Define.
245 * i386/winnt.c (i386_pe_valid_decl_attribute_p): Update
246 for name change of ix86_valid_decl_attribute_p.
247 (i386_pe_valid_type_attribute_p): Similarly.
249 Wed Sep 1 18:21:23 1999 Richard Henderson <rth@cygnus.com>
251 * emit-rtl.c (init_emit_once): Don't use GET_MODE_WIDER_MODE
252 to step through CC modes.
254 Wed Sep 1 20:18:06 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
256 * regmove.c (fixup_match_1): Don't move INSN in front of P if
257 it would end up in the shadow of a live flags regsiter.
259 Wed Sep 1 11:32:00 1999 Bernd Schmidt <bernds@cygnus.co.uk>
261 * reload1.c: Fix many indentation problems.
262 * reload.c: Likewise.
264 Tue Aug 31 22:08:03 1999 Marc Espie <espie@cvs.openbsd.org>
266 * alias.c (non_local_reference_p): Constify fmt.
268 Tue Aug 31 23:19:35 1999 Michael Meissner <meissner@cygnus.com>
270 * config/i386/xm-cygwin.h (HAVE_DOS_BASED_FILE_SYSTEM): Define.
272 Tue Aug 31 16:44:52 1999 Jeffrey A Law (law@cygnus.com)
274 * cse.c (delete_trivially_dead_insns): Do not delete stores to
275 the internal_arg_pointer.
277 Tue Aug 31 13:35:42 1999 Richard Henderson <rth@cygnus.com>
279 Merge peephole2 from new_ia32_branch:
280 * Makefile.in (STAGESTUFF): Add *.peephole2.
281 (mostlyclean): Likewise.
282 (recog.o): Depend on resource.h.
284 * final.c (peephole): Conditionalize decl on HAVE_peephole.
285 (final_scan_insn): Likewise for the invocation of peephole.
286 * genconfig.c (main): Look for peephole and peephole2 patterns.
287 Emit HAVE_peephole* accordingly.
288 * genpeep.c (main): Conditionalize entire output on HAVE_peephole.
289 * flags.h (flag_peephole2): Declare.
290 * toplev.c: New pass peephole2. New flag -fpeephole2.
292 * genattrtab.c (main): Count DEFINE_PEEPHOLE2.
293 * gencodes.c (main): Likewise.
294 * genextract.c (main): Likewise.
295 * genoutput.c (main): Likewise.
296 * genemit.c (max_operand_1): Look for the max scratch operand.
297 (gen_rtx_scratch): New.
298 (gen_exp): Use it, and pass on new arg subroutine_type.
299 (gen_expand): Take max scratch into account.
300 (gen_split): Emit peephole2 functions.
301 (output_peephole2_scratch): New.
302 (main): Include hard-reg-set.h and resource.h. Handle peephole2.
303 * genrecog.c (routine_type): Add PEEPHOLE2.
305 (make_insn_sequence): Match outer parallel for peep2. Discard
306 top level scratches and dups.
307 (add_to_sequence): New args insn_type and top. Update all callers.
308 Handle toplevel peep2 matching insns.
309 (write_subroutine): Handle peep2.
310 (write_tree_1): Likewise.
311 (write_tree): Likewise.
313 (change_state): New arg afterward. Update all callers.
314 Handle matching separate insns.
315 * recog.c (recog_next_insn): New.
316 (peephole2_optimize): New.
317 * rtl.def (DEFINE_PEEPHOLE2): New.
318 * resource.c (find_free_register): New argument last_insn. Use it
319 to find a register available through the entire span.
320 * resource.h (find_free_register): Update prototype.
322 Tue Aug 31 11:51:06 1999 Jim Kingdon <http://developer.redhat.com>
324 * i386.c (output_strlen_unroll): Don't write xops[7]
325 label if it wasn't set.
327 1999-08-31 12:44 -0700 Zack Weinberg <zack@bitmover.com>
329 * cpplib.c (struct directive): Const-ify name pointer and
330 function pointer prototype.
331 (validate_else, do_define, do_line, do_include, do_undef,
332 do_error, do_pragma, do_ident, do_if, do_xifdef, do_else,
333 do_elif, do_endif, do_sccs, do_assert, do_unassert,
334 do_warning): Const-ify second arg.
335 (directive_table): Mark const. Reorder entries by frequency
336 of usage, record statistics.
338 1999-08-31 12:20 -0700 Zack Weinberg <zack@bitmover.com>
340 * rtl.h (RTL_CHECK1, RTL_CHECK2): New macros which type- and
341 bounds- check RTL accesses if --enable-checking.
342 (RTVEC_ELT): Bounds check if --enable-checking.
343 (XWINT, XINT, XSTR, XEXP, XVEC, XMODE, XBITMAP, XTREE,
344 XBBDEF): Use RTL_CHECK1/RTL_CHECK2 as appropriate.
345 (XVECEXP, XVECLEN): Define in terms of XVEC, RTVEC_ELT, and
347 (X0WINT, X0INT, X0STR, X0EXP, X0VEC, X0MODE, X0BITMAP, X0TREE,
348 X0BBDEF, X0ADVFLAGS): New macros for accessing '0' slots of RTXes.
350 (ADDR_DIFF_VEC_FLAGS): Use X0ADVFLAGS.
351 (NOTE_SOURCE_FILE): Use X0STR.
352 (NOTE_BLOCK_NUMBER, NOTE_EH_HANDLER, LABEL_NUSES,
353 MEM_ALIAS_SET): Use X0INT.
354 (NOTE_RANGE_INFO, NOTE_LIVE_INFO, NOTE_BASIC_BLOCK,
355 JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF, CONTAINING_INSN):
357 * real.h (CONST_DOUBLE_CHAIN): Use X0EXP.
358 * rtl.c (copy_rtx, copy_most_rtx): Copy '0' slots with X0WINT.
359 (rtl_check_failed_bounds, rtl_check_failed_type1,
360 rtl_check_failed_type2, rtvec_check_failed_bounds): New
362 (fancy_abort): Fix comment.
364 * cse.c (canon_hash): Read CONST_DOUBLE data slots with XWINT.
365 (cse_insn): Decrement LABEL_NUSES for jump target before
367 * emit-rtl.c (gen_rtx_CONST_DOUBLE): Use X0EXP for slot 1.
368 * final.c (alter_subreg): Compute regno before changing x to
369 REG; set REGNO(x) after changing it.
370 * flow.c (count_basic_blocks): Use XWINT to inspect EH_REGION
371 notes containing CONST_INTs.
372 (delete_eh_regions): Use NOTE_EH_HANDLER.
373 * function.c (put_reg_into_stack): Make reg a MEM before
375 (fixup_var_refs_insns): Save REG_NOTES (insn) in case we
377 (gen_mem_addressof): Make reg a MEM before initializing it.
378 * integrate.c (copy_rtx_and_substitute): Copy '0' slots with
380 * local-alloc.c (update_equiv_regs): Zap REG_NOTES before
381 deleting an insn, not after.
382 (block_alloc): Only look at PATTERN(insn) if we have to, and
383 only if it's format class 'i'.
384 * loop.c (check_dbra_loop): Check bl->biv->add_val is a
385 CONST_INT before using its INTVAL.
386 * print-rtl.c (print_rtx): Use X0STR.
387 * regmove.c (fixup_match_1): Don't look at PATTERN of
388 non-class-'i' insn chain elements.
389 * reload.c (loc_mentioned_in_p): Take address of
390 in->fld[1].rtx directly.
391 * reload1.c (reload): Change reg to a MEM before initializing
393 * varasm.c (mark_constant_pool): Skip CONST_DOUBLES, which
395 * config/i386/i386.md (decrement_and_branch_if_zero): Fix typo.
397 Fri Aug 20 13:43:41 1999 Andrew Haley <aph@cygnus.com>
399 * config/mips/mips.c (machine_dependent_reorg): Force a
400 barrier to output the local constant pool if a barrier hasn't
401 been found at a natural point in the instruction stream.
403 Mon Aug 30 22:04:36 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
405 * c-parse.in (language_string): Constify.
407 * dwarf2out.c (language_string): Remove declaration.
409 * dwarfout.c (language_string): Likewise.
411 * toplev.c (language_string, init_parse, finish_parse): Likewise.
413 * tree.h (language_string, init_parse, finish_parse): Declare.
415 * i386/sun386.h (language_string): Remove declaration.
417 * mips.h (language_string): Likewise.
419 * nextstep.h (language_string): Likewise.
421 * nextstep21.h (language_string): Likewise.
423 * rs6000.c (language_string): Likewise.
425 Mon Aug 30 20:56:08 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
427 * Makefile.in (OBJS, PROTO_OBJS): Remove getpwd.o.
428 (getpwd.o): Remove target.
430 * getpwd.c: Delete file. Its in libiberty now.
432 * dbxout.c (getpwd): Don't prototype.
433 * dwarf2out.c (getpwd): Likewise
434 * dwarfout.c (getpwd): Likewise
435 * final.c (getpwd): Likewise.
436 * protoize.c (getpwd): Likewise.
438 Mon Aug 30 20:21:34 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
440 * cse.c: (fold_rtx): Cast to HOST_WIDE_INT in left shift.
442 Mon Aug 30 16:07:49 1999 Richard Henderson <rth@cygnus.com>
444 * flow.c (new_insn_dead_notes): Use sets_reg_or_subreg not
447 Mon Aug 30 12:23:53 1999 Jim Wilson <wilson@cygnus.com>
449 * fixinc/Makefile.in (subdir): New.
450 (fixincl.x, inclhack.sh, fixincl.sh): Use cp instead of $(CP).
453 Mon Aug 30 01:02:09 1999 Jeffrey A Law (law@cygnus.com)
455 * emit-rtl.c (copy_rtx_if_shared): A MEM which references
456 virtual_stack_vars_rtx or virtual_incoming_args_rtx can not
459 * invoke.texi: Fix typo.
461 * dwarf2out.c (mem_loc_descriptor): New argument MODE. All callers
462 changed. Handle autoincrement addressing modes.
464 * integrate.c (copy_rtx_and_substitute): Handle internal_arg_pointer
465 just like we would the virtual incoming args register when
468 Sun Aug 29 23:17:54 1999 David Edelsohn <edelsohn@gnu.org>
470 * rs6000.h (ASM_FILE_START): Specify complete filename, including
471 path, in .file directive.
473 Sun Aug 29 05:06:43 1999 Russ Allbery <rra@stanford.edu>
475 * gcc.texi (External Bugs): Remove obsolete note about Perl on
478 1999-08-29 08:38 -0700 Zack Weinberg <zack@bitmover.com>
480 * stdbool.h: Make the typedef name _Bool, with bool a #defined
483 Sun Aug 29 09:36:50 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
485 * tree.c (tree_code_name): Constify a char*.
487 * tree.h (tree_code_name, decl_printable_name): Likewise.
489 * function.h (struct function): Likewise.
491 * toplev.c (decl_name, decl_printable_name): Likewise.
493 * vax/vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): Likewise.
495 * objc/objc-act.c (decl_printable_name): Remove redundant prototype.
496 (init_objc): Remove function pointer cast.
498 Sun Aug 29 05:01:17 1999 John David Anglin <dave@hiauly1.hia.nrc.ca>
500 * pa.md (interspace_jump): New pattern.
501 (builtin_longjmp): New expander.
503 1999-08-29 Bernd Schmidt <bernds@cygnus.co.uk>
505 * fp-bit.c (add, sub, multiply, divide, compare, _eq_f2, _ne_f2,
506 _gt_f2, _ge_f2, _lt_f2, _le_f2, float_to_si, float_to_usi, negate,
507 sf_to_df, df_to_sf): Fix potential problem with alias analysis.
509 Sun Aug 29 04:30:52 1999 John Wehle (john@feith.com)
511 * jump.c (delete_prior_computation): Also check calls
512 to constant functions. Don't bother checking for a
513 REG_UNUSED note before adding it.
514 (delete_computation): Handle multi-word hard registers
515 when synthesizing missing REG_DEAD notes for a register
516 which is both set and used by an insn.
518 1999-08-29 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
520 * loop.c (this_loop_info): New variable.
521 (loop_has_call, loop_has_volatile, loop_has_tablejump,
522 loop_continue, loops_enclosed): Replace with fields in this_loop_info.
524 (prescan_loop, strength_reduce): New argument loop_info. All callers
526 (scan_loop): New variable loop_info, initialise to address of
528 (prescan_loop): Set loop_info->vtop if find NOTE_INSN_LOOP_VTOP.
529 Delete variable loop_has_multiple_exit targets and replace with
530 field in this_loop_info.
531 (find_and_verify_loops): Rename this_loop to this_loop_num.
532 (strength_reduce): Delete loop_iteration_info. Replace variable
533 loop_info with function argument of same name.
534 (insert_bct): Rework test for loop being completely unrolled.
536 * loop.h (struct loop_info): New fields num, loops_enclosed,
537 has_call, has_volatile, has_tablejump, has_multiple_exit_targets,
538 has_indirect_jump, and cont. Redefine use of unroll_number.
539 (loop_unroll_number): Delete.
541 * unroll.c (unroll_loop): Store loop unroll count in unroll_number
543 (loop_iterations): Delete variable vtop and instead use
544 loop_info->vtop computed in prescan_loop.
546 Sun Aug 29 03:27:23 1999 Scott Weikart <scott@igc.apc.org>
548 * fix-header.c (main): Do not pass a null pointer to strcmp.
550 Sun Aug 29 03:18:48 1999 William Bader (william@nscs.fast.net)
552 * configure.in (i[34567]86-*-sco3.2v4*): Target does not truncate
554 * configure: Rebuilt.
556 Sat Aug 28 19:36:05 1999 Jeffrey A Law (law@cygnus.com)
558 * jump.c (jump_optimize_1): Do not delete assignments to
559 internal_arg_pointer.
560 * cse.c (delete_trivially_dead_insns): Always consider a set of
561 the internal_arg_pointer live.
563 Sat Aug 28 16:24:31 1999 Richard Henderson <rth@cygnus.com>
565 * flow.c (flow_delete_insn_chain): Rename from delete_insn_chain.
566 (update_life_info) [REG_WAS_0]: Search the original insns rather
567 than the new insns for the note. Fix typos finding note_dest.
568 If no dest found, discard the note rather than abort.
569 [REG_NOALIAS]: Handle as REG_NO_CONFLICT.
570 (replace_insns): Remove the old insn list after update_life_info
573 Sat Aug 28 16:20:12 1999 Richard Henderson <rth@cygnus.com>
575 * haifa-sched.c (sched_analyze): Clear LOG_LINKS before calling
577 (sched_analyze_1): Let add_dependence care for not adding dups.
578 (sched_analyze_2): Likewise.
579 (add_branch_dependences): Likewise.
581 Sat Aug 28 15:58:16 1999 Mumit Khan <khan@xraylith.wisc.edu>
583 * i386/winnt.c (export_list): New type.
584 (exports_head): Rename to
586 (i386_pe_record_exported_symbol): Add is_data flag.
587 (i386_pe_asm_file_end): Emit directive for exported variables.
588 * i386/cygwin.h (i386_pe_record_exported_symbol): Update
590 * i386/cygwin.h (ASM_OUTPUT_COMMON): Specify symbol type.
591 (ASM_DECLARE_OBJECT_NAME): Likewise.
592 (ASM_DECLARE_FUNCTION_NAME): Likewise.
593 * i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
595 Fri Aug 27 15:35:24 1999 Jeffrey A Law (law@cygnus.com)
597 * cse.c (fold_rtx): Work around bug in Sun V5.0 compilers.
599 * pa.c (emit_move_sequence): Do not stop on SUBREG_WORD of an
602 Fri Aug 27 14:01:19 1999 Marc Espie <espie@cvs.openbsd.org>
604 * config/openbsd.h: Define SET_ASM_OP.
605 * tm.texi: cross-reference SET_ASM_OP in the index.
607 1999-08-27 13:27 -0700 Zack Weinberg <zack@bitmover.com>
609 * rtl.c: Define CONST_DOUBLE_FORMAT to the appropriate format
610 for a CONST_DOUBLE, at compile time. Initialize rtx_length
611 and class_narrowest_mode at compile time. Kill init_rtl.
612 Mark rtx_length, mode_class, mode_size, mode_unit_size,
613 mode_wider_mode, mode_mask_array, class_narrowest_mode, and
614 rtx_format as const. Kill all references to EXTRA_CC_MODES or
616 * rtl.def (CONST_DOUBLE): Use CONST_DOUBLE_FORMAT macro for
618 * rtl.h: Declare rtx_length and rtx_format as const.
619 * machmode.def: Define CC(). Use CC() to define CCmode. If
620 EXTRA_CC_MODES is defined, expand it here.
621 * machmode.h: Declare mode_class, mode_size, mode_unit_size,
622 mode_wider_mode, mode_mask_array, and class_narrowest_mode as
623 const. Kill all references to EXTRA_CC_MODES.
625 * toplev.c: Don't prototype or call init_rtl.
626 * optabs.c: Don't call init_mov_optab.
627 * genemit.c: Don't generate init_mov_optab. Don't call
629 * gengenrtl.c: Duplicate calculation of CONST_DOUBLE_FORMAT
631 * genattr.c, genattrtab.c, gencodes.c, genconfig.c,
632 genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
633 genrecog.c: Don't call init_rtl.
635 * arc.h, arm.h, c4x.h, i386.h, i960.h, m88k.h, pa.h, pdp11.h,
636 rs6000.h, sparc.h: Don't define EXTRA_CC_NAMES. Use CC() in
637 definition of EXTRA_CC_MODES.
639 * md.texi: Kill ref to EXTRA_CC_NAMES.
640 * tm.texi: Document new way to define EXTRA_CC_MODES.
642 * genrecog.c: Do not look up the name of a define_split.
645 Fri Aug 27 17:03:42 1999 Nick Clifton <nickc@cygnus.com>
647 * config/v850/v850.md: Fix typo introduced by previous delta.
649 Fri Aug 27 09:48:59 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
651 * gcc.c (fatal): Make definition static to match prototype.
653 Fri Aug 27 10:33:35 1999 Bernd Schmidt <bernds@cygnus.co.uk>
655 * combine.c (get_last_value): Don't look for earlier sets if the last
656 known set is somewhere in between the insns being combined.
658 Fri Aug 27 10:03:12 BST 1999 Nathan Sidwell <nathan@acm.org>
660 * configure.in: Don't use shell ! to negate exit codes
661 * configure: Regenerate
663 Fri Aug 27 09:36:17 1999 Andreas Schwab <schwab@suse.de>
665 * function.c (assign_stack_temp_for_type): Fix change of Mar 5 for
666 the fact that ALIGN is measured in bits, not bytes.
668 1999-08-27 00:27 -0700 Zack Weinberg <zack@bitmover.com>
670 * errors.c: New file; defines functions error, warning, and
671 fatal, variables have_error and progname.
672 * errors.h: New file; prototypes and decls for stuff in errors.c.
674 * Makefile: Add rules to build errors.o and
675 $(HOST_PREFIX)errors.o. Link genconfig, gencodes, genemit,
676 genopinit, genrecog, genextract, genpeep, genattr, and
677 genoutput with errors.o. Add errors.h to deps of genconfig.o,
678 gencodes.o, genemit.o, genopinit.o, genrecog.o, genextract.o,
679 genpeep.o, genattr.o, and genoutput.o.
681 * genconfig.c, gencodes.c, genemit.c, genopinit.c, genrecog.c,
682 genextract.c, genpeep.c, genattr.c: Include errors.h. Don't
683 define or prototype fatal. Set progname at beginning of main.
684 * genoutput.c: Likewise, and don't define or prototype error
687 * c-typeck.c (c_expand_start_case): Return immediately if exp
689 * fold-const.c (operand_equal_p): Return immediately if arg1
690 or arg0 are ERROR_MARKs.
691 * stor-layout.c (layout_type [case RECORD_TYPE]): Ignore
692 fields of type ERROR_MARK when calculating if the record can
695 Fri Aug 27 01:03:48 1999 Jim Kingdon <http://developer.redhat.com>
696 with much help from Jeffrey A Law and Richard Henderson
698 * i386.md: In the 6 insns which call output_fix_trunc,
699 earlyclobber operands[0].
701 Fri Aug 27 01:01:51 1999 Philip Blundell <pb@nexus.co.uk>
703 * jump.c (duplicate_loop_exit_test): Call reg_scan_update after
704 creating new registers.
706 1999-08-26 23:09 -0700 Zack Weinberg <zack@bitmover.com>
708 * i386.h: Declare ix86_cpu_string, ix86_arch_string,
709 i386_reg_alloc_order, i386_regparm_string,
710 i386_align_loops_string, i386_align_jumps_string,
711 i386_align_funcs_string, i386_preferred_stack_boundary_string,
712 and i386_branch_cost_string as type "const char *".
713 * i386.c: Define all above strings as type "const char *".
715 Thu Aug 26 20:36:30 1999 Jim Wilson <wilson@cygnus.com>
717 * dwarf2out.c (output_aranges): Check DWARF_OFFSET_SIZE not PTR_SIZE
718 when emitting alignment padding. Emit padding byte of 0 instead of 4.
720 Thu Aug 26 18:11:20 1999 Mark Mitchell <mark@codesourcery.com>
722 * tree.c (array_type_nelts): Don't create RTL_EXPRs from
723 SAVE_EXPRs unless the SAVE_EXPRs have already been expanded.
725 Thu Aug 26 19:33:23 1999 Jim Wilson <wilson@cygnus.com>
727 * dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Add default definition.
728 (debug_dwarf): Add DWARF2_ASM_LINE_DEBUG_INFO support.
729 (dwarf2out_line, dwarf2out_finish): Likewise.
730 * tm.texi (DWARF2_ASM_LINE_DEBUG_INFO): Add documetation.
732 Thu Aug 26 16:10:56 1999 Gavin Romig-Koch <gavin@cygnus.com>
734 * tree.c (lang_unsave_expr_now) : Correct return type.
735 * tree.h (lang_unsave_expr_now) : Same.
737 Thu Aug 26 13:12:29 1999 Jeffrey A Law (law@cygnus.com)
739 * pa.c (cint_ok_for_move): Use CONST_INT_OK_FOR_LETTER_P macros
740 instead of duplicating code.
742 Thu Aug 26 18:32:32 1999 Bernd Schmidt <bernds@cygnus.co.uk>
744 * gcse.c (hash_scan_insn): Don't scan obvious no-ops.
746 1999-08-26 09:42 -0700 Zack Weinberg <zack@bitmover.com>
748 * tree.h: fancy_abort always takes three args.
749 * resource.c: Move include of system.h before toplev.h.
751 Thu Aug 26 09:46:16 1999 Nick Clifton <nickc@cygnus.com>
753 * dwarf2out.c (mem_loc_descriptor): Accept LABEL_REFs as well
756 1999-08-25 22:10 -0700 Zack Weinberg <zack@bitmover.com>
758 * system.h: Don't redefine abort or trim_filename.
759 * rtl.h: Define abort to fancy_abort (__FILE__, __LINE__, 0)
760 or fancy_abort (__FILE__, __LINE__, __FUNCTION__) depending on
761 whether or not __FUNCTION__ is available.
762 * tree.h: Duplicate rtl.h's definition of abort, for files
763 that don't include rtl.h. Delete all code to perform type
764 checking with a compiler other than GCC.
765 * varray.h: Delete all code to perform type checking with a
766 compiler other than GCC. Make VARRAY_CHECK() always evaluate
767 its arguments exactly once, using a statement expression.
768 Adjust the VARRAY_<type> accessor macros to match.
769 * toplev.h (fatal_insn, fatal_insn_not_found): Kill.
770 (_fatal_insn, _fatal_insn_not_found): New fns, take info on
771 caller's location. Define fatal_insn and fatal_insn_not_found
772 as macros that use _fatal_insn and _fatal_insn_not_found.
773 (fancy_abort, trim_filename): Kill prototypes.
775 * rtl.c (trim_filename): Move here from toplev.c.
776 (fancy_abort): New function.
777 (DIR_SEPARATOR): Provide default definition.
778 * tree.c (tree_check_failed, tree_class_check_failed): Go
780 (tree_check, tree_class_check, cst_or_constructor_check,
782 * varray.c (varray_check_failed): New function.
783 * toplev.c (fatal_insn, fatal_insn_not_found): Replace with
784 _fatal_insn and _fatal_insn_not_found. Go through
786 (trim_filename, fancy_abort): Delete.
788 * builtins.c (expand_builtin_args_info): Report ICE with abort.
789 * except.c (start_catch_handler): Report ICE with error/abort
791 * final.c (output_operand_lossage): Likewise.
792 * flow.c (verify_flow_info): Likewise.
794 * gcc.c: Prototype fatal.
795 * gengenrtl.c: Undef abort after including rtl.h not system.h.
796 * genattr.c, genattrtab.c, genemit.c, genextract.c,
797 genflags.c, genopinit.c, genoutput.c, genpeep.c, genrecog.c:
798 Don't define fancy_abort.
800 Wed Aug 25 17:56:59 1999 Richard Henderson <rth@cygnus.com>
802 * optabs.c (emit_cmp_and_jump_insns): Be more thorough in
805 Wed Aug 25 15:35:55 1999 Richard Henderson <rth@cygnus.com>
807 * m88k.h (VERSION_INFO2): Kill.
808 (VERSION_STRING): Kill.
810 (VERSION_INFO1): Tidy.
811 (TARGET_VERSION): Update.
812 * m88k/dgux.h (VERSION_INFO2): Kill.
813 (ASM_FIRST_LINE): Adjust for death of VERSION_STRING.
814 * m88k/luna.h (VERSION_INFO1): Tidy.
815 * m88k/sysv4.h (VERSION_INFO1): Likewise.
816 * m88k.c (out_rcs_id, tm_rcs_id): Kill.
817 (output_file_start): Adjust for death of VERSION_STRING.
819 1999-08-25 13:51 -0700 Jim Meyering <meyering@ascend.com>
821 * cpplib.c (detect_if_not_defined): New function.
822 (do_if): Use it to detect potential once-only headers.
824 Wed Aug 25 14:00:18 1999 Jason Merrill <jason@yorick.cygnus.com>
826 * c-common.c (combine_strings): Always set TREE_CONSTANT.
828 Wed Aug 25 15:27:22 1999 Gavin Romig-Koch <gavin@cygnus.com>
830 * combine.c (nonzero_bits) : Allow single-ly set registers to be
831 anywere in the function only if they are pseudos and set before
832 being used (not live at the start of the function).
833 (num_sign_bit_copies) : Same.
834 (get_last_value_validate) : Same.
835 (get_last_value) : Same.
837 Wed Aug 25 11:13:29 1999 Richard Henderson <rth@cygnus.com>
839 * loop.c (express_from): Try harder to unify (* c N) and (* c M)
840 where N and M are constant and N is an integer multiple of M.
842 Wed Aug 25 13:55:47 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
844 * sbitmap.h (sbitmap_intersection_of_succs): Add prototype.
845 (sbitmap_intersection_of_preds, sbitmap_union_of_succs,
846 sbitmap_union_of_preds): Add prototypes.
847 * sbitmap.c (sbitmap_intersection_of_succs): New function to compute
848 the intersection of successors with the new flow graph structures.
849 (sbitmap_intersection_of_preds): New function to compute the
850 intersection of predecessors with the new flow graph structures.
851 (sbitmap_union_of_succs): New function to compute the union of
852 successors with the new flow graph structures.
853 (sbitmap_union_of_preds): New function to compute the union of
854 predecessors with the new flow graph structures.
855 * gcse.c (compute_rdm, compute_available): Use new sbitmap routines.
856 (expr_reaches_here_p): Use edge and basic_block structures instead
857 of s_preds and s_succs.
858 (compute_cprop_avinout): Use new sbitmap routines.
859 (pre_expr_reaches_here_p): Use edge and basic_block structures instead
860 of s_preds and s_succs.
861 * flow.c (compute_flow_dominators): Compute dominators using
862 edges and basic blocks instead of s_preds and s_succs.
864 Wed Aug 25 13:41:47 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
866 * lists.c (unused_insn_list, unused_expr_list): New file for
867 maintaining various types of lists. New statics for maintaining a
868 cache of available INSN_LIST and EXPR_LIST nodes.
869 (free_list): Static function for freeing a list of INSN/EXPR nodes.
870 (alloc_INSN_LIST): Function to get a free INSN_LIST node.
871 (alloc_EXPR_LIST): Function to get a free EXPR_LIST node.
872 (init_EXPR_INSN_LIST_cache): Initialize the cache lists.
873 (free_EXPR_LIST_list): Free an entire list of EXPR_LIST nodes.
874 (free_INSN_LIST_list): Free an entire list of INSN_LIST nodes.
875 (free_EXPR_LIST_node): Free an individual EXPR_LIST node.
876 (free_INSN_LIST_node): Free an individual INSN_LIST node.
877 * haifa-sched.c (unused_insn_list, unused_expr_list): Moved to flow.c
878 (free_list, alloc_INSN_LIST, alloc_EXPR_LIST): Moved to flow.c
879 (remove_dependence, free_pending_lists): Use new global routines.
880 (flush_pending_lists, sched_analyze_insn): Use new global routines.
881 (sched_analyze, compute_block_backward_dependences): Use new routines.
882 (sched_analyze_1, sched_analyze_2): Use new routines.
883 (schedule_insns): Use new global routines.
884 * rtl.h (init_EXPR_INSN_LIST_cache, free_EXPR_LIST_list): Add function
886 (free_INSN_LIST_list, free_EXPR_LIST_node): Add prototypes.
887 (free_INSN_LIST_node, alloc_INSN_LIST, alloc_EXPR_LIST): Add function
889 * toplev.c (rest_of_compilation): Initialize node cache.
890 * Makefile.in (OBJS): Add lists.o to list of object files.
891 (lists.o): Add dependancies.
893 Wed Aug 25 17:31:56 1999 Nick Clifton <nickc@cygnus.com>
895 * config/v850/v850.md: Fix compile time warning messages.
896 * config/v850/v850.c: Fix compile time warning messages.
897 * config/v850/v850.h: Fix compile time warning messages.
899 Wed Aug 25 09:44:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
901 * genattr.c (gen_attr): Add prototype arguments for get_attr_*().
902 Remove unused prototype for `init_lengths'.
904 Wed Aug 25 09:32:31 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
906 * calls.c (emit_call_1): Mark parameter `stack_size' with
908 (expand_call): Initialize variable `insn'.
909 (emit_library_call): Likewise for variable `high_to_save'.
910 (emit_library_call_value): Likewise.
911 (store_one_arg): Likewise for variables `lower_bound' and
914 * combine.c (try_combine): Likewise for variables `i2_code_number'
915 and `other_code_number'.
916 (find_split_point): Likewise for variables `pos', `unsignedp' and
918 (simplify_if_then_else): Likewise for variables `op' and `c1'.
919 (simplify_and_const_int): Remove unused variable `width'.
920 (merge_outer_ops): Likewise.
922 * cse.c (simplify_binary_operation): Cast an INTVAL() to `unsigned
923 HOST_WIDE_INT' when comparing against one.
924 (simplify_relational_operation): Likewise.
925 (cse_insn): Initialize variables `src_eqv_volatile',
926 `src_eqv_in_memory', `src_eqv_in_struct', `src_eqv_hash' and `sets'.
928 * final.c (init_final): Constify parameter `filename'.
929 (final_start_function): Mark parameter `optimize' with
931 (profile_function): Likewise for parameters `first' and `optimize'.
932 (output_source_line): Likewise for parameter `file'.
934 * integrate.c (subst_constants): Cast a value to `size_t' when
935 comparing against one.
936 (mark_stores): Initialize variable `mode'. Cast a value to
937 `size_t' when comparing against one.
939 * integrate.h (MAYBE_EXTEND_CONST_EQUIV_VARRAY): Likewise.
941 * loop.c (move_movables): Initialize variable `first'.
942 (strength_reduce): Likewise for variable `increment'.
943 (check_dbra_loop): Likewise for variable `comparison_val'. Cast a
944 value to `size_t' when comparing against one.
945 (load_mems): Initialize variable `end_label'.
947 * output.h (init_final): Constify parameter.
949 * reload.c (decompose): Initialize variable `base'.
951 * reload1.c (reload): Likewise for variable `is_scalar'.
952 (spill_hard_reg): Mark parameter `dumpfile' with ATTRIBUTE_UNUSED.
953 (choose_reload_regs): Initialize variable `mode'.
954 (emit_reload_insns): Likewise for variable `store_insn'.
955 (reload_cse_noop_set_p): Mark parameter `insn' with
957 (reload_combine): Initialize variable `set'.
959 * unroll.c (unroll_loop): Likewise for variable `local_label'.
960 (copy_loop_body): Cast a value to `size_t' when comparing against
963 * varasm.c (assemble_variable): Initialize variable `size_tree'.
964 (const_hash): Add an `else abort()' in an if-else-if-else sequence.
965 (remove_from_pending_weak_list): Mark parameter `name' with
968 Wed Aug 25 11:18:39 1999 Bernd Schmidt <bernds@cygnus.co.uk>
970 * toplev.c (rest_of_compilation): Use decl_printable_name when opening
973 Wed Aug 25 10:57:12 1999 Nick Clifton <nickc@cygnus.com>
975 * config/arm/telf.h (ASM_WEAKEN_LABEL): Define.
976 (ASM_DECLARE_FUNCTION_NAME): Define.
977 (TYPE_ASM_OP, SIZE_ASM_OP, TYPE_OPERAND_FORMAT,
978 ASM_DECLARE_RESULT, ASM_DECLARE_OBJECT_NAME,
979 ASM_FINISH_DECLARE_OBJECT, ASM_DECLARE_FUNCTION_SIZE): Define if
982 Wed Aug 25 01:36:11 1999 John David Anglin <dave@hiauly1.hia.nrc.ca>
984 * calls.c (emit_call_1): Use call_pop/call_value_pop for all values
985 of n_popped when call/call_value are not defined.
987 Wed Aug 25 01:25:14 1999 Jeffrey A Law (law@cygnus.com)
989 * tm.texi: GNU CC -> GCC conversion.
990 (CC1_SPEC): Indicate it is used for all language front ends.
992 Tue Aug 24 23:43:03 1999 Mark Mitchell <mark@codesourcery.com>
994 * flow.c (delete_block): Spell NOTE_INSN_EH_REGION_BEG and
995 NOTE_INSN_EH_REGION_END correctly.
997 Tue Aug 24 23:26:44 1999 Michael Tiemann <tiemann@holodeck.cygnus.com>
998 Jeff Law <law@cygnus.com>
1000 * loop.c (strength_reduce): Automatically unroll loops if the
1001 unrolled loop size is smaller than the rolled loop size.
1003 * loop.c (insert_bct): Replace use of sdiv_optab with asr_optab
1004 and delete comment that code should be rewritten.
1006 Tue Aug 24 22:56:35 1999 Jeffrey A Law (law@cygnus.com)
1008 * haifa-sched.c (find_rgns): Mark a block found during the DFS search
1011 * haifa-sched.c (get_visual_tbl_length): Fix off-by-one error.
1013 Tue Aug 24 22:41:06 1999 Mumit Khan <khan@xraylith.wisc.edu>
1015 * fixinc/mkfixinc.sh: Don't fix uwin headers.
1016 * i386/uwin.h (MD_STARTFILE_PREFIX): Define.
1017 (LINK_SPEC): Add -u _main when building executables.
1018 (ASM_DECLARE_FUNCTION): Update from Cygwin.
1019 (ASM_FILE_END): Use the default for ix86-pe.
1020 * i386/xm-uwin.h (HAVE_BCOPY): Undefine.
1022 Tue Aug 24 20:49:47 1999 Art Haas <ahaas@neosoft.com>
1024 * final.c (output_addr_const): Handle case where ASM_OPEN_PAREN
1025 and ASM_CLOSE_PAREN are empty strings.
1027 Wed Aug 25 12:46:22 1999 Fred Fish <fnf@cygnus.com>
1028 Geoffrey Keating <geoffk@cygnus.com>
1030 * Makefile.in (PREPROCESSOR_DEFINES): New macro.
1031 (protoize.o): Use PREPROCESSOR_DEFINES and DRIVER_DEFINES.
1032 (unprotoize.o): Ditto.
1033 (test-protoize-simple): Don't define STD_PROTO_DIR.
1034 * protoize.c: Use PARAMS rather than PROTO. Minor whitespace
1035 changes to make 'test-protoize-simple' pass.
1036 (STD_PROTO_DIR): Remove define.
1037 (STANDARD_EXEC_PREFIX): Supply default define.
1038 (standard_exec_prefix): New variable, init to STANDARD_EXEC_PREFIX.
1039 (target_machine): New variable, init to DEFAULT_TARGET_MACHINE.
1040 (target_version): New variable, init to DEFAULT_TARGET_VERSION.
1041 (GET_ENV_PATH_LIST): New macro.
1042 (default_syscalls_dir): No longer initialized to STD_PROTO_DIR.
1043 (do_processing): Initialize default_syscalls_dir using new
1044 macros. Use it to initialize syscalls_absolute_filename.
1046 Tue Aug 24 16:58:15 1999 Richard Henderson <rth@cygnus.com>
1048 * jump.c (jump_optimize_1): Do cmov opt on any single-set; force
1049 B into a register before emit_conditional_move.
1051 Tue Aug 24 15:37:03 1999 Richard Henderson <rth@cygnus.com>
1053 * fold-const.c (fold): Reassociate (+ (+ (* a b) c) (* d e))
1054 as (+ (+ (* a b) (* d e)) c). Factor a common power-of-two
1055 multiplicand out of (+ (* a b) (* c d)).
1057 Tue Aug 24 11:46:10 1999 Bob Manson <manson@cygnus.com>
1058 Richard Henderson <rth@cygnus.com>
1060 * haifa-sched.c (split_hard_reg_notes): Move to flow.c
1061 (new_insn_dead_notes): Likewise.
1062 (update_n_sets): Likewise.
1063 (update_flow_info): Move to flow.c, renamed to update_life_info;
1064 extend to handle multiple source insns.
1065 * flow.c: Include resource.h
1066 (unlink_insn_chain): New.
1067 (split_hard_reg_notes): New.
1068 (maybe_add_dead_note): New.
1069 (maybe_add_dead_note_use): New.
1070 (find_insn_with_note): New.
1071 (new_insn_dead_notes): New.
1072 (update_n_sets): New.
1073 (sets_reg_or_subreg_1, sets_reg_or_subreg): New.
1074 (maybe_remove_dead_notes): New.
1075 (update_life_info): New.
1076 (prepend_reg_notes): New.
1077 (replace_insns): New.
1078 * output.h (update_life_info): Declare.
1079 * recog.c (split_block_insns): Use update_life_info.
1080 * resource.c (find_free_register): Use reg_alloc_order, don't use
1081 fixed regs, make sure the mode is supported, don't use new regs.
1083 * rtl.h (replace_insns): Declare.
1085 Tue Aug 24 13:48:39 1999 Nathan Sidwell <nathan@acm.org>
1087 * expr.c (expand_expr): Cope with COND_EXPRs with one
1088 non-returning branch.
1090 Mon Aug 23 22:28:16 1999 Mark Mitchell <mark@codesourcery.com>
1092 * expr.c (store_expr): Always pass down the target, even when not
1095 1999-08-24 Nick Clifton <nickc@cygnus.com>
1097 * configure.in: Define target_cpu_default for v850 targets.
1098 * configure: Regenerate
1100 * config/v850/v850.h (TARGET_CPU_generic): Define.
1101 (GO_IF_LEGITIMATE_ADDRESS): Insist that SImode and larger constant
1102 addresses are 4 byte aligned.
1104 * config/v850/v850.c (print_operand): Cope with 'R' format DFmode
1107 Tue Aug 24 09:32:07 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1109 * genattr.c (function_unit_desc): Constify a char*. Add prototype.
1110 (main): Add prototypes.
1112 * genattrtab.c (substitute_address, write_const_num_delay_slots,
1113 attr_eq, attr_numeral, attr_equal_p, attr_copy_rtx): Prototype.
1114 (write_attr_get): Emit prototypes along with function definition.
1115 (write_eligible_delay): Mark a parameter with ATTRIBUTE_UNUSED.
1116 (write_complex_function): Emit static prototype along with
1117 function definition.
1119 * genemit.c (gen_split): Emit prototypes along with function
1122 * genoutput.c (output_epilogue): Add prototype to `insn_outfun'.
1123 Likewise for predicates and `insn_operand_predicate'.
1124 (process_template): Emit static prototype along with function
1127 * genrecog.c (make_insn_sequence): Constify a char*. Add
1128 prototypes for get_split_*().
1129 (write_subroutine): Emit prototypes along with function
1132 Tue Aug 24 12:35:20 1999 Bernd Schmidt <bernds@cygnus.co.uk>
1134 * gcse.c (find_avail_set): Follow chains of register-register copies.
1135 Use oprs_not_set_p to guarantee that the returned value can be
1137 (cprop_insn): Don't verify the return value of find_avail_set with
1140 * gcse.c (cprop_jump): New function, broken out of cprop_insn.
1141 (cprop_cc0_jump): New function.
1142 (cprop_insn): Break out new function cprop_jump and use it.
1143 Also use cprop_cc0_jump for machines with CC0.
1144 (cprop): Don't crash if cprop_insn turned the insn into a NOTE.
1146 * tree.h (current_function_calls_setjmp,
1147 current_function_calls_longjmp): Delete declarations.
1148 * dsp16xx.c: Include "function.h".
1149 * elxsi.c: Likewise.
1150 * gmicro.c: Likewise.
1151 * h8300.c: Likewise.
1154 * mn10200.c: Likewise.
1155 * mn10300.c: Likewise.
1156 * ns32k.c: Likewise.
1160 * rtl.h (rtx_equal_function_value_matters): Declare.
1161 * toplev.c (rtx_equal_function_value_matters): Don't declare.
1163 * function.c: Likewise.
1164 * emit-rtl.c: Likewise.
1166 Tue Aug 24 02:47:44 1999 Jeffrey A Law (law@cygnus.com)
1168 * expr.c (convert_move): Fix arguments to TRULY_NOOP_TRUNCATION
1171 1999-08-24 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1173 * jump.c (delete_barrier_successors) Match (set (pc) (pc)) insn
1176 Mon Aug 23 23:35:52 1999 Matthias Klose <doko@cs.tu-berlin.de>
1178 * cpp.texi: Add a node documenting macro varargs (copied
1181 1999-08-23 22:23 -0700 Zack Weinberg <zack@bitmover.com>
1183 * cppspec.c: Put a null pointer at the end of the new argv.
1185 Mon Aug 23 21:23:24 1999 Jeffrey A Law (law@cygnus.com)
1187 * configure.in: Remove code to select/de-select the haifa
1188 scheduler. Every scheduled port gets haifa now.
1189 * configure: Rebuilt.
1190 * flags.h, genattrtab.c, rtl.h, toplev.c: Remove HAIFA ifdefs.
1192 * Makefile.in: Corresponding changes.
1194 Mon Aug 23 16:04:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
1196 * optabs.c (prepare_cmp_insn): Turn COMPARISON arg into a pointer.
1197 All callers changed.
1198 (prepare_float_lib_cmp): Likewise.
1199 Use FLOAT_LIB_COMPARE_RETURNS_BOOL.
1200 * expr.h (emit_float_lib_cmp): Delete declaration.
1201 * tm.texi (FLOAT_LIB_COMPARE_RETURNS_BOOL): Document.
1202 * sparc.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): Define.
1203 * sparc.md (bcc and scc patterns): Don't handle TFmode comparisons
1205 (cmptf): Now conditional on TARGET_HARD_QUAD.
1207 Fri Aug 20 17:52:27 1999 Jim Wilson <wilson@cygnus.com>
1209 * resource.c (mark_target_live_regs): Use
1210 PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
1212 Fri Aug 20 19:07:55 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1214 * rtl.c (rtx_class, note_insn_name, reg_note_name): Constify.
1216 * rtl.h (rtx_class, reg_note_name, note_insn_name): Likewise.
1218 * genopinit.c (gen_insn): Use accessor macro, not `rtx_class'.
1220 Fri Aug 20 18:53:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1222 * rtl.h (rtx_format): Constify a char*.
1224 * rtl.c (rtx_format): Likewise.
1225 (copy_rtx, copy_most_rtx, read_rtx): Likewise.
1226 (init_rtl): Use accessor macro, not `rtx_format'.
1228 * alias.c (rtx_equal_for_memref_p, find_symbolic_term): Constify a
1231 * caller-save.c (mark_referenced_regs): Likewise.
1233 * combine.c (subst, make_compound_operation, known_cond,
1234 gen_rtx_combine, update_table_tick, get_last_value_validate,
1235 use_crosses_set_p, mark_used_regs_combine, move_deaths): Likewise.
1237 * cse.c (rtx_cost, mention_regs, canon_hash, exp_equiv_p,
1238 refers_to_p, canon_reg, fold_rtx, cse_process_notes,
1239 count_reg_usage): Likewise.
1241 * emit-rtl.c (gen_rtx, copy_rtx_if_shared, reset_used_flags):
1244 * final.c (leaf_renumber_regs_insn): Likewise.
1246 * flow.c (mark_used_regs, find_use_as_address, dump_flow_info,
1247 dump_edge_info, count_reg_references): Likewise.
1249 * function.c (fixup_var_refs_1, walk_fixup_memory_subreg,
1250 fixup_stack_1, purge_addressof_1, instantiate_virtual_regs_1):
1253 * gcse.c (oprs_unchanged_p, hash_expr_1, expr_equiv_p,
1254 oprs_not_set_p, expr_killed_p, compute_transp, find_used_regs,
1255 add_label_notes): Likewise.
1257 * genattrtab.c (attr_rtx, attr_copy_rtx, encode_units_mask,
1258 clear_struct_flag, count_sub_rtxs, count_alternatives,
1259 compares_alternatives_p, contained_in_p, walk_attr_value,
1260 write_expr_attr_cache): Likewise.
1262 * genconfig.c (walk_insn_part): Likewise.
1264 * genemit.c (max_operand_1, gen_exp): Likewise.
1266 * genextract.c (walk_rtx): Likewise.
1268 * genflags.c (num_operands): Likewise.
1270 * genoutput.c (scan_operands): Likewise.
1272 * genpeep.c (match_rtx): Likewise.
1274 * genrecog.c (add_to_sequence): Likewise.
1276 * haifa-sched.c (may_trap_exp, sched_analyze_2, attach_deaths):
1279 * integrate.c (save_constants, copy_for_inline,
1280 copy_rtx_and_substitute, subst_constants, restore_constants):
1283 * jump.c (mark_jump_label, invert_exp, redirect_exp,
1284 rtx_renumbered_equal_p, rtx_equal_for_thread_p): Likewise.
1286 * local-alloc.c (contains_replace_regs, memref_referenced_p):
1289 * loop.c (record_excess_regs, rtx_equal_for_loop_p,
1290 add_label_notes, replace_call_address, count_nonfixed_reads,
1291 invariant_p, find_single_use_in_loop, find_mem_givs,
1292 find_life_end, maybe_eliminate_biv_1, update_reg_last_use):
1295 * print-rtl.c (reg_names, print_rtx): Likewise.
1297 * recog.c (validate_replace_rtx_1, find_single_use_1): Likewise.
1299 * reg-stack.c (stack_regs_mentioned_p, record_label_references,
1300 record_reg_life_pat, swap_rtx_condition, goto_block_pat,
1301 print_blocks): Likewise.
1303 * regclass.c (fix_register, record_address_regs,
1304 reg_scan_mark_refs): Likewise.
1306 * regmove.c (stable_but_for_p): Likewise.
1308 * reload.c (loc_mentioned_in_p, operands_match_p,
1309 find_reloads_toplevsubst_reg_equivs, find_reloads_address_1,
1310 copy_replacements, refers_to_regno_for_reload_p,
1311 refers_to_mem_for_reload_p, find_inc_amount, regno_clobbered_p,
1312 reload_when_needed_name, reg_class_names, debug_reload_to_stream):
1315 * reload1.c (eliminate_regs, scan_paradoxical_subregs,
1316 delete_address_reloads_1, count_occurrences,
1317 reload_cse_mem_conflict_p, reload_combine_note_use,
1318 add_auto_inc_notes): Likewise.
1320 * resource.c (mark_referenced_resources, mark_set_resources):
1323 * rtlanal.c (rtx_unstable_p, rtx_varies_p, rtx_addr_varies_p,
1324 reg_mentioned_p, regs_set_between_p, modified_between_p,
1325 modified_in_p, refers_to_regno_p, reg_overlap_mentioned_p,
1326 rtx_equal_p, volatile_insn_p, volatile_refs_p, side_effects_p,
1327 may_trap_p, inequality_comparisons_p, replace_rtx, replace_regs,
1328 jmp_uses_reg_or_mem, for_each_rtx, regno_use_in): Likewise.
1330 * sched.c (sched_analyze_2, attach_deaths): Likewise.
1332 * stupid.c (stupid_mark_refs): Likewise.
1334 * unroll.c (remap_split_bivs): Likewise.
1336 * varasm.c (mark_constants): Likewise.
1338 * a29k/a29k.c (uses_local_reg_p): Likewise.
1340 * alpha/alpha.c (summarize_insn): Likewise.
1342 * arm/arm.c (symbol_mentioned_p, label_mentioned_p,
1343 eliminate_lr2ip): Likewise.
1345 * arm/thumb.c (symbol_mentioned_p, label_mentioned_p): Likewise.
1347 * i386/i386.c (symbolic_reference_mentioned_p, copy_all_rtx,
1348 reg_mentioned_in_mem): Likewise.
1350 * ns32k/ns32k.c (global_symbolic_reference_mentioned_p,
1351 symbolic_reference_mentioned_p): Likewise.
1353 * romp/romp.c (unsigned_comparisons_p, hash_rtx): Likewise.
1355 * sh/sh.c (regs_used, mark_use): Likewise.
1357 * vax/vax.c (vax_rtx_cost): Likewise.
1359 Fri Aug 20 18:38:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1361 * machmode.h (mode_name): Constify a char*.
1363 * rtl.c (mode_name): Likewise.
1365 * genopinit.c (gen_insn): Use accessor macro, not `mode_name'.
1367 * optabs.c (init_libfuncs): Constify a char*.
1369 * print-tree.c (mode_name): Remove redundant declaration.
1370 (print_node): Use accessor macro, not `mode_name'.
1372 * reload1.c (dump_needs): Constify a char*. Use accessor macro,
1374 (new_spill_reg): Constify a char*.
1376 * tree.c (mode_name): Remove redundant declaration.
1378 Fri Aug 20 18:31:26 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1380 * rtl.c (rtx_name): Constify a char*.
1382 * rtl.h (rtx_name, fix_sched_param): Likewise.
1384 * gmicro/gmicro.c (rtx_name): Remove redundant declaration.
1385 (mypr): Use accessor macro, not `rtx_name'.
1387 * genemit.c (print_code): Constify a char*.
1389 * genopinit.c (gen_insn): Use accessor macro, not `rtx_name'.
1391 * genpeep.c (print_code): Constify a char*.
1393 * genrecog.c (print_code): Likewise.
1395 * graph.c (start_fct, start_bb, node_data, draw_edge, end_fct,
1396 end_bb): Add static prototype.
1397 (draw_edge): Constify a char*.
1398 (end_bb): Remove unused parameter.
1400 * haifa-sched.c (fix_sched_param, safe_concat, print_exp
1401 print_block_visualization): Constify a char*.
1403 Fri Aug 20 15:02:10 1999 Mark Mitchell <mark@codesourcery.com>
1405 * c-common.c (c_get_alias_set): Update comment.
1407 1999-08-20 Andreas Jaeger <aj@arthur.rhein-neckar.de>
1409 * linux.h (LIB_SPEC): Added.
1411 Fri Aug 20 22:32:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1413 * config/c4x/c4x.h (STARTFILE_SPEC): Don't define.
1415 1999-08-19 18:43 -0700 Zack Weinberg <zack@bitmover.com>
1417 * tree.c (expr_check): Fix typo in last change.
1419 1999-08-19 14:44 -0700 Zack Weinberg <zack@bitmover.com>
1421 * rtl.def (NOTE): Change format to "iuu0n".
1422 (ADDR_DIFF_VEC): Change format to "eEee0".
1423 (ADDRESSOF): Change format to "eit".
1425 * rtl.h (rtvec): Make "elem" an array of rtx, not rtunion.
1426 (RTVEC_ELT): Change to match.
1427 (XVECEXP): Use XVEC and RTVEC_ELT.
1428 (INSN_UID, INSN_CODE, CODE_LABEL_NUMBER, NOTE_LINE_NUMBER,
1429 ADDRESSOF_REGNO, REGNO, SUBREG_WORD): Use XINT.
1430 (PREV_INSN, NEXT_INSN, PATTERN, REG_NOTES,
1431 CALL_INSN_FUNCTION_USAGE, SUBREG_REG, SET_SRC, SET_DEST,
1432 TRAP_CONDITION, TRAP_CODE): Use XEXP.
1433 (INTVAL): Use XWINT.
1434 (ADDRESSOF_DECL): Use XTREE.
1435 (SET_ADDRESSOF_DECL): Delete.
1436 (NOTE_DECL_NAME, NOTE_DECL_CODE, NOTE_DECL_RTL,
1437 NOTE_DECL_IDENTIFIER, NOTE_DECL_TYPE): Kill. These have been
1438 ifdefed out since 2.6 at least.
1439 (gen_rtvec_vv): Delete prototype.
1441 * rtl.h (rtvec_alloc): rt->elem is now an array of rtx,
1443 (copy_most_rtx): Handle 't' format letter.
1444 * emit-rtl.c (gen_rtvec_v): rt_val->elem is an array of rtx.
1445 (gen_rtvec_vv): Delete function. All callers changed to use
1446 gen_rtvec_v instead.
1447 * print-rtl.c (print_rtx): Move special casing of NOTEs to
1448 the '0' format letter.
1450 * function.c (gen_mem_addressof): Don't use
1451 SET_ADDRESSOF_DECL; provide `decl' to gen_rtx_ADDRESSOF
1453 * integrate.c (copy_rtx_and_substitute): Likewise.
1454 Copy 't' slots with XTREE.
1455 (subst_constants): Treat 't' slots like '[swi]' slots.
1456 * cse.c (canon_hash, exp_equiv_p): Treat 't' slots like '0' slots.
1457 * jump.c (rtx_equal_for_thread_p): Likewise.
1458 * rtlanal.c (rtx_equal_p): Likewise.
1459 * stmt.c (expand_end_case): gen_rtx_ADDR_DIFF_VEC now takes
1460 only four arguments.
1461 * gengenrtl.c (type_from_format): Provide correct types for
1465 * tree.h [ENABLE_CHECKING] (TREE_CHECK, TREE_CLASS_CHECK):
1466 If a recent gcc is in use (always in stage2 and beyond), use
1467 statement expressions, so we don't make a function call unless
1468 the check fails. Evaluate arguments exactly once.
1469 (CHAIN_CHECK, DO_CHECK, DO_CHECK1, TREE_CHECK1,
1470 TREE_CLASS_CHECK1, TYPE_CHECK1, DECL_CHECK1, CST_CHECK1):
1472 (CST_OR_CONSTRUCTOR_CHECK, EXPR_CHECK): Redefine such that
1473 they evaluate their arguments exactly once, irrespective of
1474 the compiler in use.
1476 * tree.c [ENABLE_CHECKING]: Define whichever set of functions
1477 is used by the currently-enabled check macros. This is:
1478 (tree_check_failed, tree_class_check_failed): For gcc.
1479 (tree_check, tree_class_check, cst_or_constructor_check,
1480 expr_check): For other compilers.
1482 * gencheck.c: Do not define any *_CHECK1 macros.
1484 Thu Aug 19 14:42:38 1999 Mike Stump <mrs@wrs.com>
1485 Mark Mitchell <mark@codesourcery.com>
1487 * c-common.c (c_get_alias_set): Fix support for poitners and
1490 Thu Aug 19 11:51:22 EDT 1999 John Wehle (john@feith.com)
1492 * alias.c: Include tree.h.
1493 (nonlocal_reference_p, mark_constant_function): New functions.
1494 * flow.c (life_analysis): Call mark_constant_function.
1495 * rtl.h (mark_constant_function): Declare it.
1497 Thu Aug 19 15:02:01 1999 Nick Clifton <nickc@cygnus.com>
1499 * config/rs6000/rs6000.c (rs6000_override_options): Fix test for
1500 unrecognisable switches.
1502 Wed Aug 18 23:31:57 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1504 * loop.c (recombine_givs): Set ix field after sorting.
1505 (recombine_givs): Remove bogus index / giv lockstep looping.
1507 Wed Aug 18 18:20:40 1999 Bernd Schmidt <bernds@cygnus.co.uk>
1509 * expmed.c (emit_store_flag): If UNSIGNEDP, call unsigned_condition
1511 (emit_store_flag_force): Use do_compare_rtx_and_jump.
1512 (do_cmp_and_jump): Formatting fixes.
1513 * expr.c (do_compare_and_jump): Renamed from compare; changed to call
1514 do_compare_rtx_and_jump instead of compare_from_rtx.
1515 (do_compare_rtx_and_jump): New function; mostly copied from
1517 (do_jump_for_compare): Delete.
1518 (expand_expr): Use do_compare_rtx_and_jump when handling MAX_EXPR and
1520 (do_jump): Use do_compare_and_jump or do_compare_rtx_and_jump instead
1521 of compare/do_jump_for_compare pairs.
1522 (do_jump_by_parts_greater): Use do_jump_by_parts_greater_rtx.
1523 (do_jump_by_parts_greater_rtx): Use do_compare_rtx_and_jump instead of
1524 compare_from_rtx/do_jump_for_compare pairs.
1525 (do_jump_by_parts_equality): Likewise.
1526 (do_jump_by_parts_equality_rtx): Likewise.
1527 * expr.h (do_compare_rtx_and_jump): Declare.
1528 * optabs.c (prepare_cmp_insn): New function, contains most of the code
1529 that used to be in emit_cmp_insn.
1530 (cmp_available_p): New function.
1531 (prepare_operand): New function.
1532 (emit_cmp_and_jump_insn_1): New function, contains some code that used
1533 to be in emit_cmp_insn.
1534 (prepare_float_lib_cmp): Renamed from emit_float_lib_cmp; change some
1535 parameters to be pointers; don't emit final compare but modify some of
1536 the values pointed to by the args so the caller can perform the
1538 (expand_binop): Call emit_store_flag_force with signed forms of
1540 (expand_abs): Use do_compare_rtx_and_jump instead of compare_from_rtx/
1541 emit_jump_insn pair.
1542 (emit_cmp_and_jump_insn): Use prepare_cmp_insn and
1543 emit_cmp_and_jump_insn_1. Call emit_queue.
1544 (emit_cmp_insn): Just call emit_cmp_and_jump_insns with zero for LABEL
1546 * flow.c (tidy_fallthru_edge): If HAVE_cc0, verify insn before a
1547 jump sets cc0 before deleting it.
1548 * integrate.c (expand_inline_function): Likewise.
1549 * unroll.c (unroll_loop): Similar changes in several places.
1550 (copy_loop_body): If HAVE_cc0, verify insn before a jump sets cc0
1553 Wed Aug 18 06:37:44 1999 Bernd Schmidt <bernds@cygnus.co.uk>
1555 * Makefile.in (insn-recog.o): Update dependencies.
1556 * genrecog.c (main): Make generated file include "function.h".
1558 Sat Aug 14 00:54:57 1999 Geoffrey Keating <geoffk@cygnus.com>
1560 * cse.c (cse_insn): Call never_reached_warning when a jump is
1561 changed to be unconditional.
1562 * flags.h: Declare warn_notreached.
1563 * flow.c (delete_block): Call never_reached_warning when
1565 * jump.c (delete_barrier_successors): Call never_reached_warning
1566 when we delete everything after a BARRIER.
1567 (never_reached_warning): New function.
1568 * rtl.h: Declare never_reached_warning.
1569 * toplev.c (warn_notreached): New variable.
1570 (lang_independent_options): Set warn_notreached
1571 when -Wunreachable-code.
1572 (compile_file): We need line numbers for -Wunreachable-code.
1574 Tue Aug 17 22:06:11 1999 Jan Hubicka <hubicka@freesoft.cz>
1576 * haifa-sched.c (insn_unit): Fix typo on out of range test.
1577 * sched.c (insn_unit): Likewise.
1579 Tue Aug 17 21:57:23 1999 Andreas Schwab <schwab@suse.de>
1581 * combine.c (distribute_notes): Handle REG_EH_RETHROW.
1583 Tue Aug 17 17:39:43 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
1585 * flow.c (create_edge_list): Use xmalloc, not malloc.
1587 Tue Aug 17 01:40:54 1999 Loren Rittle <ljrittle@acm.org>
1589 * fixinc/inclhack.def (no_double_slash): Do not trash single-line
1590 C-style comments. Do not lose the character before double slash.
1592 Mon Aug 16 18:08:22 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
1594 * basic-block.h (struct edge_list): Stucture to maintain a vector
1596 (EDGE_INDEX_NO_EDGE, EDGE_INDEX, INDEX_EDGE_PRED_BB, INDEX_EDGE_SUCC_BB,
1597 INDEX_EDGE, NUM_EDGES): New Macros for accessing edge list.
1598 (create_edge_list, free_edge-List, print_edge_list, verify_edge_list):
1599 New function prototypes.
1600 * flow.c (create_edge_list): Function to create an edge list.
1601 (free_edge_list): Discards memory used by an edge list.
1602 (print_edge_list): Debug output showing an edge list.
1603 (verify_edge_list): Internal consistency check for an edge list.
1604 (find_edge_index): Function to find an edge index for a pred and succ.
1606 Mon Aug 16 11:56:36 1999 Mark Mitchell <mark@codesourcery.com>
1608 * tree.c (type_hash_add): Use permalloc to allocate nodes in the
1611 Mon Aug 16 17:04:15 1999 Jorn Rennecke <amylaar@cygnus.co.uk>
1613 * mips.h (CLASS_CANNOT_CHANGE_SIZE): Define.
1615 Fri Aug 13 15:20:43 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1617 * config/i386/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
1619 Fri Aug 13 10:21:28 1999 Nick Clifton <nickc@cygnus.com>
1621 * toplev.c (rest_of_compilation): Allow machine dependent
1622 reorganisation pass to place information into the RTL dump
1623 file if it so wishes.
1625 Sun Aug 15 12:41:21 1999 Jim Wilson <wilson@cygnus.com>
1627 * explow.c (hard_function_value): Use VOIDmode instead of
1629 * stmt.c (expand_return): Likewise.
1630 * stor-layout.c (get_best_mode): Likewise.
1632 * genemit.c (gen_expand): If next is MATCH_PAR_DUP, then output
1633 emit call instead of emit_insn call.
1635 Sat Aug 14 15:04:06 1999 Mumit Khan <khan@xraylith.wisc.edu>
1637 * configure.in: Handle --disable/enable-win32-registry.
1638 * install.texi: Document --disable/enable-win32-registry.
1639 * acconfig.h (ENABLE_WIN32_REGISTRY): New macro.
1640 (WIN32_REGISTRY_KEY): New macro.
1641 * prefix.c: Use to enable/disable win32-specific code.
1642 (lookup_key): Use versioned key.
1643 * configure: Regenerate.
1644 * config.in: Likewise.
1646 Fri Aug 13 17:41:55 1999 Jason Merrill <jason@yorick.cygnus.com>
1648 * cpplib.c (read_line_number): New fn, split out of...
1651 Fri Aug 13 14:18:27 1999 Gavin Romig-Koch <gavin@cygnus.com>
1653 tree.c (lang_unsave_expr_now) : New.
1654 (unsave_expr_now): Call lang_unsave_expr_now.
1655 tree.h (lang_unsave_expr_now) : New.
1657 Fri Aug 13 00:49:46 1999 Jason Merrill <jason@yorick.cygnus.com>
1659 * toplev.c (flag_new_exceptions): On by default.
1661 1999-08-13 Michael Meissner <meissner@cygnus.com>
1663 * Makefile.in (GCC_FOR_TARGET): Move -B./ after the tooldir -B.
1665 Fri Aug 13 01:29:57 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
1667 * dwarfout.c (fundamental_type_code): Return FT_boolean for
1668 INTEGER_TYPE with precision==1, it's __java_boolean.
1670 Thu Aug 12 23:51:04 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1672 * global.c (prune_preferences): Move some invariants out of the
1675 Thu Aug 12 15:30:29 1999 Jesse Perry (jap@unx.dec.com)
1677 * configure.in (alpha*-dec-osf*): Add osf5.
1679 Sun Aug 1 22:24:03 1999 Philip Blundell <philb@gnu.org>
1681 * configure.in: Rework handling of ARM GNU/Linux slightly.
1682 (arm*-*-linux-gnuoldld): New target.
1683 * configure: Regenerate.
1684 * install.texi (Configurations): Add arm-*-linux-gnu{oldld} and
1685 arm-*-elf. Mention that arm-*-linux-gnuaout is obsolete.
1686 * config/arm/linux-oldld.h: New file.
1687 * config/arm/linux-elf26.h: Don't include linux-elf.h.
1688 (TARGET_DEFAULT, SUBTARGET_LINK_SPEC, SUBTARGET_EXTRA_ASM_SPEC):
1690 * config/arm/linux-elf.h (ASM_SPEC): Define.
1691 (TARGET_DEFAULT, SUBTARGET_EXTRA_LINK_SPEC,
1692 SUBTARGET_EXTRA_ASM_SPEC, CPP_APCS_PC_DEFAULT): Add definitions
1693 for 26-bit APCS and old linker.
1694 (CPP_PREDEFINES): Define `__arm__'; don't define `arm' or
1696 (FP_DEFAULT): Define to FP_SOFT3 for all machines.
1697 * config/arm/linux-aout.h (CPP_PREDEFINES): Define `__arm__';
1698 don't define `arm' or `arm_elf'.
1699 * config/arm/t-linux (EXTRA_MULTILIB_PARTS, MULTILIB_OPTIONS,
1700 MULTILIB_DIRNAMES): Define. Fix typo in comment.
1702 Thu Aug 12 10:14:47 1999 Andreas Schwab <schwab@suse.de>
1704 * rtl.texi: Fix typo.
1706 Wed Aug 11 23:50:57 1999 Jason Merrill <jason@yorick.cygnus.com>
1708 * invoke.texi (C++ Dialect Options): Add -fms-extensions.
1710 Wed Aug 11 12:59:37 1999 Mark Mitchell <mark@codesourcery.com>
1712 * extend.texi (C++ Signatures): Remove node.
1713 * invoke.texi: Remove discussion of -fhandle-signatures,
1714 signature, sigof, __signature__, and __sigof__.
1716 Wed Aug 11 03:38:25 1999 Jeffrey A Law (law@cygnus.com)
1718 * Makefile.in (JAVAGC): Removed.
1720 Wed Aug 11 02:13:26 1999 Mumit Khan <khan@xraylith.wisc.edu>
1722 * i386/cygwin.h (ASM_OUTPUT_ALIGNED_BSS): Define.
1724 1999-08-11 Mark Elbrecht <snowball3@bigfoot.com>
1726 * i386/djgpp.h (ASM_OUTPUT_ALIGNED_BSS): Define.
1728 1999-08-11 Richard Earnshaw (rearnsha@arm.com)
1730 * emit-rtl.c (mark_reg_pointer): Don't increase the alignment of
1731 a register that is already known to be a pointer.
1733 1999-08-11 Bruce Korb <ddsinc09@ix.netcom.com>
1735 * fixinc/inclhack.tpl: Only install assert.h conditionally.
1736 * fixinc/inclhack.sh: Regenerated.
1737 * fixinc/fixincl.sh: Regenerated.
1739 Wed Aug 11 00:34:22 1999 Joe Buck <jbuck@synopsys.com>
1741 * invoke.texi: s/GNU CC/GCC/ for consistency with gcc.texi.
1742 Fix documentation of -ansi flag to describe its C++ behavior.
1743 Remove bogus reference to GCC 2.9.
1745 Tue Aug 10 17:19:02 1999 Jim Wilson <wilson@cygnus.com>
1747 * config/sh/sh.c (machine_dependent_reorg): Only call PUT_MODE on
1748 note if it is non-NULL.
1750 Tue Aug 10 10:47:42 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
1752 * except.h (eh_nesting_info): Add new structure defintion.
1753 (init_eh_nesting_info, free_eh_nesting_info): Add function prototypes.
1754 (reachable_handlers, update_rethrow_references): Add function
1756 * rtl.h (struct rtvec_def): Update comments. REG_EH_RETHROW takes
1757 a rethrow symbol instead of an integer exception region number.
1758 * flow.c (Make_edges): Use new exception nesting routines to determine
1759 which handlers are reachable from a CALL or asynchronous insn.
1760 Dont add an edge for calls with a REG_EH_REGION of -1 to non-local
1762 (delete_eh_regions): Update rethrow labels, and don't delete
1763 regions which are the target of a rethrow.
1764 * except.c (struct func_eh_entry): Add rethrow_ref field, now we can
1765 avoid overloading the SYMBOL_REF_USED flag.
1766 (rethrow_symbol_map): Use new rethrow_ref field.
1767 (rethrow_used): Use new rethrow_ref field.
1768 (expand_rethrow): REG_EH_RETHROW now has a SYMBOL_REF instead
1769 of an integer. Fix formatting.
1770 (output_exception_table_entry): Use new rethrow_ref field.
1771 (can_throw): Check for EH_REGION_NOTE before deciding
1772 whether a CALL can throw or not.
1773 (scan_region): Call rethrow_used() instead of accessing data structure.
1774 (update_rethrow_references): New function to make sure only regions
1775 which are still targets of a rethrow are flagged as such.
1776 (process_nestinfo): New static function to initialize a handler
1777 list for a specific region.
1778 (init_eh_nesting_info): New function to allocate and initialize
1779 the list of all EH handlers reachable from all regions.
1780 (reachable_handlers): New function to retrieve the list of handlers
1781 reachable from a specific region and insn.
1782 (free_eh_nesting_info): New function to dispose of a list of
1785 Tue Aug 10 10:39:31 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
1787 * flow.c (split_edge): Set JUMP_LABEL field.
1788 (commit_one_edge_insertion): Set head correctly for insert_before.
1789 When inserting insns, update insn block numbers if allocated.
1791 Tue Aug 10 09:26:07 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1793 * dwarf2out.c (dwarf2out_frame_debug_expr, add_incomplete_type,
1794 retry_incomplete_types): Add static prototype.
1795 (stripattributes, dwarf_cfi_name, ASM_OUTPUT_DWARF_STRING,
1796 dwarf_tag_name, dwarf_attr_name, dwarf_form_name,
1797 dwarf_stack_op_name, dwarf_type_encoding_name, add_AT_string,
1798 dwarf2_name, add_name_attribute, lookup_filename, dwarf2out_line,
1799 dwarf2out_start_source_file, dwarf2out_define, dwarf2out_undef):
1802 * dwarf2out.h (dwarf2out_define, dwarf2out_undef,
1803 dwarf2out_start_source_file, dwarf2out_line): Likewise.
1805 Tue Aug 10 09:21:46 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1807 * output.h (assemble_name): Constify a char*.
1809 * varasm.c (UNIQUE_SECTION, assemble_start_function,
1810 assemble_variable, assemble_name): Likewise.
1812 * dwarf2out.c (ASM_NAME_TO_STRING): Likewise.
1814 * arm/pe.c (arm_pe_unique_section): Likewise.
1816 * i386/cygwin.h (STRIP_NAME_ENCODING): Likewise.
1818 * i386/i386-interix.h (STRIP_NAME_ENCODING): Likewise.
1820 * i386/interix.c (i386_pe_unique_section): Likewise.
1822 * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
1824 * i386/winnt.c (i386_pe_unique_section): Likewise.
1826 * m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
1828 * mn10200/mn10200.h (ASM_OUTPUT_LABELREF): Likewise.
1830 * mn10300/mn10300.h (ASM_OUTPUT_LABELREF): Likewise.
1832 * pa/pa.c (output_call): Likewise.
1834 * pa/pa.h (ASM_OUTPUT_MI_THUNK): Likewise.
1836 * pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Likewise.
1838 * rs6000/rs6000.c (rs6000_output_load_toc_table, output_toc):
1841 * rs6000/rs6000.h (RS6000_OUTPUT_BASENAME, STRIP_NAME_ENCODING):
1844 * rs6000/sol2.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1846 * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_INT,
1847 STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Likewise.
1849 * v850/v850.h (ASM_OUTPUT_LABELREF): Likewise.
1851 Mon Aug 9 19:54:05 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1853 * real.c (GET_REAL, PUT_REAL): Use memcpy instead of bcopy.
1855 Mon Aug 9 19:36:00 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1857 * tree.h (lang_identify): Constify a char*.
1858 (print_error_function): Add extern prototype. Constify a char*.
1860 * c-lang.c (lang_identify): Constify a char*.
1862 * objc/objc-act.c (lang_identify): Constify a char*.
1864 Mon Aug 9 16:21:53 1999 Bernd Schmidt <bernds@cygnus.co.uk>
1866 * genpeep.c (main): Make generated file include "function.h".
1867 * arm.c (function_really_clobbers_lr): Delete INLINE_HEADER case.
1869 Mon Aug 9 10:08:50 1999 Bernd Schmidt <bernds@cygnus.co.uk>
1871 * Makefile.in: Update dependencies.
1872 * alias.c: Include "function.h"
1873 * c-decl.c: Likewise.
1874 * caller-save.c: Likewise.
1875 * calls.c: Likewise.
1876 * combine.c: Likewise.
1878 * explow.c: Likewise.
1879 * final.c: Likewise.
1880 * global.c: Likewise.
1881 * graph.c: Likewise.
1882 * local-alloc.c: Likewise.
1884 * optabs.c: Likewise.
1885 * profile.c: Likewise.
1886 * recog.c: Likewise.
1887 * regclass.c: Likewise.
1888 * regmove.c: Likewise.
1889 * reload.c: Likewise.
1890 * reorg.c: Likewise.
1891 * resource.c: Likewise.
1892 * sched.c: Likewise.
1893 * stupid.c: Likewise.
1894 * config/1750a/1750a.c: Likewise.
1895 * config/a29k/a29k.c: Likewise.
1896 * config/arc/arc.c: Likewise.
1897 * config/arm/arm.c: Likewise.
1898 * config/arm/thumb.c: Likewise.
1899 * config/c4x/c4x.c: Likewise.
1900 * config/clipper/clipper.c: Likewise.
1901 * config/convex/convex.c: Likewise.
1902 * config/fx80/fx80.c: Likewise.
1903 * config/i860/i860.c: Likewise.
1904 * config/m68k/m68k.c: Likewise.
1905 * config/m88k/m88k.c: Likewise.
1906 * config/mips/mips.c: Likewise.
1907 * config/pdp11/pdp11.c: Likewise.
1908 * config/pyr/pyr.c: Likewise.
1909 * config/romp/romp.c: Likewise.
1910 * config/sh/sh.c: Likewise.
1911 * config/tahoe/tahoe.c: Likewise.
1912 * config/vax/vax.c: Likewise.
1913 * config/we32k/we32k.c: Likewise.
1914 * config/sparc/sparc.c: Include "function.h".
1915 (mem_min_alignment): Test current_function rather than
1916 regno_pointer_align.
1917 * config/pa/pa.c: Likewise.
1918 (compute_frame_size): Delete declaration of
1919 current_function_outgoing_args_size.
1920 * config/arc/arc.h (current_function_varargs): Delete declaration.
1921 * config/elxsi/elxsi.h (current_function_calls_alloca): Delete
1923 * config/i370/i370.h (current_function_outgoing_args_size): Delete
1925 * config/i386/i386.h (FINALIZE_PIC): Delete declaration of
1926 current_function_uses_pic_offset_table.
1927 * config/m68k/a-ux.h (FUNCTION_EXTRA_EPILOGUE): Delete declaration
1928 of current_function_returns_pointer.
1929 * config/m68k/altos3068.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
1930 * config/m68k/linux.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
1931 * config/m68k/m68kv4.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
1932 * config/m68k/mot3300.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
1933 * config/m68k/pbb.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
1934 * config/m68k/tower-as.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
1935 * config/m88k/m88k.c: Include "function.h"
1936 (call_used_regs, current_function_pretend_args_size,
1937 current_function_outgoing_args_size, frame_pointer_needed): Delete
1939 * config/m88k/m88k.h (current_function_pretend_args_size): Delete
1941 * config/mips/mips.h (current_function_calls_alloca): Delete
1943 * config/mn10200/mn10200.h (current_function_needs_context,
1944 rtx_equal_function_value_matters): Delete declarations.
1945 * config/ns32k/ns32k (current_function_uses_pic_offset_table,
1946 flag_pic): Delete declarations.
1947 * config/pa/pa.h (current_function_pretend_args_size,
1948 current_function_decl): Delete declarations.
1949 * config/pa/som.h (current_function_varargs): Delete declaration.
1950 * config/pdp11/pdp11.h (current_function_pretend_args_size): Delete
1952 * config/pyr/pyr.h (current_function_pretend_args_size,
1953 current_function_args_size, current_function_calls_alloca): Delete
1955 * config/sh/sh.h (current_function_varargs): Delete declaration.
1956 * config/sparc/sparc.h (current_function_outgoing_args_size,
1957 current_function_calls_alloca, current_function_decl): Delete
1959 * config/spur/spur.h (current_function_pretend_args_size,
1960 current_function_calls_alloca): Delete declarations.
1961 * config/v850/v850.c (current_function_outgoing_args_size): Delete
1963 * config/vax/vms.h (current_function_name): Delete declaration.
1964 * gcse.c: Include "function.h".
1965 (current_function_name, current_function_calls_setjmp): Delete
1967 * haifa-sched.c: Include "function.h".
1968 (forced_labels): Delete declaration.
1970 * reg-stack.c: Likewise.
1971 * reload1.c: Likewise.
1972 * genemit.c (main): Make generated file include function.h.
1973 * genoutput.c (output_prologue): Likewise.
1975 * builtins.c (saveregs_value, apply_args_value): Delete variables.
1976 * emit-rtl.c (reg_rtx_no, first_label_num, first_insn, last_insn,
1977 sequence_rtl_expr, cur_insn_uid, last_linenum, last_filename,
1978 regno_pointer_flag, regno_pointer_flag_length, regno_pointer_align,
1979 regno_reg_rtx, sequence_stack): Delete variables. Add accessor
1980 macros for some of them.
1981 (emit_filename, emit_lineno): Delete declarations.
1982 (gen_reg_rtx): Use memset/memcpy instead of bzero/bcopy. Access
1983 regno_pointer_* variables through current_function.
1984 (gen_inline_header_rtx): Delete function.
1985 (save_emit_status): Delete function.
1986 (set_new_last_label_num): New function.
1987 (clear_emit_caches): New function.
1988 (restore_emit_status): Just clear last_labelnum and call
1990 (get_last_insn_anywhere): Variable sequence_stack is now accessed
1991 through macro seq_stack.
1992 (add_insn_after): Likewise.
1993 (add_insn_before): Likewise.
1994 (remove_insn): Likewise.
1995 (pop_topmost_sequence): Likewise.
1996 (in_sequence_p): Likewise.
1997 (start_sequence_for_rtl_expr): Likewise.
1998 (start_sequence): Likewise, and likewise for
1999 sequence_rtl_expr/seq_rtl_expr.
2000 (push_topmost_sequence): Likewise.
2001 (end_sequence): Likewise.
2002 (init_virtual_regs): Now takes a "struct emit_status *" argument.
2003 All callers changed. Store into that pointer instead of globals.
2004 (init_emit): Allocate emit elt of current_function.
2005 Changes for sequence_rtl_expr/sequence_stack renaming.
2006 Call clear_emit_caches instead of doing it in-line.
2007 Access regno_pointer_* variables through current_function.
2008 (init_emit_once) Don't clear sequence_stack.
2010 * expr.c (pending_stack_adjust, inhibit_defer_pop, pending_chain):
2012 (arg_pointer_save_area): Delete declaration.
2013 (finish_expr_for_function): Renamed from init_queue; no longer static.
2014 (init_expr): Don't call init_queue.
2015 (save_expr_status, restore_expr_status): Delete functions.
2016 (expand_expr): Changes to reflect new layout of struct function.
2017 Don't access current_function_check_memory_usage when current_function
2019 * expr.h (forced_labels, save_expr_regs, saveregs_value,
2020 apply_args_value, current_function_calls_alloca, inhibit_defer_pop,
2021 current_function_outgoing_args_size, current_function_arg_offset_rtx,
2022 current_function_uses_const_pool, function_call_count,
2023 current_function_uses_pic_offset_table, nonlocal_labels,
2024 current_function_internal_arg_pointer, nonlocal_goto_stack_level,
2025 current_function_check_memory_usage, nonlocal_goto_handler_slots,
2026 pending_stack_adjust, target_temp_slot_level, temp_slot_level): Delete
2028 (finish_expr_for_function): Declare.
2029 * flags.h (current_function_has_nonlocal_label,
2030 current_function_has_nonlocal_goto, current_function_is_thunk,
2031 current_function_has_computed_jump): Delete declarations.
2032 * flow.c (forced_labels): Delete declaration.
2033 * function.c (current_function_pops_args,
2034 current_function_returns_struct, current_function_returns_pcc_struct,
2035 current_function_needs_context, current_function_calls_setjmp,
2036 current_function_calls_longjmp, current_function_has_nonlocal_label,
2037 current_function_has_nonlocal_goto, current_function_is_thunk,
2038 current_function_has_computed_jump, current_function_calls_alloca,
2039 current_function_contains_functions, current_function_returns_pointer,
2040 current_function_epilogue_delay_list, current_function_args_size,
2041 current_function_pretend_args_size, current_function_arg_offset_rtx,
2042 current_function_outgoing_args_size, current_function_varargs,
2043 current_function_stdarg, current_function_args_info, cleanup_label,
2044 current_function_name, current_function_uses_const_pool,
2045 current_function_instrument_entry_exit, current_function_return_rtx,
2046 current_function_uses_pic_offset_table, nonlocal_labels,
2047 current_function_internal_arg_pointer, current_function_cannot_inline,
2048 current_function_check_memory_usage, function_call_count,
2049 nonlocal_goto_handler_slots, nonlocal_goto_handler_labels,
2050 nonlocal_goto_stack_level, return_label, save_expr_regs,
2051 stack_slot_list, rtl_expr_chain, tail_recursion_label, temp_slots,
2052 tail_recursion_reentry, arg_pointer_save_area, frame_offset,
2053 context_display, trampoline_list, parm_birth_insn, invalid_stack_slot,
2054 last_parm_insn, max_parm_reg, parm_reg_stack_loc, sequence_rtl_expr,
2055 temp_slot_level, var_temp_slot_level, target_temp_slot_level):
2057 (push_function_context_to): Don't save them. Don't call
2058 save_storage_status, save_emit_status or save_expr_status.
2059 (pop_function_context_from): Don't restore them. Don't call
2060 restore_storage_status or restore_expr_status.
2061 (get_func_frame_size): New function.
2062 (get_frame_size): Use it.
2063 (assign_outer_stack_local): Reflect some member name changes in struct
2065 (put_reg_into_stack): Likewise.
2066 (assign_stack_temp_for_type): sequence_rtl_expr was renamed to
2068 (fixup_var_refs): Likewise.
2069 (fix_lexical_addr): Likewise.
2070 (trampoline_address): Likewise.
2071 (prepare_function_start): Clear field inlinable of current_function.
2072 (init_function_for_compilation): New function.
2073 (expand_dummy_function_end): New function.
2074 (expand_function_end): Call finish_expr_for_function.
2075 * function.h (struct emit_status): New; fields moved here from struct
2076 function and from global variables. Add accessor macros for some of
2078 (struct expr_status): Likewise.
2079 (REGNO_POINTER_ALIGN, REGNO_POINTER_FLAG): Moved here from regs.h.
2080 (struct function): Add fields expr and emit, inlinable, inl_emit,
2081 original_arg_vector, original_decl_initial, inl_last_parm_insn,
2082 inl_max_label_num. Add many comments.
2083 Add accessor macros for all elts of struct function that no longer
2084 have a global variable.
2085 (cleanup_label, return_label, frame_offset, tail_recursion_label,
2086 tail_recursion_reentry, arg_pointer_save_area, rtl_expr_chain,
2087 stack_slot_list): Delete declarations.
2088 (get_func_frame_size): Declare.
2089 (save_expr_status, restore_expr_status, save_emit_status,
2090 save_storage_status, restore_storage_status): Delete declarations.
2091 (init_virtual_regs): Declare.
2092 * output.h (current_function_pops_args,
2093 current_function_returns_struct, current_function_returns_pcc_struct,
2094 current_function_needs_context, current_function_calls_setjmp,
2095 current_function_calls_longjmp, current_function_calls_alloca,
2096 current_function_has_nonlocal_label, current_function_varargs,
2097 current_function_has_computed_jump, current_function_returns_pointer,
2098 current_function_contains_functions, current_function_args_size,
2099 current_function_pretend_args_size, current_function_stdarg,
2100 current_function_outgoing_args_size, current_function_args_info,
2101 current_function_name, current_function_return_rtx,
2102 current_function_epilogue_delay_list,
2103 current_function_uses_const_pool, current_function_cannot_inline):
2104 Delete declarations.
2105 * regs.h (reg_rtx_no, regno_pointer_flag, regno_pointer_flag_length,
2106 regno_reg_rtx): Delete declaration.
2107 (REGNO_POINTER_FLAG): Delete macro.
2108 * stmt.c (expand_goto): Changes to reflect that some fields in struct
2109 function were renamed.
2110 * stor-layout.c (save_storage_status, restore_storage_status): Delete
2112 * toplev.c: Include "function.h".
2113 (current_function_decl): Delete declaration.
2114 (compile_file): Call init_dummy_function_start and
2115 expand_dummy_function_end around some initializations that need to
2117 (rest_of_compilation): Use DECL_SAVED_INSNS properly.
2118 Call init_function_for_compilation.
2119 * unroll.c: Include "function.h"
2120 (unroll_loop): Access regno_pointer_* variables through
2123 * tree.h (struct tree_decl): Add elt f to saved_insns member.
2124 (DECL_SAVED_INSNS): use it.
2125 (expand_dummy_function_end): Declare.
2126 (init_function_for_compilation): Declare.
2127 * calls.c (calls_function_1): Change use of DECL_SAVED_INSNS now
2128 that it's no longer an INLINE_HEADER.
2129 (expand_call): Likewise.
2130 * integrate.c (finish_inline): Delete function.
2131 (max_parm_reg, parm_reg_stack_loc): Delete declarations.
2132 (initialize_for_inline): Delete min_labelno, max_labelno and max_reg
2133 args. Don't generate an INLINE_HEADER rtx, just return the arg
2134 vector. All callers changed.
2135 (save_for_inline_copying): Create a duplicate struct emit_status to
2136 hold the emit state for compiling the current function. Use this and
2137 the other new fields in struct function that are for integration
2138 instead of an INLINE_HEADER.
2139 Use memcpy instead of bcopy.
2140 Store the current struct function in DECL_SAVED_INSNS of fndecl.
2141 (save_for_inline_nocopy): Similar changes, except no new emit_status
2143 (expand_inline_function): Get information from function structure,
2144 not from an inline header rtx.
2145 (output_inline_function): Lose code to extract the necessary
2146 information from an inline header; simply put back the function
2147 structure into current_function. Clear its inlinable elt.
2148 * rtl.def (INLINE_HEADER): Delete.
2149 * rtl.h: Delete all accessors for an INLINE_HEADER.
2150 (gen_inline_header_rtx): Delete declaration.
2151 (regno_reg_rtx, regno_pointer_align, nonlocal_goto_handler_labels):
2152 Delete declarations.
2153 (REGNO_POINTER_ALIGN): Delete.
2154 (clear_emit_caches): Declare.
2155 (set_new_last_label_num): Declare.
2157 Mon Aug 9 01:52:24 1999 Jason Merrill <jason@yorick.cygnus.com>
2159 * print-tree.c (print_node): Print base for OFFSET_TYPEs.
2161 * except.c (expand_eh_region_start_for_decl): Always start a new block.
2162 * stmt.c (is_eh_region): Make sure current_function is present, too.
2164 Mon Aug 9 01:15:24 1999 Jeffrey A Law (law@cygnus.com)
2166 * pa.h (HARD_REGNO_MODE_OK): Correctly handle FPregs, even when
2167 for 64bit PA targets.
2169 * pa.h (SELECT_SECTION): Define.
2170 * som.h (SELECT_SECTION): Delete.
2172 Sun Aug 8 15:13:20 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2174 * alias.c (init_alias_analysis): Wrap call to
2175 `prologue_epilogue_contains' within HAVE_prologue||HAVE_epilogue.
2177 1999-08-07 Bruce Korb <autogen@linuxbox.com>
2179 * fixinc/inclhack.def(irix_asm_apostrophe): IRIX 5.2's
2180 <sys/asm.h> contains an asm comment with an apostrophe
2181 * fixinc/inclhack.sh: regen
2182 * fixinc/fixincl.x: regen
2184 Sat Aug 7 19:37:07 1999 Richard Henderson <rth@cygnus.com>
2186 * function.c (init_function_start): Clear prologue & epilogue.
2187 (prologue_epilogue_contains): New function.
2188 * alias.c (init_alias_analysis): Use it.
2189 * rtl.h (prologue_epilogue_contains): Declare it.
2191 Sat Aug 7 19:32:16 1999 Richard Henderson <rth@cygnus.com>
2193 * jump.c (onlyjump_p): New function.
2194 * rtl.h: Declare it.
2195 * flow.c (delete_unreachable_blocks): Use onlyjump_p instead
2196 of condjump_p in calling tidy_fallthru_edge and merge_blocks.
2198 Sat Aug 7 17:09:36 1999 Richard Henderson <rth@cygnus.com>
2200 * global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_REG_SET
2201 to invert loops. Simplify block scanning.
2203 Sat Aug 7 02:11:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2205 * gcse.c (hash_scan_set): Treat SYMBOL_REFs like CONST_INTs.
2206 (cprop_insn): Treat SYMBOL_REFs like CONST_INTs.
2208 1999-08-07 Jonathan Larmour <jlarmour@cygnus.co.uk>
2210 * config/sparc/liteelf.h: New file to support sparclite-elf target
2211 * config/sparc/t-sp86x: New file to support sparc86x targets
2212 * config/sparc/sp86x-aout.h: New file to support sparc86x-aout target
2213 * config/sparc/sp86x-elf.h: New file to support sparc86x-elf target
2214 * configure.in: Support above target triplets
2215 * configure: Regenerated
2217 Sat Aug 7 01:39:27 1999 Philippe De Muyter <phdm@macqel.be>
2219 * fixinc/server.c (server_setup): Do not prefix function used as
2222 Sat Aug 7 00:21:20 1999 Richard Henderson <rth@cygnus.com>
2224 * alpha.md (movhi and movqi patterns): Correct predicate for !BWX.
2225 Remove fp reg alternatives.
2227 Sat Aug 7 00:06:54 1999 Jeffrey A Law (law@cygnus.com)
2229 * Makefile.in (TAROUTOPTS): Kill.
2230 (install-headers-tar): Use "xpf" for tar headerfile extraction
2231 * i370/x-oe (TAROUTOPTS): Delete.
2232 * m68k/x-apollo68 (TAROUTOPTS): Delete.
2233 * m68k/x-hp320 (TAROUTOPTS): Delete.
2234 * m68k/x-hp320g (TAROUTOPTS): Delete.
2235 * gcc.texi: Update bug reporting text.
2237 1999-08-6 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2239 * reg-stack.c (change_stack) Fixed problem with negative array index.
2241 Fri Aug 6 23:08:44 1999 Jeffrey A Law (law@cygnus.com)
2243 * extend.texi, install.texi: Fix spelling mistakes.
2245 * Makefile.in (PREMADE_ATTRTAB_MD, PREMADE_ATTRTAB): Delete.
2246 (s-attrtab); No longer try to use pre-made insn-attrtab file.
2247 * mips/t-bsd: Delete references to obsolete PREMADE_ATTRTAB and
2249 * mips/t-ecoff: Likewise.
2250 * mips/t-elf: Likewise.
2251 * mips/t-mips: Likewise.
2252 * mips/t-osfrose: Likewise.
2253 * mips/t-r3900: Likewise.
2254 * mips/t-svr3: Likewise.
2255 * mips/t-svr4: Likewise.
2256 * mips/t-ultrix: Likewise.
2258 * gcc.texi: Document recommend means to provide software floating
2259 point libraries in libgcc.a
2261 1999-08-06 Jason Merrill <jason@yorick.cygnus.com>
2263 * c-lex.c (yylex): We can have a number with no digits.
2265 Fri Aug 6 16:53:55 EDT 1999 John Wehle (john@feith.com)
2267 * jump.c (delete_prior_computation): New function, broken
2268 out of delete_computation. Check for side effects with
2269 side_effects_p instead of FIND_REG_INC_NOTE. Handle
2270 multi-word hard registers.
2271 (delete_computation): Use it. Check for side effects with
2272 side_effects_p instead of FIND_REG_INC_NOTE. Synthesize a
2273 missing REG_DEAD note for a register which is both set and
2276 Fri Aug 6 11:05:29 1999 Jeffrey A Law (law@cygnus.com)
2278 * elf.h (TEXT_SPACE_P, FUNCTION_NAME_P): Delete.
2279 (ASM_GLOBALIZE_LABEL, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT): Likewise.
2280 (ASM_FILE_START): Import _mcount with the right type.
2281 (ASM_DECLARE_FUNCTION_NAME): Define.
2282 (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
2283 * pa.c (output_function_prologue): Always emit the function's label
2285 * pa.h (TEXT_SPACE_P): Define.
2286 (FUNCTION_NAME_P, ENCODE_SECTION_INFO, STRIP_NAME_ENCODING): Likewise.
2287 (ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_GLOBALIZE_LABEL): Likewise.
2288 * som.h (TEXT_SPACE_P): Delete.
2289 (FUNCTION_NAME_P, ENCODE_SECTION_INFO, STRIP_NAME_ENCODING): Likewise.
2290 (ASM_GLOBALIZE_LABEL, ASM_OUTPUT_INT): Likewise.
2292 Thu Aug 5 19:29:39 1999 Jim Wilson <wilson@cygnus.com>
2294 * expr.c (emit_group_load): Allow src to be a CONCAT.
2296 Thu Aug 5 22:27:15 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
2298 * config/sh/lib1funcs.asm (___movstrSI0): Change or r0,r0,r0 to nop.
2299 (___mulsi3): Use '!' comment character.
2301 Thu Aug 5 13:34:14 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2303 * reload1.c (maybe_fix_stack_asms): Also declare P as "const char *".
2305 Thu Aug 5 02:40:42 1999 Jeffrey A Law (law@cygnus.com)
2307 * gcc.c: Update URLs and mail addresses.
2308 * gcc.texi: Likewise.
2310 Thu Aug 5 01:14:13 1999 Daniel Jacobowitz <drow@false.org>
2312 * rs6000.c (current_file_function_operand): Return zero for
2314 (rs6000_encode_section_info): Do not set SYMBOL_REF_FLAG for
2316 * rs6000.h (ENCODE_SECTION_NIFO): Do not set SYMBOL_REF_FLAG
2319 Thu Aug 5 00:56:30 1999 Geoffrey Keating <geoffk@cygnus.com>
2321 * rs6000.c (rs6000_stack_info): For ABI_V4/ABI_SOLARIS -fpic, always
2322 allocate space in the stack frame for the PIC register.
2324 Thu Aug 5 00:20:47 1999 Jeffrey A Law (law@cygnus.com)
2326 * m68k.md (xordi3, anddi3): These patterns are not available on
2329 Wed Aug 4 23:39:20 1999 Mark Mitchell <mark@codesourcery.com>
2331 * real.c (GET_REAL): Don't violate ANSI/ISO aliasing rules.
2332 (PUT_REAL): Likewise.
2334 Wed Aug 4 20:45:04 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
2336 * final.c (shorten_branches): Don't add an alignment for loops
2337 that have no label inside.
2339 Wed Aug 4 16:39:24 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2341 * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp): Wrap
2342 prototypes in macro HAVE_cmpstrsi.
2344 * cpplib.c (cpp_get_token): Remove unused label `op3'.
2346 * emit-rtl.c (operand_subword): Remove unused variable
2349 * rtl.c (shallow_copy_rtx): Remove unused variable `format_ptr'.
2351 * tree.c (chainon): Wrap variable `t2' in macro ENABLE_CHECKING.
2353 Wed Aug 4 13:29:23 1999 Zack Weinberg <zack@bitmover.com>
2355 * cpphash.c (macroexpand): Delete leading whitespace when arg
2356 is concatenated before.
2357 (unsafe_chars): Correct test for whether + and - can extend a
2360 * cppinit.c (cpp_start_read): Do dependencies for
2361 -include/-imacros files also.
2363 * cpplib.c (cpp_scan_buffer): In no-output mode, don't bother
2364 tokenizing non-directive lines.
2365 (cpp_expand_to_buffer): Temporarily disable no-output mode.
2366 * cppmain.c: In no-output mode, just call cpp_scan_buffer for
2369 Wed Aug 4 12:53:44 1999 Jason Merrill <jason@yorick.cygnus.com>
2371 * expr.c (expand_expr, case PLUS_EXPR): Fix parallel case, too.
2373 * c-lex.c: Sync with C++ frontend.
2374 (linemode): New variable.
2375 (parse_float): imag, conversion_errno, and type are output only.
2376 (yylex): Adjust. Move initial '.' case into main switch.
2378 (handle_generic_pragma): Just deal with tokens.
2379 (readescape): Use ISXDIGIT and ISGRAPH.
2380 * c-parse.in: Add END_OF_LINE token.
2382 * c-lex.c (lang_init): Generalize.
2383 (nextchar): Remove. Replace uses with UNGETC.
2384 (skip_white_space): Handle linemode here. Optimize for cpplib.
2385 (skip_white_space_on_line): Remove.
2386 (extend_token_buffer_to): New fn.
2387 (extend_token_buffer): Use it.
2388 (read_line_number, check_newline): Just deal with tokens.
2389 (token_getch, token_put_back): New fns.
2390 (yylex): Use them. More cpplib optimizations. Simplify.
2392 Wed Aug 4 12:53:44 1999 Michael Tiemann <tiemann@holodeck.cygnus.com>
2393 Jason Merrill <jason@yorick.cygnus.com>
2395 * c-lex.c (init_parse): Set cpp_token to CPP_DIRECTIVE.
2396 (consume_string): Make this smart about USE_CPPLIB.
2397 (check_newline): Rewrite to be intelligent about USE_CPPLIB.
2398 (yylex): Rewrite to be intelligent about USE_CPPLIB.
2399 Also, clean up cases where we redundantly set token_buffer[0].
2400 (read_line_number): New fn.
2401 (ignore_escape_flag): New variable.
2403 Wed Aug 4 13:12:17 1999 Jeffrey A Law (law@cygnus.com)
2405 * a29k/t-a29kbare: Fix some comments.
2406 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
2407 (FPBIT, DPBIT): Define.
2408 * a29k/t-vx29k: Likewise.
2409 * arc/t-arc: Likewise.
2410 * arm/t-arm-elf: Likewise.
2411 * arm/t-bare: Likewise.
2412 * arm/t-pe: Likewise.
2413 * arm/t-pe-thumb: Likewise.
2414 * arm/t-semi: Likewise.
2415 * arm/t-thumb: Likewise.
2416 * arm/t-thumb-elf: Likewise.
2417 * arm/t-thumb-linux: Likewise.
2418 * h8300/t-h8300: Likewise.
2419 * i960/t-i960: Likewise.
2420 * i960/t-vxworks960: Likewise.
2421 * m32r/t-m32r: Likewise.
2422 * mips/t-ecoff: Likewise.
2423 * mips/t-elf: Likewise.
2424 * mips/t-r3900: Likewise.
2425 * pa/t-pro: Likewise.
2426 * rs6000/t-aix43: Likewise.
2427 * rs6000/t-beos: Likewise.
2428 * rs6000/t-newas: Likewise.
2429 * rs6000/t-ppccomm: Likewise.
2430 * rs6000/t-rs6000: Likewise.
2431 * rs6000/t-winnt: Likewise.
2432 * rs6000/t-xnewas: Likewise.
2433 * rs6000/t-xrs6000: Likewise.
2434 * sh/t-sh: Likewise.
2435 * sparc/t-elf: Likewise.
2436 * sparc/t-sparcbare: Likewise.
2437 * sparc/t-sparclite: Likewise.
2438 * sparc/t-splet: Likewise.
2439 * v850/t-v850: Likewise.
2440 * mn10200/t-mn10200: Fix comments.
2441 * mn10300/t-mn10300: Likewise.
2443 * pa.md (divsi3, udivsi3, modsi3, umodsi3 expanders): Clobber a new
2444 dummy operand. Allocate a new pseudo for the dummy operand.
2445 (divsi3, udivsi3, modis3, umodsi3 patterns): Corresponding changes.
2447 * pa.md (movqi, movhi patterns): Do not expose FP regs to regclass.
2449 Wed Aug 4 11:53:55 1999 Tom Tromey <tromey@cygnus.com>
2451 * configure: Rebuilt.
2452 * configure.in: Removed --enable-java-gc option and JAVAGC subst.
2454 Wed Aug 4 09:06:14 1999 Richard Earnshaw (rearnsha@arm.com)
2456 * recog.c (preproces_constraints): Zero recog_op_alt before
2457 processing the constraints.
2459 * arm.c (typedef minipool_node): Renamed from pool_node.
2460 (minipool_vector, minipool_size, minipool_vector_label): Similarly.
2461 (add_minipool_constant): New function.
2462 (dump_minipool): New function.
2463 (find_barrier): Remove special case for getting the insn size of
2464 an insn that references the constant pool.
2465 (minipool_fixup): New structure.
2466 (push_minipool_barrier): New function.
2467 (push_minipool_fix): New function.
2468 (note_invalid_constants): New function.
2469 (add_pool_constant, dump_table, fixit, broken_move): Delete.
2470 (arm_reorg): Rewrite code to fix up the constant pool into a
2471 series of mini-pools embedded in the insn stream.
2472 (arm_output_epilogue): New function, made mainly from the body
2473 of output_func_epilogue.
2474 (output_func_epilogue): Move insn generation part of epilogue code
2475 to arm_output_epilogue.
2476 * arm.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Delete.
2477 * arm.md (pool_range): New attribute.
2478 (zero_extendqidi2): Add attribute pool_range.
2479 (zero_extend_hisi_insn, load_extendqisi, extendhisi_insn,
2480 extendqihi_insn, extendqisi_insn, movdi, movsi_insn, pic_load_addr,
2481 pic_load_addr_based_insn, movhi_insn_arch4, movhi_insn_littleend,
2482 movhi_insn_bigend, loadhi_si_bigend, movsf_hard_insn, movsf_soft_insn,
2483 movdf_hard_insn, movdf_soft_insn, movxf_hard_insn): Likewise.
2484 (epilogue): New expand.
2485 (epilogue_insn): New insn. Call arm_output_epilogue.
2487 * arm.c (arm_poke_function_name): Undo change of July 17. Tidy up.
2488 * arm.h (TARGET_SWITCHES): Add missing doc string for TARGET_DEFAULT.
2490 Mon Aug 2 19:18:44 1999 Jason Merrill <jason@yorick.cygnus.com>
2492 * linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
2494 1999-08-04 Mark Elbrecht <snowball3@bigfoot.com>
2496 * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Define.
2498 Wed Aug 4 02:15:32 1999 Richard Henderson <rth@cygnus.com>
2500 * jump.c (delete_insn): Delete the addr_vec when deleting a tablejump.
2502 Wed Aug 4 01:48:08 1999 Jim Kingdon <http://developer.redhat.com>
2504 * global.c: Fix comment.
2506 Wed Aug 4 01:43:01 1999 Ian Lance Taylor <ian@zembu.com>
2508 * gcc.c (access_check): New static function.
2509 (find_a_file): Use it when searching a directory list.
2510 * collect2.c (find_a_file): Don't accept directories found when
2511 searching a directory list.
2513 Wed Aug 4 01:40:43 1999 Philippe De Muyter <phdm@macqel.be>
2515 * tlink.c (symbol_hash_lookup): Do not prefix functions used as
2516 function parameters with `&'.
2517 (file_hash_lookup, demangled_hash_lookup, tlink_init): Ditto.
2519 Wed Aug 4 01:08:44 1999 Jeffrey A Law (law@cygnus.com)
2521 * flow.c (delete_unreachable_blocks): Do not call merge_blocks
2522 or tidy_fallthru_edge if the last insn in the block is not
2523 an unconditional jump or a simple conditional jump.
2525 Tue Aug 3 20:21:20 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
2527 * Makefile.in (c-decl.o): Depends on defaults.h.
2529 Tue Aug 3 14:14:52 1999 Jeffrey A Law (law@cygnus.com)
2531 * pa.h (HARD_REGNO_NREGS): FP registers are always 4 bytes wide for
2533 (CLASS_MAX_NREGS): Likewise.
2535 Tue Aug 3 03:51:20 1999 Jeffrey A Law (law@cygnus.com)
2537 * cse.c (cse_insn): Fix dumb thinko in last change.
2539 Tue Aug 3 10:36:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2541 * reload1.c (maybe_fix_stack_asms): Declare CONSTRAINTS as
2544 Mon Aug 2 23:45:45 1999 Hans-Peter Nilsson <hp@bitrange.com>
2546 * dwarf2out.c (add_location_or_const_value_attribute): Correct
2547 test for sizes of passed and declared parameter types.
2549 Tue Aug 3 00:03:41 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2551 * fixincludes: Fix the return type of bsearch, char* -> void*.
2553 * fixinc/inclhack.def: Likewise.
2555 Mon Aug 2 18:29:32 1999 Mark Mitchell <mark@codesourcery.com>
2557 * invoke.texi (-fdump-translation-unit): New option.
2559 Mon Aug 2 17:54:19 1999 Richard Henderson <rth@cygnus.com>
2561 * expr.h (PROMOTE_PROTOTYPES): Move ...
2562 * defaults.h: ... to here.
2563 * c-decl.c: Include defaults.h instead of expr.h.
2564 * c-typeck.c: Include defaults.h.
2566 Mon Aug 2 17:10:24 1999 Mark Mitchell <mark@codesourcery.com>
2568 * toplev.h (errorcount): Declare.
2569 (warningcount): Likewise.
2570 (sorrycount): Likewise.
2571 * c-lex.c (errorcount): Don't declare.
2572 * dwarf2out.c (errorcount): Don't declare.
2574 Mon Aug 2 17:02:08 1999 Jason Merrill <jason@yorick.cygnus.com>
2576 * config/libgloss.h: Add a note discouraging use with ELF.
2577 * configure.in: Don't use libgloss.h for ELF targets.
2578 Always use_collect2 on a.out targets.
2580 Mon Aug 2 16:27:42 1999 Jim Wilson <wilson@cygnus.com>
2582 * combine.c (force_to_mode, case LSHIFTRT): Add goto shiftrt.
2583 (force_to_mode, case ASHIFTRT): Add shiftrt label.
2585 Tue Aug 3 00:45:02 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
2587 * loop.c (strength_reduce): When doing biv->giv conversion, update
2588 reg note of NEXT->insn.
2590 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
2592 * real.c (PUT_REAL): Clear unused bytes if long double is IEEE quad.
2594 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
2596 * c-decl.c (get_parm_info, store_parm_decls): Change all uses of
2597 PROMOTE_PROTOTYPES, so that it tests it as a C expression.
2598 Ensure expr.h is included.
2599 * c-typecheck.c (convert_arguments): Ditto.
2601 * expr.h: Supply default for PROMOTE_PROTOTYPES (0).
2603 * config/arc/arc.h: Define PROMOTE_PROTOTYPES to 1.
2604 * config/convex/convex.h: Ditto.
2605 * config/dsp16xx/dsp16xx.h: Ditto.
2606 * config/fx80/fx80.h: Ditto.
2607 * config/gmicro/gmicro.h: Ditto.
2608 * config/i370/i370.h: Ditto.
2609 * config/i386/i386.h: Ditto.
2610 * config/m32r/m32r.h: Ditto.
2611 * config/m68k/m68k.h: Ditto.
2612 * config/m88k/m88k.h: Ditto.
2613 * config/mips/mips.h: Ditto.
2614 * config/pa/pa.h: Ditto.
2615 * config/pyr/pyr.h: Ditto.
2616 * config/tahoe/tahoe.h: Ditto.
2617 * config/we32k/we32k.h: Ditto.
2619 * config/sparc/sparc.h: Define PROMOTE_PROTOTYPES
2622 * config/i1750a/i1750a.h: Define PROMOTE_PROTOTYPES to 0.
2624 * config/i860/paragon.h: Remove PROMOTE_PROTOTYPES
2627 * tm.texi: Document new usage of PROMOTE_PROTOTYPES.
2629 1999-08-02 Richard Henderson <rth@cygnus.com>
2631 * m32r.c (m32r_setup_incoming_varargs): Use get_varargs_alias_set
2632 for the register spill block.
2634 * m32r.h (EXPAND_BUILTIN_VA_ARG): New.
2635 (EXPAND_BUILTIN_SAVEREGS): Delete #if 0 code.
2637 * m32r.h (INT8_P): Don't short-cut test with (unsigned).
2638 (INT16_P, CMP_INT16_P, UINT16_P): Likewise.
2639 (UPPER16_P, UINT24_P, INT32_P, UINT5_P): Likewise.
2641 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
2643 * config/sparc/linux.h: Define WCHAR_TYPE as "int" and undef
2644 MAX_WCHAR_TYPE defined in sparc.h.
2645 * config/sparc/linuxaout.h: Likewise.
2646 * config/sparc/linux64.h: Likewise.
2647 Also default to -mvis if CPU is UltraSPARC.
2649 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
2651 * config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): New macro.
2652 (RTX_OK_FOR_OLO10): Likewise.
2653 (GO_IF_LEGITIMATE_ADDRESS): If assembler supports offsetable
2654 %lo(), allow it in addresses...
2655 (PRINT_OPERAND_ADDRESS): ... and print it appropriately.
2656 * config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): sethi %lo()
2657 does not make sense.
2658 * config/sparc/sparc.c (sparc_hard_reg_printed): New array.
2659 (sparc_output_scratch_registers): New function.
2660 (output_function_prologue, sparc_flat_output_function_prologue): Use
2662 * varasm.c (make_decl_rtl): Use ASM_DECLARE_REGISTER_GLOBAL if
2664 * tm.texi (ASM_DECLARE_REGISTER_GLOBAL): Document it.
2665 * configure.in: Add check for .register pseudo-op support in as and
2666 check for offsetable %lo().
2667 * acconfig.h: Add templates for the above checks.
2668 * configure: Regenerate.
2670 1999-08-02 Richard Henderson <rth@cygnus.com>
2672 * sparc/linux64.h (TARGET_DEFAULT): Remove MASK_APP_REGS.
2673 * sparc/sol2-sld-64.h (TARGET_DEFAULT): Likewise.
2674 * sparc/sol2.h (TARGET_DEFAULT): Likewise.
2676 Mon Aug 2 23:46:45 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
2678 * loop.c (strength_reduce): When doing biv->giv conversion, fix up
2681 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
2683 * config/float-sparc.h: New file.
2684 * configure.in: Use float_format=sparc for sparc-*-linux-gnulibc1,
2685 sparc-*-linux-gnu and sparc64-*-linux*.
2687 1999-08-02 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2689 * rs6000.c (rs6000_va_list): Type is an array.
2690 (rs6000_va_start): Don't doubly adjust for varargs.
2691 (rs6000_va_arg): Evaluate long long GPR adjustment.
2693 Mon Aug 2 16:15:57 1999 David Edelsohn <edelsohn@gnu.org>
2695 * rs6000/aix43.h (SUBTARGET_SWITCHES): Use -m64 and -m32 instead of
2696 -maix64 and -maix32.
2697 (ASM_SPEC, ASM_CPU_SPEC, CPP_SPEC, CPP_CPU_SPEC, LIB_SPEC,
2698 LINK_SPEC): Change appropriately.
2699 * rs6000/rs6000.c (short_cint_operand): Use CONST_OK_FOR_LETTER_P.
2700 (u_short_cint_operand): Likewise.
2701 * rs6000/rs6000.md (movdi splitters): Add TARGET_POWERPC64 support
2703 * rs6000/t-aix43 (MULTILIB): Change to -m64.
2705 * invoke.texi (RS/6000 Submodel): Document 64-bit processor options.
2707 Mon Aug 2 16:15:57 1999 Geoff Keating <geoffk@cygnus.com>
2709 * rs6000/rs6000.c (num_insns_constant_wide): Correct
2711 (add_operand): Get test correct for 64-bit HOST_WIDE_INT.
2712 (non_add_cint_operand): Likewise.
2713 (logical_operand): Likewise.
2714 (non_logical_cint_operand): Likewise.
2715 (print_operand): Correct printf()s for 64-bit HOST_WIDE_INT.
2716 (print_operand_address): Correct printf() for 64-bit HOST_WIDE_INT.
2717 (rs6000_select_rtx_section): Suppress warning.
2718 (small_data_operand): Suppress warning.
2719 (rs6000_got_register): Suppress warning.
2720 * rs6000/rs6000.md (andsi3): HOST_WIDE_INT is a signed
2721 type, so `J' is generally the wrong constraint for a SImode value;
2723 (andsi3_internal2): Likewise.
2724 (andsi3_internal3): Likewise.
2725 (iorsi3_internal1): Likewise.
2726 (xorsi3_internal1): Likewise.
2728 (movsf_softfloat): Likewise.
2729 (scc insns): Likewise.
2730 (movsi+2): Preserve sign bits of SImode constant.
2731 (floatsidf2_internal+1): Sign-extend SImode constant correctly.
2732 (movdf+1): Sign-extend properly.
2733 (movdi_32+1): Sign-extend properly.
2734 (scc insns): Sign-extend properly.
2736 * md.texi (RS/6000 EXTRA_CONSTRAINTS): Update documentation for J,
2739 1999-08-02 Richard Henderson <rth@cygnus.com>
2741 * alpha.c (override_options): Move ev6 alpha_tp frobbing out of
2743 (print_operand): Notice alpha_fptm not alpha_tp for sw completion.
2744 * alpha.md (all fp insns): Likewise.
2746 1999-08-02 Nick Clifton <nickc@cygnus.com>
2748 * config/v850/v850.h (STRICT_ALIGNMENT): Only define if not
2751 Mon Aug 2 03:38:33 1999 Jeffrey A Law (law@cygnus.com)
2753 * pa.c (legitimize_pic_address): Clarify comments. Do not call the
2754 pic_load_label generator directly.
2755 * pa.md (pic_load_label): Clarify comments. Remove modes on operands.
2756 No longer a named pattern.
2758 Mon Aug 2 09:38:10 1999 Nick Clifton <nickc@cygnus.com>
2760 * explow.c (force_reg): Call force_operand if X does not
2761 satisfy general_operand.
2763 Mon Aug 2 01:34:22 1999 Jeffrey A Law (law@cygnus.com)
2765 * fix-header.c (main): When testing for CONTINUED, use string
2766 equality, not pointer equality.
2768 Mon Aug 2 01:27:24 1999 Dan Nicolaescu <dann@ics.uci.edu>
2770 * sparc.c (sparc_block_profiler): Use the %g2 register, not %o0.
2772 Sun Aug 1 22:46:42 1999 Jeffrey A Law (law@cygnus.com)
2774 * cse.c (cse_insn): Fix loop which deletes insns after a jump
2775 that has become an unconditional jump.
2777 * m68k.c (output_function_prologue): Fix typo in CPU32 case.
2778 (output_function_epilogue): Similarly.
2780 Sun Aug 1 20:14:00 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2782 * tree.h (init_dummy_function_start): Declare.
2784 Sun Aug 1 12:55:31 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2786 * stmt.c (emit_filename, emit_lineno, expr_stmts_for_value,
2787 last_expr_type, last_expr_value, block_start_count, block_stack,
2788 stack_block_stack, cond_stack, loop_stack, case_stack, nesting_stack,
2789 nesting_depth, goto_fixup_chain): Delete global vars; now allocated
2790 dynamically in stmt elt of struct function for each function.
2791 (struct nesting): Rename function_call_count elt to n_function_calls,
2792 target_temp_slot_level to block_target_temp_slot_level. All users
2794 (struct stmt_status): New structure definition.
2795 Add many accessor macros for stmt_status elements which previously
2796 were global variables.
2797 (init_stmt_for_function): Allocate stmt elt for current_function.
2798 Reflect that block_start_count was renamed to
2799 current_block_start_count.
2800 (save_stmt_status, restore_stmt_status): Delete functions.
2801 (preserve_subexpressions_p): Don't access loop_stack when outside
2803 (expand_start_bindings): Reflect that block_start_count was renamed to
2804 current_block_start_count.
2805 (expand_fixup): Likewise.
2806 (expand_decl): Don't access block_stack when outside a function.
2807 (expand_decl_cleanup): Likewise.
2808 (expand_dcc_cleanup): Likewise.
2809 (expand_dhc_cleanup): Likewise.
2810 (expand_anon_union_decl): Likewise.
2811 (set_file_and_line_for_stmt): New function.
2812 (in_control_zone_p): New function.
2814 * function.h (struct function): Add new elt stmt.
2815 Delete elts block_stack, stack_block_stack, cond_stack, loop_stack,
2816 case_stack, nesting_stack, nesting_depth, block_start_count,
2817 last_expr_type, last_expr_value, expr_stmts_for_value, emit_filename,
2818 emit_lineno, goto_fixup_chain.
2819 (save_eh_status, restore_eh_status, save_stmt_status,
2820 restore_stmt_status): Delete declarations.
2821 * function.c (push_function_context_to): Don't call save_stmt_status.
2822 (pop_function_context_to): Don't call restore_stmt_status.
2823 * tree.h (in_control_zone_p): Declare.
2824 * rtl.h (set_file_and_line_for_stmt): Declare.
2826 * emit-rtl.c (emit_line_note): Don't set emit_filename/emit_lineno;
2827 call set_file_and_line_for_stmt.
2829 Thu Jul 31 12:34:45 1999 Joe Buck <jbuck@synopsys.com>
2831 * gcc.texi: Use terms "GNU Compiler Collection" and "GCC".
2832 Also update copyright.
2834 Sat Jul 31 11:10:07 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2836 * c-pragma.c: Don't include "except.h".
2837 * emit-rtl.c: Likewise.
2838 * stor-layout.c: Likewise.
2840 * varasm.c: Likewise.
2842 * flow.c: Include "function.h".
2843 * tree.h (init_dummy_function_start): Declare new function.
2845 * except.h (struct eh_status): New structure.
2846 (struct label_node, struct eh_entry): Declare even if tree.h hasn't
2848 (eh_return_stub_label, ehstack, catchstack, ehqueue,
2849 catch_clauses, false_label_stack, caught_return_label_stack,
2850 protect_list, current_function_ehc): Add accessor macros for the
2851 corresponding fields in current_function->eh; delete declarations
2852 for all items that used to be declared here.
2853 * except.c (eh_return_stub_label, ehstack, catchstack, ehqueue,
2854 catch_clauses, false_label_stack, caught_return_label_stack,
2855 protect_list, current_function_ehc): Delete variables.
2856 (init_eh_for_function): Allocate current_function->eh.
2857 (save_eh_status, restore_eh_status): Delete functions.
2859 * function.h (struct function): Add fields next_global and eh.
2860 Delete all exception handling related fields.
2861 * function.c (current_function): New variable.
2862 (all_functions): New variable.
2863 (push_function_context_to): Don't allocate a struct function,
2864 use current_function instead. Call init_dummy_function_start when
2865 outside a function. Clear current_function before returning.
2866 (pop_function_context_from): Restore current_function.
2867 Don't free the restored struct function.
2868 (prepare_function_start): New function.
2869 (init_dummy_function_start): New function.
2870 (init_function_start): Break out some code into prepare_function_start
2873 * stmt.c (save_stmt_status): Don't call save_eh_status.
2874 (restore_stmt_status): Don't call restore_eh_status.
2876 * Makefile.in: Update dependencies.
2878 Sat Jul 31 04:10:01 1999 Jeffrey A Law (law@cygnus.com)
2882 * pa.c (compute_frame_size): Use STARTINg_FRAME_OFFSET instead
2883 of depending on a magic constant value. Update comments.
2884 (hppa_expand_prologue): Similarly.
2886 * pa.md (reload_indi, reload_outdi): Allow any register for the
2887 original reload register.
2889 Fri Jul 30 19:41:35 1999 Jim Wilson <wilson@cygnus.com>
2891 * cccp.c (print_help): Change marcos to macros.
2893 1999-07-30 Richard Henderson <rth@cygnus.com>
2895 * c-typeck.c (initializer_constant_valid_p): Move ...
2896 * c-common.c (initializer_constant_valid_p): ... here. Use
2897 FOO_TYPE_P instead of tests against TREE_CODE. Allow subtraction
2899 * c-common.h (initializer_constant_valid_p): Declare.
2900 * c-tree.h (initializer_constant_valid_p): Remove.
2902 Fri Jul 30 16:33:42 1999 Mathias Froehlich <frohlich@na.uni-tuebingen.de>
2904 * config/i386/sol2-c1.asm: Align the stack.
2905 * config/i386/sol2-gc1.asm: Likewise.
2907 1999-07-30 Vladimir Makarov <vmakarov@loony.cygnus.com>
2909 * config/sparc/sparc.h (ASM_CPU32_DEFAULT_SPEC): Change -Av8 onto
2910 -Asparclite for sparc86x.
2911 (CPP_CPU32_DEFAULT_SPEC, CPP_CPU_SPEC): Remove -D__sparc_v8__ for
2913 (ASM_CPU_SPEC): Use -Asparclite for sparc86x.
2915 Fri Jul 30 14:53:56 1999 Jakub Jelinek <jj@ultra.linux.cz>
2917 * config/sparc/linux64.h (CC1_SPEC): Preserve CPU specified by
2918 the user if using the non-default arch size in BI_ARCH configuration.
2919 * config/sparc/sol2-sld-64.h (CC1_SPEC): Ditto.
2921 * config/sparc/sparc.md (cmp_mul_set, cmp_udiv_cc_set):
2922 Fix patterns so that they actually match.
2923 (cmp_sdiv_cc_set): Ditto, also don't require g0 to be zero.
2924 (mulsidi3_sp64, const_mulsidi3_sp64): New patterns.
2925 (const_mulsidi3_sp32): Renamed from const_mulsidi3, only on
2927 (mulsidi3): Reflect this in the expand.
2928 (smulsi3_highpart): Only on TARGET_ARCH32.
2929 (umulsidi3_sp64, const_umulsidi3_sp64): New patterns.
2930 (const_umulsidi3_sp32): Renamed from const_umulsidi3.
2931 (umulsidi3): Reflect this in the expand.
2932 (umulsi3_highpart): Only on TARGET_ARCH32.
2933 (divsi3_sp32): Renamed from divsi3, only on TARGET_ARCH32,
2934 don't require g0 to be zero.
2935 (udivsi3_sp32): Renamed from udivsi3, only on TARGET_ARCH32.
2936 ({,u}divsi3): New expands.
2937 ({,u}divsi3_sp64): New patterns.
2938 (after lshrdi3_v8plus): Four new patterns to help combiner
2939 optimizing nested mixed mode shifts.
2941 * config/sparc/sparc.c (sparc_override_options): Use deprecated
2942 v8 instructions if optimizing for UltraSPARC I, II, IIi, as it
2943 speed things up. Don't use them by default on plain v9 in 64bit
2944 mode, according to what SPAMv9 sais.
2946 * config/sparc/sparc.h: Fix comments, e.g. Linux already preserves
2947 top 32 bits of %[og][0-7] in signal handlers.
2948 Also, TARGET_HARD_MUL32 now is only true for TARGET_ARCH32.
2950 Fri Jul 30 03:00:41 1999 Jeffrey A Law (law@cygnus.com)
2952 * pa.md (zvdep_imm32): Renamed from zvdep_imm.
2953 (ashlsi3): Corresponding changes.
2955 * pa.c (compute_zdepwi_operands): Renamed from compute_zdepi_operands.
2957 Thu Jul 29 18:37:13 1999 Jeffrey A Law (law@cygnus.com)
2959 * pa.h (FIRST_PARM_CALLER_OFFSET): Delete.
2961 Thu Jul 29 19:01:58 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2963 * arm.h (Hint): Delete macro.
2964 Substitute HOST_WIDE_INT for Hint in some prototypes.
2965 * arm.c: Substitute HOST_WIDE_INT for Hint in one prototype.
2967 Thu Jul 29 09:21:42 1999 Nick Clifton <nickc@cygnus.com>
2969 * builtins.c (expand_builtin_setjmp): Use force_operand to
2970 make sure that the buffer address is in a suitable form to be
2971 passed to force_reg.
2973 Wed Jul 28 12:50:48 1999 Geoff Keating <geoffk@cygnus.com>
2975 * config/mips/mips.c: system.h handles MIN and MAX, don't undefine
2978 Wed Jul 28 13:18:35 1999 Jeffrey A Law (law@cygnus.com)
2980 * pa.md (indirect_jump): Remove mode from match_operand. Verify
2981 proper mode in the condition string.
2982 (icacheflush, dcacheflush): Remove modes from match_operands.
2984 * pa.c (emit_move_sequence): Always convert scratch_reg to the
2985 proper mode before using it.
2987 * pa.md (adddi3, subdi3): Turn into a define_expand/define_insn
2990 * pa.c (store_reg): Do not call add_high_const generator directly.
2991 (load_reg, set_reg_plus_d): Likewise.
2992 * pa.md (add_high_const): No longer a named pattern.
2994 * pa.c (legitimize_address): Consistently use Pmode rather than
2995 SImode. Do not call gen_pic2_highpart directly anymore.
2996 * pa.md (pic2_highpart): No longer a named pattern.
2997 (pic2_lo_sum): Similarly. Reformat to make more readable.
2999 * pa.md (call, call_value): Use "word_mode" instead of "SImode" as
3004 Wed Jul 28 11:28:04 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3006 * builtins.c (expand_builtin): Typo in call to expand_builtin_ffs.
3011 Wed Jul 28 11:23:48 1999 Richard Henderson <rth@cygnus.com>
3013 * pa.c (hppa_builtin_saveregs): Use get_varargs_alias_set
3014 and tag the spill mems.
3015 (hppa_va_start): New.
3017 * pa.h (EXPAND_BUILTIN_VA_START): New.
3018 (EXPAND_BUILTIN_VA_ARG): New.
3020 Wed Jul 28 11:22:21 1999 Richard Henderson <rth@cygnus.com>
3022 * mn10300.c (mn10300_builtin_saveregs): Use get_varargs_alias_set
3023 and tag the spill mems.
3024 (mn10300_va_start): New.
3025 (mn10300_va_arg): New.
3026 * mn10300.h (EXPAND_BUILTIN_VA_START): New.
3027 (EXPAND_BUILTIN_VA_ARG): New.
3029 Wed Jul 28 11:20:19 1999 Richard Henderson <rth@cygnus.com>
3031 * mn10200.c (mn10200_va_arg): New.
3032 * mn10200.h (EXPAND_BUILTIN_VA_ARG): New.
3034 Wed Jul 28 11:19:06 1999 Richard Henderson <rth@cygnus.com>
3036 * builtins.c (std_expand_builtin_va_arg): Use int_size_in_bytes
3037 rather than play with TREE_INT_CST_LOW.
3039 1999-07-27 Philip Blundell <pb@nexus.co.uk>
3041 * config/arm/telf.h: Include dbxelf.h.
3042 (CPP_PREDEFINES): Only define if not already defined.
3043 (ASM_IDENTIFY_GCC): Likewise.
3044 (SUBTARGET_EXTRA_SECTIONS): Likewise.
3045 (SUBTARGET_EXTRA_SECTION_FUNCTIONS): Likewise.
3046 * config/arm/thumb.h (LINK_SPEC): Only define if not already
3048 (DBX_DEBUGGING_INFO): Don't define.
3049 * config/arm/linux-telf.h: New file.
3050 * config/arm/linux-tgas.h: New file.
3051 * config/arm/t-thumb-linux: New file.
3052 * config/arm/uclinux-elf.h: New file.
3053 * config/arm/uclinux-telf.h: New file.
3054 * configure.in (arm-*-uclinux, thumb-*-linux-gnu,
3055 thumb-*-uclinux): New targets.
3056 * configure: Regenerate.
3058 Tue Jul 27 23:20:21 1999 Jeffrey A Law (law@cygnus.com)
3060 * pa.md (post_store, pre_load): New expanders.
3061 (post_stwm, pre_ldwm): Renamed to post_stw and pre_ldw respectively.
3062 (post_ldwm, pre_stwm): Make these unnamed patterns since we never
3063 need to directly generate RTL for them.
3064 * pa.c (hppa_expand_prologue, hppa_expand_epilogue): Corresponding
3067 Tue Jul 27 16:05:52 1999 David Edelsohn <edelsohn@gnu.org>
3069 * aix43.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add rs64a and PPC630.
3070 * rs6000.c (processor_target_table): Add powerpc64, rs64a, and PPC630.
3071 (rs6000_cpu): Choose between 32-bit and 64-bit default processors.
3072 (secndary_reload_class): Make TARGET_ELF conditional compile.
3073 (print_operand_address): Similar.
3074 (output_toc): Print all values as hex.
3075 (get_issue_rate): Rearrange and add RS64A and PPC630.
3076 * rs6000.h (processor_type): Add RS64A and PPC630.
3077 (PROCESSOR_POWERPC64): New.
3078 (PROMOTE_MODE): Use word_mode.
3079 (RTX_COSTS): Add RS64A and PPC630.
3080 * rs6000.md (scheduling information): Add lmul and ldiv
3081 representing 64-bit integer multiply and divide. Add rs64a and
3083 (ashldi3): Add support for "rldic" instruction.
3084 * sysv4.h (PROCESSOR_DEFAULT): Change to PROCESSOR_750.
3086 Tue Jul 27 15:31:53 1999 Vladimir Makarov <vmakarov@toad.to.cygnus.com>
3088 * config/sparc/sparc.c (sparc_override_options): Enable SPARCLITE
3089 instead of V8 for sparclite86x in cpu_table.
3091 Tue Jul 27 17:49:42 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3093 * config/arm/coff.h (ASM_FILE_START): If generating SDB output, call
3094 output_file_directive.
3096 Tue Jul 27 03:15:33 1999 Jason Merrill <jason@yorick.cygnus.com>
3098 * expr.c (expand_expr, case PLUS_EXPR): Get the mode from the
3099 tree for op1, not the rtl.
3101 Tue Jul 27 00:18:34 1999 Richard Henderson <rth@cygnus.com>
3103 * m88k.c (m88k_builtin_saveregs): Break out the constructor code
3104 to m88k_va_start, leaving only the register spill.
3105 (m88k_build_va_list): New.
3106 (m88k_va_start): New.
3108 * m88k.h (BUILD_VA_LIST_TYPE): New.
3109 (EXPAND_BUILTIN_VA_START): New.
3110 (EXPAND_BUILTIN_VA_ARG): New.
3112 Mon Jul 26 19:07:11 1999 Geoff Keating <geoffk@cygnus.com>
3114 * config/rs6000/rs6000.c (rs6000_expand_builtin_saveregs):
3115 Rename from expand_builtin_saveregs.
3116 * config/rs6000/rs6000.h (EXPAND_BUILTIN_SAVEREGS): Change caller.
3118 Mon Jul 26 22:52:47 1999 Richard Henderson <rth@cygnus.com>
3120 * i960.c (i960_setup_incoming_varargs): Use get_varargs_alias_set
3121 for the register spill block.
3122 (i960_build_va_list): New.
3123 (i960_va_start): New.
3125 * i960.h (BUILD_VA_LIST_TYPE): New.
3126 (EXPAND_BUILTIN_VA_START): New.
3127 (EXPAND_BUILTIN_VA_ARG): New.
3128 * i960.md (store_multiple): Use change_address on individul mems.
3130 Mon Jul 26 22:43:12 1999 Richard Henderson <rth@cygnus.com>
3132 * builtins.c (stabilize_va_list): Don't INDIRECT_REF through
3134 (std_expand_builtin_va_start): Back out one word if !stdarg_p.
3135 (expand_builtin_va_end): Evaluate arg for side effects.
3136 * c-common.c (c_common_nodes_and_builtins): Construct a
3137 va_list_arg_type_node to handle array decomposition to pointer.
3139 Mon Jul 26 18:51:34 1999 Richard Henderson <rth@cygnus.com>
3141 * except.c (start_dynamic_cleanup): Use force_operand on the
3144 Mon Jul 26 16:43:26 1999 Richard Henderson <rth@cygnus.com>
3146 * c4x.h (EXPAND_BUILTIN_VA_ARG): New.
3147 * c4x.c (c4x_va_arg): New.
3149 Mon Jul 26 12:30:09 1999 Jason Merrill <jason@yorick.cygnus.com>
3151 * cpplib.c (cpp_get_token): Don't return a CPP_POP if the buffer
3154 1999-07-26 Nathan Sidwell <nathan@acm.org>
3156 * eh-common.h (__eh_matcher): Prototype correctly.
3158 Mon Jul 26 17:24:51 1999 Philip Blundell <pb@nexus.co.uk>
3160 * config/arm/thumb.h (THUMB_FLAG_SINGLE_PIC_BASE): Define.
3161 (TARGET_SINGLE_PIC_BASE): Likewise.
3162 (GOT_PCREL, NEED_GOT_RELOC, NEED_PLT_RELOC): Provide default
3164 (TARGET_CALLEE_INTERWORKING): Fix typo in comment.
3165 (TARGET_SWITCHES): Add -m{no-}single-pic-base.
3166 (TARGET_OPTIONS): Add -mpic-register=N.
3167 (OUTPUT_INT_ADDR_CONST): New macro.
3168 (INDEX_REGISTER_RTX_P, PIC_OFFSET_TABLE_REGNUM, FINALIZE_PIC,
3169 LEGITIMATE_PIC_OPERAND_P): Likewise.
3170 (LEGITIMIZE_ADDRESS, GOT_IF_LEGITIMATE_ADDRESS): Support PIC.
3171 (ASM_OUTPUT_INT): Use OUTPUT_INT_ADDR_CONST rather than calling
3172 output_addr_const directly.
3173 (PRINT_OPERAND_PUNCT_VALID_P): Accept `|' for compatibility with
3175 (thumb_pic_register, thumb_pic_register_string): Declare.
3177 * config/arm/thumb.c (symbol_mentioned_p): New function: Imported
3179 (label_mentioned_p): New function: Imported from arm.c.
3180 (legitimize_pic_address): New function: Imported from arm.c.
3181 (is_pic):New function: Imported from arm.c.
3182 (thumb_finalize_pic):New function: Imported from arm.c.
3183 (add_constant): Cope with PIC constants.
3184 (fixit): Cope with PIC constants.
3185 (output_return): Do not treat the PIC register as live if
3186 TARGET_SINGLE_PIC_BASE is true.
3187 (thumb_function_prologue): Do not treat the PIC register as live if
3188 TARGET_SINGLE_PIC_BASE is true.
3189 (thumb_expand_prologue): Do not treat the PIC register as live if
3190 TARGET_SINGLE_PIC_BASE is true.
3191 (thumb_unexpand_epilogue): Do not treat the PIC register as live if
3192 TARGET_SINGLE_PIC_BASE is true.
3193 (thumb_print_operand): Accept '|'.
3194 (thumb_override_options): Process PIC options.
3196 * config/arm/thumb.md (movsi): Support PIC.
3197 (call_insn): Change "i" constraint to "X".
3198 (call_value_insn): Likewise.
3199 (consttable_4, consttable_8, consttable_end): Set and clear
3200 "making_const_table" as appropriate.
3201 (pic_load_addr, pic_add_dot_plus_four): New insns.
3203 * invoke.texi (Thumb Options): Fix spelling. Document new
3204 options -msingle-pic-base and -mpic-register=.
3206 1999-07-26 Andrew Haley <aph@cygnus.com>
3208 * config/m32r/initfini.c (__init): Use a full word immediate for
3209 __fini: this allows it to be placed in any memory region.
3211 * config/m32r/t-m32r: Compile crtinit.o and crtfini.o for
3212 -mmodel=medium. This is OK for all memory models.
3214 Mon Jul 26 11:58:46 1999 Nick Clifton <nickc@cygnus.com>
3216 * config/arm/arm.c: Replace %R%s in asm_fprintf strings with %r.
3217 * config/arm/arm.h: Replace %R%s in asm_fprintf strings with %r.
3219 Mon Jul 26 10:23:36 1999 Nick Clifton <nickc@cygnus.com>
3221 * final.c (asm_fprintf): Accept ASM_FPRINTF_EXTENSIONS, if
3224 * tm.texi: Document ASM_FPRINTF_EXTENSIONS.
3226 Sun Jul 25 23:51:59 1999 Richard Henderson <rth@cygnus.com>
3228 * i860.h (EXPAND_BUILTIN_SAVEREGS): New.
3229 (BUILD_VA_LIST_TYPE): New.
3230 (EXPAND_BUILTIN_VA_START): New.
3231 (EXPAND_BUILTIN_VA_ARG): New.
3232 * i860.c (output_delayed_branch): Disable.
3233 (output_delay_insn): Likewise.
3234 (i860_saveregs): New.
3235 (i860_build_va_list): New.
3236 (i860_va_start): New.
3238 * i860.md: Disable all peepholes using output_delayed_branch.
3239 * i860/sysv4.h (I860_SVR4_VA_LIST): New.
3241 Sun Jul 25 23:44:13 1999 Richard Henderson <rth@cygnus.com>
3243 * clipper.h (EXPAND_BUILTIN_SAVEREGS): Remove argument.
3244 (BUILD_VA_LIST_TYPE): New.
3245 (EXPAND_BUILTIN_VA_START): New.
3246 (EXPAND_BUILTIN_VA_ARG): New.
3247 * clipper.c (clipper_builtin_saveregs): Only dump registers.
3248 Return the address of the save area.
3249 (clipper_build_va_list): New.
3250 (clipper_va_start): New.
3251 (clipper_va_arg): New.
3253 Sun Jul 25 22:56:47 1999 Richard Henderson <rth@cygnus.com>
3255 * arc.h (EXPAND_BUILTIN_VA_START): New.
3256 (EXPAND_BUILTIN_VA_ARG): New.
3257 * arc.c (arc_setup_incoming_varargs): Set alias set of
3259 (arc_va_start): New.
3262 Sun Jul 25 22:45:55 1999 Richard Henderson <rth@cygnus.com>
3264 * alpha.h (EXPAND_BUILTIN_SAVEREGS): Delete.
3265 (BUILD_VA_LIST_TYPE): New.
3266 (EXPAND_BUILTIN_VA_START): New.
3267 (EXPAND_BUILTIN_VA_ARG): New.
3268 * alpha.c (alpha_builtin_saveregs): Delete.
3269 (alpha_build_va_list): New.
3270 (alpha_va_start): New.
3271 (alpha_va_arg): New.
3273 Sun Jul 25 21:40:33 1999 Jeffrey A Law (law@cygnus.com)
3275 * config/svr4.h (CTORS_SECTION_ASM_OP): Do not emit directives in
3277 (DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP): Likewise.
3278 (FINI_SECTION_ASM_OP, ASM_OUTPUT_SECTION_NAME): Likewise.
3280 * gcc.texi: More changes related to list conversion.
3281 * invoke.texi: Likewise.
3283 Sun Jul 25 18:15:39 1999 Richard Henderson <rth@cygnus.com>
3285 * builtins.c (expand_builtin_saveregs): Remove static, remove exp
3286 and ignore arguments, bail if no EXPAND_BUILTIN_SAVEREGS.
3287 (expand_builtin_next_arg): Accept ARGLIST not EXP.
3288 (stabilize_va_list): New function.
3289 (std_expand_builtin_va_start): New function.
3290 (expand_builtin_va_start): New function.
3291 (get_varargs_alias_set): New function.
3292 (std_expand_builtin_va_arg): New function.
3293 (expand_builtin_va_arg): New function.
3294 (expand_builtin_va_end): New function.
3295 (expand_builtin_va_copy): New function.
3296 (expand_builtin): Call them.
3297 * c-common.c (c_common_nodes_and_builtins): Build __builtin_va_list,
3298 __builtin_{varargs_start,stdarg_start,end,copy}.
3299 (build_va_arg): New function.
3300 * c-common.h (CTI_PTR_TYPE, ptr_type_node): Delete.
3301 (build_va_arg): Declare.
3302 * c-decl.c (ptr_type_node, va_list_type_node): New.
3303 * c-parse.gperf (__builtin_va_arg): New.
3304 * c-parse.in (VA_ARG): New token.
3305 (unary_expr): Recognize it.
3306 * expr.c (expand_expr): Expand VA_ARG_EXPR.
3307 * expr.h (std_expand_builtin_va_start): Declare.
3308 (std_expand_builtin_va_arg): Declare.
3309 (expand_builtin_va_arg): Declare.
3310 (get_varargs_alias_set): Declare.
3311 * tree.def (VA_ARG_EXPR): New.
3312 * tree.h (BUILT_IN_VARARGS_START): New.
3313 (BUILT_IN_STDARG_START, BUILT_IN_VA_END): New.
3314 (ptr_type_node, va_list_type_node): Declare.
3315 * tm.texi (EXPAND_BUILTIN_SAVEREGS): Kill unused ARGLIST argument.
3316 * m32r.h (EXPAND_BUILTIN_SAVEREGS): Likewise.
3317 * m88k.h, m88k.c: Likewise.
3318 * mn10300.h, mn10300.c: Likewise.
3319 * pa.h, pa.c: Likewise.
3320 * rs6000.h, rs6000.c: Likewise.
3321 * sh.h, sh.c: Likewise.
3322 * sparc.h, sparc.c: Likewise.
3324 * emit-rtl.c (operand_subword): Copy alias set.
3325 (change_address): Likewise.
3327 Sun Jul 25 15:04:37 1999 Jeffrey A Law (law@cygnus.com)
3329 * pa.c (compute_frame_size): Scan all the used callee saved registers,
3330 not just the first one.
3332 Fri Jul 23 14:09:58 1999 Philip Blundell <pb@nexus.co.uk>
3334 * config/arm/arm.h (TARGET_SWITCHES): Add
3335 -m{no-}single-pic-base. Correct help string for -mshort-load-words.
3336 (TARGET_OPTIONS): Add -mpic-register=.
3337 (ARM_FLAG_SINGLE_PIC_BASE, TARGET_SINGLE_PIC_BASE): Define.
3338 (arm_pic_register_string): Declare.
3339 (NEED_PLT_GOT): Delete, replace with ...
3340 (NEED_GOT_RELOC, NEED_PLT_RELOC): ... these. New macros.
3341 (OUTPUT_INT_ADDR_CONST): Replace NEED_PLT_GOT with NEED_GOT_RELOC.
3342 (ASM_OUTPUT_MI_THUNK): Replace NEED_PLT_GOT with NEED_PLT_RELOC.
3343 * config/arm/arm.c (arm_override_options): Add new option
3345 (arm_pic_register_string): New variable.
3346 (arm_finalize_pic): Respect TARGET_SINGLE_PIC_BASE.
3347 (output_func_prologue): If TARGET_SINGLE_PIC_BASE, treat the PIC
3348 register as never live. Use NEED_PLT_RELOC not NEED_PLT_GOT.
3349 (output_return_instruction): Likewise.
3350 * config/arm/elf.h (NEED_PLT_GOT): Delete, replace with ...
3351 (NEED_GOT_RELOC, NEED_PLT_RELOC): ... these. Define to flag_pic.
3352 * config/arm/arm.md: Use NEED_PLT_RELOC in place of NEED_PLT_GOT.
3354 * invoke.texi (ARM Options): Fix spelling. Remove duplicate
3355 mention of -msched-prolog. Document new options -msingle-pic-base
3356 and -mpic-register=.
3358 Thu Jul 22 18:23:56 1999 Richard Henderson <rth@cygnus.com>
3360 * haifa-sched.c (reemit_notes): Tidy.
3361 * sched.c (reemit_notes): Duplicate 1998-08-31 patch to
3364 Thu Jul 22 18:21:04 1999 Richard Henderson <rth@cygnus.com>
3366 * explow.c (trunc_int_for_mode): New function.
3367 (plus_constant_wide): Use it.
3368 * combine.c (simplify_and_const_int): Likewise.
3369 (merge_outer_ops): Likewise.
3370 (simplify_shift_const): Likewise.
3371 * cse.c (simplify_unary_operation): Likewise.
3372 (simplify_binary_operation): Likewise.
3373 * emit-rtl.c (operand_subword): Likewise.
3374 * rtl.h: Declare it.
3376 Thu Jul 22 14:34:59 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3378 * config/arm/arm.c (arm_print_operand): Fix typo in 'M' case
3379 (use NUM_REGS instead of NUM_INTS).
3381 Thu Jul 22 11:25:20 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3383 * builtins.c: New file.
3384 * expr.c (saveregs_value, apply_args_value): Delete definition,
3385 moved into builtins.c.
3386 (string_constant): No longer static.
3387 (get_pointer_alignment, c_strlen, get_memory_rtx, expand_builtin,
3388 apply_args_size, apply_result_size, result_vector,
3389 expand_builtin_apply_args, expand_builtin_apply,
3390 expand_builtin_return): Delete functions, moved into builtins.c.
3391 (INCOMING_REGNO, OUTGOING_REGNO): Delete unused macros.
3392 * expr.h (saveregs_value, apply_args_value): Declare variables.
3393 (expand_builtin, string_constant): Declare functions.
3394 * Makefile.in: Update to build builtin.o.
3396 Wed Jul 21 00:46:58 1999 Mark P. Mitchell <mark@codesourcery.com>
3398 * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): New macro.
3399 * tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Define it.
3400 * dwarf2out.c (dwarf2out_init): Don't output a label to mark the
3401 start of the text section if DWARF2_GENERATE_TEXT_SECTION_LABEL is
3403 * config/mips/iris6.h (DWARF2_GENERATE_TEXT_SECTION_LABEL):
3406 1999-07-21 Michael Meissner <meissner@cygnus.com>
3408 * print-rtl.c (print_rtx): Print the names of the virtual
3411 Wed Jul 21 16:00:32 1999 Nick Clifton <nickc@cygnus.com>
3413 * config/arm/arm.h (INITIAL_ELIMINATION_OFFSET): Fix typo
3414 introduced in previous delta.
3416 Wed Jul 21 14:30:51 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3418 * c-lang.c (finish_file): Rename void_list_node to void_list_node_1
3419 to avoid name clash.
3422 * pa.c (compute_frame_size): Use STARTINg_FRAME_OFFSET instead
3423 of depending on a magic constant value. Update comments.
3424 (hppa_expand_prologue): Similarly.
3426 * pa.md (reload_indi, reload_outdi): Allow any register for the
3427 original reload register.
3429 Fri Jul 30 19:41:35 1999 Jim Wilson <wilson@cygnus.com>
3431 * cccp.c (print_help): Change marcos to macros.
3433 1999-07-30 Richard Henderson <rth@cygnus.com>
3435 * c-typeck.c (initializer_constant_valid_p): Move ...
3436 * c-common.c (initializer_constant_valid_p): ... here. Use
3437 FOO_TYPE_P instead of tests against TREE_CODE. Allow subtraction
3439 * c-common.h (initializer_constant_valid_p): Declare.
3440 * c-tree.h (initializer_constant_valid_p): Remove.
3442 Fri Jul 30 16:33:42 1999 Mathias Froehlich <frohlich@na.uni-tuebingen.de>
3444 * config/i386/sol2-c1.asm: Align the stack.
3445 * config/i386/sol2-gc1.asm: Likewise.
3447 1999-07-30 Vladimir Makarov <vmakarov@loony.cygnus.com>
3449 * config/sparc/sparc.h (ASM_CPU32_DEFAULT_SPEC): Change -Av8 onto
3450 -Asparclite for sparc86x.
3451 (CPP_CPU32_DEFAULT_SPEC, CPP_CPU_SPEC): Remove -D__sparc_v8__ for
3453 (ASM_CPU_SPEC): Use -Asparclite for sparc86x.
3455 Fri Jul 30 14:53:56 1999 Jakub Jelinek <jj@ultra.linux.cz>
3457 * config/sparc/linux64.h (CC1_SPEC): Preserve CPU specified by
3458 the user if using the non-default arch size in BI_ARCH configuration.
3459 * config/sparc/sol2-sld-64.h (CC1_SPEC): Ditto.
3461 * config/sparc/sparc.md (cmp_mul_set, cmp_udiv_cc_set):
3462 Fix patterns so that they actually match.
3463 (cmp_sdiv_cc_set): Ditto, also don't require g0 to be zero.
3464 (mulsidi3_sp64, const_mulsidi3_sp64): New patterns.
3465 (const_mulsidi3_sp32): Renamed from const_mulsidi3, only on
3467 (mulsidi3): Reflect this in the expand.
3468 (smulsi3_highpart): Only on TARGET_ARCH32.
3469 (umulsidi3_sp64, const_umulsidi3_sp64): New patterns.
3470 (const_umulsidi3_sp32): Renamed from const_umulsidi3.
3471 (umulsidi3): Reflect this in the expand.
3472 (umulsi3_highpart): Only on TARGET_ARCH32.
3473 (divsi3_sp32): Renamed from divsi3, only on TARGET_ARCH32,
3474 don't require g0 to be zero.
3475 (udivsi3_sp32): Renamed from udivsi3, only on TARGET_ARCH32.
3476 ({,u}divsi3): New expands.
3477 ({,u}divsi3_sp64): New patterns.
3478 (after lshrdi3_v8plus): Four new patterns to help combiner
3479 optimizing nested mixed mode shifts.
3481 * config/sparc/sparc.c (sparc_override_options): Use deprecated
3482 v8 instructions if optimizing for UltraSPARC I, II, IIi, as it
3483 speed things up. Don't use them by default on plain v9 in 64bit
3484 mode, according to what SPAMv9 sais.
3486 * config/sparc/sparc.h: Fix comments, e.g. Linux already preserves
3487 top 32 bits of %[og][0-7] in signal handlers.
3488 Also, TARGET_HARD_MUL32 now is only true for TARGET_ARCH32.
3490 Fri Jul 30 03:00:41 1999 Jeffrey A Law (law@cygnus.com)
3492 * pa.md (zvdep_imm32): Renamed from zvdep_imm.
3493 (ashlsi3): Corresponding changes.
3495 * pa.c (compute_zdepwi_operands): Renamed from compute_zdepi_operands.
3497 Thu Jul 29 18:37:13 1999 Jeffrey A Law (law@cygnus.com)
3499 * pa.h (FIRST_PARM_CALLER_OFFSET): Delete.
3501 Thu Jul 29 19:01:58 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3503 * arm.h (Hint): Delete macro.
3504 Substitute HOST_WIDE_INT for Hint in some prototypes.
3505 * arm.c: Substitute HOST_WIDE_INT for Hint in one prototype.
3507 Thu Jul 29 09:21:42 1999 Nick Clifton <nickc@cygnus.com>
3509 * builtins.c (expand_builtin_setjmp): Use force_operand to
3510 make sure that the buffer address is in a suitable form to be
3511 passed to force_reg.
3513 Wed Jul 28 12:50:48 1999 Geoff Keating <geoffk@cygnus.com>
3515 * config/mips/mips.c: system.h handles MIN and MAX, don't undefine
3518 Wed Jul 28 13:18:35 1999 Jeffrey A Law (law@cygnus.com)
3520 * pa.md (indirect_jump): Remove mode from match_operand. Verify
3521 proper mode in the condition string.
3522 (icacheflush, dcacheflush): Remove modes from match_operands.
3524 * pa.c (emit_move_sequence): Always convert scratch_reg to the
3525 proper mode before using it.
3527 * pa.md (adddi3, subdi3): Turn into a define_expand/define_insn
3530 * pa.c (store_reg): Do not call add_high_const generator directly.
3531 (load_reg, set_reg_plus_d): Likewise.
3532 * pa.md (add_high_const): No longer a named pattern.
3534 * pa.c (legitimize_address): Consistently use Pmode rather than
3535 SImode. Do not call gen_pic2_highpart directly anymore.
3536 * pa.md (pic2_highpart): No longer a named pattern.
3537 (pic2_lo_sum): Similarly. Reformat to make more readable.
3539 * pa.md (call, call_value): Use "word_mode" instead of "SImode" as
3544 Wed Jul 28 11:28:04 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3546 * builtins.c (expand_builtin): Typo in call to expand_builtin_ffs.
3548 Wed Jul 28 11:23:48 1999 Richard Henderson <rth@cygnus.com>
3550 * pa.c (hppa_builtin_saveregs): Use get_varargs_alias_set
3551 and tag the spill mems.
3552 (hppa_va_start): New.
3554 * pa.h (EXPAND_BUILTIN_VA_START): New.
3555 (EXPAND_BUILTIN_VA_ARG): New.
3557 Wed Jul 28 11:22:21 1999 Richard Henderson <rth@cygnus.com>
3559 * mn10300.c (mn10300_builtin_saveregs): Use get_varargs_alias_set
3560 and tag the spill mems.
3561 (mn10300_va_start): New.
3562 (mn10300_va_arg): New.
3563 * mn10300.h (EXPAND_BUILTIN_VA_START): New.
3564 (EXPAND_BUILTIN_VA_ARG): New.
3566 Wed Jul 28 11:20:19 1999 Richard Henderson <rth@cygnus.com>
3568 * mn10200.c (mn10200_va_arg): New.
3569 * mn10200.h (EXPAND_BUILTIN_VA_ARG): New.
3571 Wed Jul 28 11:19:06 1999 Richard Henderson <rth@cygnus.com>
3573 * builtins.c (std_expand_builtin_va_arg): Use int_size_in_bytes
3574 rather than play with TREE_INT_CST_LOW.
3576 1999-07-27 Philip Blundell <pb@nexus.co.uk>
3578 * config/arm/telf.h: Include dbxelf.h.
3579 (CPP_PREDEFINES): Only define if not already defined.
3580 (ASM_IDENTIFY_GCC): Likewise.
3581 (SUBTARGET_EXTRA_SECTIONS): Likewise.
3582 (SUBTARGET_EXTRA_SECTION_FUNCTIONS): Likewise.
3583 * config/arm/thumb.h (LINK_SPEC): Only define if not already
3585 (DBX_DEBUGGING_INFO): Don't define.
3586 * config/arm/linux-telf.h: New file.
3587 * config/arm/linux-tgas.h: New file.
3588 * config/arm/t-thumb-linux: New file.
3589 * config/arm/uclinux-elf.h: New file.
3590 * config/arm/uclinux-telf.h: New file.
3591 * configure.in (arm-*-uclinux, thumb-*-linux-gnu,
3592 thumb-*-uclinux): New targets.
3593 * configure: Regenerate.
3595 Tue Jul 27 23:20:21 1999 Jeffrey A Law (law@cygnus.com)
3597 * pa.md (post_store, pre_load): New expanders.
3598 (post_stwm, pre_ldwm): Renamed to post_stw and pre_ldw respectively.
3599 (post_ldwm, pre_stwm): Make these unnamed patterns since we never
3600 need to directly generate RTL for them.
3601 * pa.c (hppa_expand_prologue, hppa_expand_epilogue): Corresponding
3604 Tue Jul 27 16:05:52 1999 David Edelsohn <edelsohn@gnu.org>
3606 * aix43.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add rs64a and PPC630.
3607 * rs6000.c (processor_target_table): Add powerpc64, rs64a, and PPC630.
3608 (rs6000_cpu): Choose between 32-bit and 64-bit default processors.
3609 (secndary_reload_class): Make TARGET_ELF conditional compile.
3610 (print_operand_address): Similar.
3611 (output_toc): Print all values as hex.
3612 (get_issue_rate): Rearrange and add RS64A and PPC630.
3613 * rs6000.h (processor_type): Add RS64A and PPC630.
3614 (PROCESSOR_POWERPC64): New.
3615 (PROMOTE_MODE): Use word_mode.
3616 (RTX_COSTS): Add RS64A and PPC630.
3617 * rs6000.md (scheduling information): Add lmul and ldiv
3618 representing 64-bit integer multiply and divide. Add rs64a and
3620 (ashldi3): Add support for "rldic" instruction.
3621 * sysv4.h (PROCESSOR_DEFAULT): Change to PROCESSOR_750.
3623 Tue Jul 27 15:31:53 1999 Vladimir Makarov <vmakarov@toad.to.cygnus.com>
3625 * config/sparc/sparc.c (sparc_override_options): Enable SPARCLITE
3626 instead of V8 for sparclite86x in cpu_table.
3628 Tue Jul 27 17:49:42 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3630 * config/arm/coff.h (ASM_FILE_START): If generating SDB output, call
3631 output_file_directive.
3633 Tue Jul 27 03:15:33 1999 Jason Merrill <jason@yorick.cygnus.com>
3635 * expr.c (expand_expr, case PLUS_EXPR): Get the mode from the
3636 tree for op1, not the rtl.
3638 Tue Jul 27 00:18:34 1999 Richard Henderson <rth@cygnus.com>
3640 * m88k.c (m88k_builtin_saveregs): Break out the constructor code
3641 to m88k_va_start, leaving only the register spill.
3642 (m88k_build_va_list): New.
3643 (m88k_va_start): New.
3645 * m88k.h (BUILD_VA_LIST_TYPE): New.
3646 (EXPAND_BUILTIN_VA_START): New.
3647 (EXPAND_BUILTIN_VA_ARG): New.
3649 Mon Jul 26 19:07:11 1999 Geoff Keating <geoffk@cygnus.com>
3651 * config/rs6000/rs6000.c (rs6000_expand_builtin_saveregs):
3652 Rename from expand_builtin_saveregs.
3653 * config/rs6000/rs6000.h (EXPAND_BUILTIN_SAVEREGS): Change caller.
3655 Mon Jul 26 22:52:47 1999 Richard Henderson <rth@cygnus.com>
3657 * i960.c (i960_setup_incoming_varargs): Use get_varargs_alias_set
3658 for the register spill block.
3659 (i960_build_va_list): New.
3660 (i960_va_start): New.
3662 * i960.h (BUILD_VA_LIST_TYPE): New.
3663 (EXPAND_BUILTIN_VA_START): New.
3664 (EXPAND_BUILTIN_VA_ARG): New.
3665 * i960.md (store_multiple): Use change_address on individul mems.
3667 Mon Jul 26 22:43:12 1999 Richard Henderson <rth@cygnus.com>
3669 * builtins.c (stabilize_va_list): Don't INDIRECT_REF through
3671 (std_expand_builtin_va_start): Back out one word if !stdarg_p.
3672 (expand_builtin_va_end): Evaluate arg for side effects.
3673 * c-common.c (c_common_nodes_and_builtins): Construct a
3674 va_list_arg_type_node to handle array decomposition to pointer.
3676 Mon Jul 26 18:51:34 1999 Richard Henderson <rth@cygnus.com>
3678 * except.c (start_dynamic_cleanup): Use force_operand on the
3681 Mon Jul 26 16:43:26 1999 Richard Henderson <rth@cygnus.com>
3683 * c4x.h (EXPAND_BUILTIN_VA_ARG): New.
3684 * c4x.c (c4x_va_arg): New.
3686 Mon Jul 26 12:30:09 1999 Jason Merrill <jason@yorick.cygnus.com>
3688 * cpplib.c (cpp_get_token): Don't return a CPP_POP if the buffer
3691 1999-07-26 Nathan Sidwell <nathan@acm.org>
3693 * eh-common.h (__eh_matcher): Prototype correctly.
3695 Mon Jul 26 17:24:51 1999 Philip Blundell <pb@nexus.co.uk>
3697 * config/arm/thumb.h (THUMB_FLAG_SINGLE_PIC_BASE): Define.
3698 (TARGET_SINGLE_PIC_BASE): Likewise.
3699 (GOT_PCREL, NEED_GOT_RELOC, NEED_PLT_RELOC): Provide default
3701 (TARGET_CALLEE_INTERWORKING): Fix typo in comment.
3702 (TARGET_SWITCHES): Add -m{no-}single-pic-base.
3703 (TARGET_OPTIONS): Add -mpic-register=N.
3704 (OUTPUT_INT_ADDR_CONST): New macro.
3705 (INDEX_REGISTER_RTX_P, PIC_OFFSET_TABLE_REGNUM, FINALIZE_PIC,
3706 LEGITIMATE_PIC_OPERAND_P): Likewise.
3707 (LEGITIMIZE_ADDRESS, GOT_IF_LEGITIMATE_ADDRESS): Support PIC.
3708 (ASM_OUTPUT_INT): Use OUTPUT_INT_ADDR_CONST rather than calling
3709 output_addr_const directly.
3710 (PRINT_OPERAND_PUNCT_VALID_P): Accept `|' for compatibility with
3712 (thumb_pic_register, thumb_pic_register_string): Declare.
3714 * config/arm/thumb.c (symbol_mentioned_p): New function: Imported
3716 (label_mentioned_p): New function: Imported from arm.c.
3717 (legitimize_pic_address): New function: Imported from arm.c.
3718 (is_pic):New function: Imported from arm.c.
3719 (thumb_finalize_pic):New function: Imported from arm.c.
3720 (add_constant): Cope with PIC constants.
3721 (fixit): Cope with PIC constants.
3722 (output_return): Do not treat the PIC register as live if
3723 TARGET_SINGLE_PIC_BASE is true.
3724 (thumb_function_prologue): Do not treat the PIC register as live if
3725 TARGET_SINGLE_PIC_BASE is true.
3726 (thumb_expand_prologue): Do not treat the PIC register as live if
3727 TARGET_SINGLE_PIC_BASE is true.
3728 (thumb_unexpand_epilogue): Do not treat the PIC register as live if
3729 TARGET_SINGLE_PIC_BASE is true.
3730 (thumb_print_operand): Accept '|'.
3731 (thumb_override_options): Process PIC options.
3733 * config/arm/thumb.md (movsi): Support PIC.
3734 (call_insn): Change "i" constraint to "X".
3735 (call_value_insn): Likewise.
3736 (consttable_4, consttable_8, consttable_end): Set and clear
3737 "making_const_table" as appropriate.
3738 (pic_load_addr, pic_add_dot_plus_four): New insns.
3740 * invoke.texi (Thumb Options): Fix spelling. Document new
3741 options -msingle-pic-base and -mpic-register=.
3743 1999-07-26 Andrew Haley <aph@cygnus.com>
3745 * config/m32r/initfini.c (__init): Use a full word immediate for
3746 __fini: this allows it to be placed in any memory region.
3748 * config/m32r/t-m32r: Compile crtinit.o and crtfini.o for
3749 -mmodel=medium. This is OK for all memory models.
3751 Mon Jul 26 11:58:46 1999 Nick Clifton <nickc@cygnus.com>
3753 * config/arm/arm.c: Replace %R%s in asm_fprintf strings with %r.
3754 * config/arm/arm.h: Replace %R%s in asm_fprintf strings with %r.
3756 Mon Jul 26 10:23:36 1999 Nick Clifton <nickc@cygnus.com>
3758 * final.c (asm_fprintf): Accept ASM_FPRINTF_EXTENSIONS, if
3761 * tm.texi: Document ASM_FPRINTF_EXTENSIONS.
3763 Sun Jul 25 23:51:59 1999 Richard Henderson <rth@cygnus.com>
3765 * i860.h (EXPAND_BUILTIN_SAVEREGS): New.
3766 (BUILD_VA_LIST_TYPE): New.
3767 (EXPAND_BUILTIN_VA_START): New.
3768 (EXPAND_BUILTIN_VA_ARG): New.
3769 * i860.c (output_delayed_branch): Disable.
3770 (output_delay_insn): Likewise.
3771 (i860_saveregs): New.
3772 (i860_build_va_list): New.
3773 (i860_va_start): New.
3775 * i860.md: Disable all peepholes using output_delayed_branch.
3776 * i860/sysv4.h (I860_SVR4_VA_LIST): New.
3778 Sun Jul 25 23:44:13 1999 Richard Henderson <rth@cygnus.com>
3780 * clipper.h (EXPAND_BUILTIN_SAVEREGS): Remove argument.
3781 (BUILD_VA_LIST_TYPE): New.
3782 (EXPAND_BUILTIN_VA_START): New.
3783 (EXPAND_BUILTIN_VA_ARG): New.
3784 * clipper.c (clipper_builtin_saveregs): Only dump registers.
3785 Return the address of the save area.
3786 (clipper_build_va_list): New.
3787 (clipper_va_start): New.
3788 (clipper_va_arg): New.
3790 Sun Jul 25 22:56:47 1999 Richard Henderson <rth@cygnus.com>
3792 * arc.h (EXPAND_BUILTIN_VA_START): New.
3793 (EXPAND_BUILTIN_VA_ARG): New.
3794 * arc.c (arc_setup_incoming_varargs): Set alias set of
3796 (arc_va_start): New.
3799 Sun Jul 25 22:45:55 1999 Richard Henderson <rth@cygnus.com>
3801 * alpha.h (EXPAND_BUILTIN_SAVEREGS): Delete.
3802 (BUILD_VA_LIST_TYPE): New.
3803 (EXPAND_BUILTIN_VA_START): New.
3804 (EXPAND_BUILTIN_VA_ARG): New.
3805 * alpha.c (alpha_builtin_saveregs): Delete.
3806 (alpha_build_va_list): New.
3807 (alpha_va_start): New.
3808 (alpha_va_arg): New.
3810 Sun Jul 25 21:40:33 1999 Jeffrey A Law (law@cygnus.com)
3812 * config/svr4.h (CTORS_SECTION_ASM_OP): Do not emit directives in
3814 (DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP): Likewise.
3815 (FINI_SECTION_ASM_OP, ASM_OUTPUT_SECTION_NAME): Likewise.
3817 * gcc.texi: More changes related to list conversion.
3818 * invoke.texi: Likewise.
3820 Sun Jul 25 18:15:39 1999 Richard Henderson <rth@cygnus.com>
3822 * builtins.c (expand_builtin_saveregs): Remove static, remove exp
3823 and ignore arguments, bail if no EXPAND_BUILTIN_SAVEREGS.
3824 (expand_builtin_next_arg): Accept ARGLIST not EXP.
3825 (stabilize_va_list): New function.
3826 (std_expand_builtin_va_start): New function.
3827 (expand_builtin_va_start): New function.
3828 (get_varargs_alias_set): New function.
3829 (std_expand_builtin_va_arg): New function.
3830 (expand_builtin_va_arg): New function.
3831 (expand_builtin_va_end): New function.
3832 (expand_builtin_va_copy): New function.
3833 (expand_builtin): Call them.
3834 * c-common.c (c_common_nodes_and_builtins): Build __builtin_va_list,
3835 __builtin_{varargs_start,stdarg_start,end,copy}.
3836 (build_va_arg): New function.
3837 * c-common.h (CTI_PTR_TYPE, ptr_type_node): Delete.
3838 (build_va_arg): Declare.
3839 * c-decl.c (ptr_type_node, va_list_type_node): New.
3840 * c-parse.gperf (__builtin_va_arg): New.
3841 * c-parse.in (VA_ARG): New token.
3842 (unary_expr): Recognize it.
3843 * expr.c (expand_expr): Expand VA_ARG_EXPR.
3844 * expr.h (std_expand_builtin_va_start): Declare.
3845 (std_expand_builtin_va_arg): Declare.
3846 (expand_builtin_va_arg): Declare.
3847 (get_varargs_alias_set): Declare.
3848 * tree.def (VA_ARG_EXPR): New.
3849 * tree.h (BUILT_IN_VARARGS_START): New.
3850 (BUILT_IN_STDARG_START, BUILT_IN_VA_END): New.
3851 (ptr_type_node, va_list_type_node): Declare.
3852 * tm.texi (EXPAND_BUILTIN_SAVEREGS): Kill unused ARGLIST argument.
3853 * m32r.h (EXPAND_BUILTIN_SAVEREGS): Likewise.
3854 * m88k.h, m88k.c: Likewise.
3855 * mn10300.h, mn10300.c: Likewise.
3856 * pa.h, pa.c: Likewise.
3857 * rs6000.h, rs6000.c: Likewise.
3858 * sh.h, sh.c: Likewise.
3859 * sparc.h, sparc.c: Likewise.
3861 * emit-rtl.c (operand_subword): Copy alias set.
3862 (change_address): Likewise.
3864 Sun Jul 25 15:04:37 1999 Jeffrey A Law (law@cygnus.com)
3866 * pa.c (compute_frame_size): Scan all the used callee saved registers,
3867 not just the first one.
3869 Fri Jul 23 14:09:58 1999 Philip Blundell <pb@nexus.co.uk>
3871 * config/arm/arm.h (TARGET_SWITCHES): Add
3872 -m{no-}single-pic-base. Correct help string for -mshort-load-words.
3873 (TARGET_OPTIONS): Add -mpic-register=.
3874 (ARM_FLAG_SINGLE_PIC_BASE, TARGET_SINGLE_PIC_BASE): Define.
3875 (arm_pic_register_string): Declare.
3876 (NEED_PLT_GOT): Delete, replace with ...
3877 (NEED_GOT_RELOC, NEED_PLT_RELOC): ... these. New macros.
3878 (OUTPUT_INT_ADDR_CONST): Replace NEED_PLT_GOT with NEED_GOT_RELOC.
3879 (ASM_OUTPUT_MI_THUNK): Replace NEED_PLT_GOT with NEED_PLT_RELOC.
3880 * config/arm/arm.c (arm_override_options): Add new option
3882 (arm_pic_register_string): New variable.
3883 (arm_finalize_pic): Respect TARGET_SINGLE_PIC_BASE.
3884 (output_func_prologue): If TARGET_SINGLE_PIC_BASE, treat the PIC
3885 register as never live. Use NEED_PLT_RELOC not NEED_PLT_GOT.
3886 (output_return_instruction): Likewise.
3887 * config/arm/elf.h (NEED_PLT_GOT): Delete, replace with ...
3888 (NEED_GOT_RELOC, NEED_PLT_RELOC): ... these. Define to flag_pic.
3889 * config/arm/arm.md: Use NEED_PLT_RELOC in place of NEED_PLT_GOT.
3891 * invoke.texi (ARM Options): Fix spelling. Remove duplicate
3892 mention of -msched-prolog. Document new options -msingle-pic-base
3893 and -mpic-register=.
3895 Thu Jul 22 18:23:56 1999 Richard Henderson <rth@cygnus.com>
3897 * haifa-sched.c (reemit_notes): Tidy.
3898 * sched.c (reemit_notes): Duplicate 1998-08-31 patch to
3901 Thu Jul 22 18:21:04 1999 Richard Henderson <rth@cygnus.com>
3903 * explow.c (trunc_int_for_mode): New function.
3904 (plus_constant_wide): Use it.
3905 * combine.c (simplify_and_const_int): Likewise.
3906 (merge_outer_ops): Likewise.
3907 (simplify_shift_const): Likewise.
3908 * cse.c (simplify_unary_operation): Likewise.
3909 (simplify_binary_operation): Likewise.
3910 * emit-rtl.c (operand_subword): Likewise.
3911 * rtl.h: Declare it.
3913 Thu Jul 22 14:34:59 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3915 * config/arm/arm.c (arm_print_operand): Fix typo in 'M' case
3916 (use NUM_REGS instead of NUM_INTS).
3918 Thu Jul 22 11:25:20 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3920 * builtins.c: New file.
3921 * expr.c (saveregs_value, apply_args_value): Delete definition,
3922 moved into builtins.c.
3923 (string_constant): No longer static.
3924 (get_pointer_alignment, c_strlen, get_memory_rtx, expand_builtin,
3925 apply_args_size, apply_result_size, result_vector,
3926 expand_builtin_apply_args, expand_builtin_apply,
3927 expand_builtin_return): Delete functions, moved into builtins.c.
3928 (INCOMING_REGNO, OUTGOING_REGNO): Delete unused macros.
3929 * expr.h (saveregs_value, apply_args_value): Declare variables.
3930 (expand_builtin, string_constant): Declare functions.
3931 * Makefile.in: Update to build builtin.o.
3933 Wed Jul 21 00:46:58 1999 Mark P. Mitchell <mark@codesourcery.com>
3935 * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): New macro.
3936 * tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Define it.
3937 * dwarf2out.c (dwarf2out_init): Don't output a label to mark the
3938 start of the text section if DWARF2_GENERATE_TEXT_SECTION_LABEL is
3940 * config/mips/iris6.h (DWARF2_GENERATE_TEXT_SECTION_LABEL):
3943 1999-07-21 Michael Meissner <meissner@cygnus.com>
3945 * print-rtl.c (print_rtx): Print the names of the virtual
3948 Wed Jul 21 16:00:32 1999 Nick Clifton <nickc@cygnus.com>
3950 * config/arm/arm.h (INITIAL_ELIMINATION_OFFSET): Fix typo
3951 introduced in previous delta.
3953 Wed Jul 21 14:30:51 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3955 * c-lang.c (finish_file): Rename void_list_node to void_list_node_1
3956 to avoid name clash.
3960 Wed Jul 21 08:39:22 1999 Gavin Romig-Koch <gavin@cygnus.com>
3962 * c-lex.c (yylex) : Correct the test for overflow when lexing
3965 Tue Jul 20 18:02:42 1999 Richard Henderson <rth@cygnus.com>
3967 * haifa-sched.c (insn_cost): FREE implies cost 0 and vice versa.
3968 (adjust_priority): Always call ADJUST_PRIORITY.
3969 (schedule_insn): Only put insns into the ready at cost 0.
3970 (schedule_block): Remove redundant initial sort. Give clock_var
3971 and can_issue_more to MD_SCHED_REORDER. Requeue if hazard cost
3973 * tm.texi (MD_SCHED_REORDER): Update docs.
3975 * sparc.h (MD_SCHED_REORDER): Update. Set CAN_ISSUE_MORE.
3976 * sparc.c (ultra_reorder_called_this_block): Delete.
3977 (ultrasparc_sched_init): Don't set it.
3978 (ultrasparc_sched_reorder): Don't check it.
3980 Tue Jul 20 17:07:54 1999 Richard Henderson <rth@cygnus.com>
3982 * rs6000.h (struct rs6000_args): Add sysv_gregno.
3983 * rs6000.c (init_cumulative_args): Init sysv_gregno.
3984 (function_arg_boundary): Align DFmode.
3985 (function_arg_advance): Restructure for ABI_V4; use sysv_gregno
3986 to get fp reg and stack overflow correct.
3987 (function_arg): Likewise.
3988 (function_arg_pass_by_reference): True for TFmode for ABI_V4.
3989 (setup_incoming_varargs): Restructure for ABI_V4; use
3990 function_arg_advance to skip final named argument.
3991 (expand_builtin_saveregs): Properly unskip the last integer arg
3992 when doing varargs. Adjust overflow location calculation.
3994 * ginclude/va-ppc.h (struct __va_list_tag): Make gpr and fpr
3995 explicitly unsigned.
3996 (__VA_FP_REGSAVE): Use new OFS argument instead of AP->fpr directly.
3997 (__VA_GP_REGSAVE): Similarly.
3998 (__va_longlong_p): Delete.
3999 (__va_arg_type_violation): New declaration.
4000 (va_arg): Restructure. Flag promotion errors. Align double.
4001 TFmode passed by reference.
4003 * rs6000.md (movdi_32+1): Use GEN_INT after arithmetic
4004 in the HOST_BITS_PER_WIDE_INT > 32 case.
4006 Tue Jul 20 12:37:30 1999 Hans-Peter Nilsson <hp@bitrange.com>
4008 * dwarf2out.c (output_abbrev_section): Terminate with a zero.
4010 Tue Jul 20 12:12:27 1999 Jason Merrill <jason@yorick.cygnus.com>
4012 * gcc.c (default_compilers, cpp-output): Pass -fpreprocessed.
4013 * toplev.c (documented_lang_options): Add -fpreprocessed.
4014 * cpplib.h (struct cpp_buffer): Add preprocessed.
4015 * cppinit.c (cpp_handle_option): Handle -fpreprocessed.
4016 (cpp_start_read): Don't expand macros or emit an initial #line
4017 directive if -fpreprocessed.
4019 Tue Jul 20 12:12:09 1999 Michael Tiemann <tiemann@holodeck.cygnus.com>
4021 * cpplib.h (struct cpp_buffer): Added manual_pop for
4022 better C++ tokenization.
4023 * cpplib.c (cpp_get_token): Return CPP_EOF if manual_pop.
4024 Also, support C++ tokenization for ->*, .*, <?, and >? operators.
4025 * c-common.c (cpp_token): Make non-static.
4027 Tue Jul 20 11:24:19 1999 Bernd Schmidt <bernds@cygnus.co.uk>
4029 * c-common.h: New file.
4030 * c-common.c (permanent_obstack): Delete unused declaration.
4031 (c_global_trees): New array.
4032 (c_common_nodes_and_builtins): New function; split off common code
4033 from init_decl_processing in both c-decl.c and cp/decl.c.
4034 * c-tree.h: Delete lots of declarations of tree nodes; replaced by
4035 c_global_trees and accessor macros defined in c-common.h.
4037 * c-decl.c: Delete definitions for tree nodes that were replaced by
4039 (init_decl_processing): Build void_list_node.
4040 Call c_common_nodes_and_builtins; delete code to generate the common
4042 * objc/objc-act.c (build_module_descriptor): Rename variable
4043 void_list_node to avoid clash with c-common.h.
4045 * Makefile.in: Update dependencies.
4046 * objc/Make-lang.in: Likewise.
4048 Mon Jul 19 14:22:18 1999 Mark P. Mitchell <mark@codesourcery.com>
4050 * config/mips/iris6gld.h (MAKE_DECL_ONE_ONLY): Define.
4051 (UNIQUE_SECTION_P): Likewise.
4052 (UNIQUE_SECTION): Likewise.
4054 1999-07-19 Linas Vepstas <linas@linas.org>
4056 * config/i370/README: New file.
4057 * config/i370/linux.h: New file.
4058 * config/i370/mvs.h: New file.
4059 * config/i370/oe.h: New file.
4060 * config/i370/t-linux: New file.
4061 * config/i370/t-mvs: New file.
4062 * config/i370/t-oe: New file.
4063 * config/i370/x-oe: New file.
4064 * config/i370/xm-linux.h: New file.
4065 * config/i370/xm-mvs.h: New file.
4066 * config/i370/xm-oe.h: New file.
4068 * i370.c (label_node_t): Add first_ref_page, label_addr,
4069 label_first_ref, label_last_ref members.
4070 (mvs_need_base_reload): Renamed from mvs_label_emitted.
4071 (MAX_MVS_LABEL_SIZE): Define.
4072 (MAX_LONG_LABEL_SIZE): Define.
4073 (alias_node_t, alias_anchor, alias_number): New.
4074 (mvs_function_table): Reorder for EBCDIC.
4075 (ascebc, ebcasc): Unconditionally define.
4076 (i370_branch_dest, i370_branch_length): New functions.
4077 (i370_short_branch, i370_label_scan): New functions.
4078 (mvs_get_label): Renamed from mvs_add_label. Search for
4079 an existing label before creating a new one.
4080 (mvs_add_label): New function.
4081 (mvs_get_label_page): New function.
4082 (mvs_free_label_list): Renamed from mvs_free_label. Iterate
4083 over the entire list.
4084 (mvs_check_page) [TARGET_HLASM]: Use BASR not BALR.
4085 (mvs_check_page) [TARGET_ELF_ABI]: New function.
4087 * pa.c (compute_frame_size): Use STARTINg_FRAME_OFFSET instea