]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
dbxout.c (dbxout_init): Use xcalloc instead of xmalloc+bzero.
[gcc.git] / gcc / ChangeLog
1 Fri Sep 3 16:22:17 1999 Richard Henderson <rth@cygnus.com>
2
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.
10
11 Fri Sep 3 15:49:56 1999 Mark Mitchell <mark@codesourcery.com>
12
13 * rtl.h (RTL_CHECKC2): Fix typo in last change.
14
15 Fri Sep 3 15:13:34 1999 Richard Henderson <rth@cygnus.com>
16
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.
20
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.
31
32 Fri Sep 3 15:10:20 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
33
34 * Makefile.in (tlink.o): Don't depend on toplev.h.
35
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.
56
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.
62
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.
72
73 Fri Sep 3 18:09:24 1999 Andrew Haley <aph@cygnus.com>
74
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.
78
79 Fri Sep 3 17:24:31 1999 Richard Earnshaw <rearnsha@arm.com>
80
81 * arm.c (note_invalid_constants): No need to ignore ASMs, we can
82 now rework these too.
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.
85
86 Fri Sep 3 09:14:32 1999 Marc Espie <espie@tetto.liafa.jussieu.fr>
87
88 * tlink.c (scan_linker_output): Skip the initial underscore in
89 a mangled name if appropriate.
90
91 Fri Sep 3 01:28:33 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
92
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):
102 Constify.
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.
111
112 Thu Sep 2 21:49:52 1999 Richard Henderson <rth@cygnus.com>
113
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.
117
118 Thu Sep 2 20:18:12 1999 Jeffrey A Law (law@cygnus.com)
119
120 * i386.c (ix86_attr_length_default): Handle TYPE_FXCH.
121
122 Thu Sep 2 22:00:08 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
123
124 * stmt.c (expand_asm_operands): Fix index into inout_mode when
125 reading it.
126
127 Thu Sep 2 13:00:48 1999 Richard Henderson <rth@cygnus.com>
128
129 * stmt.c (expand_asm_operands): Invoke MD_ASM_CLOBBERS if present.
130 * tm.texi (MD_ASM_CLOBBERS): Document it.
131
132 Thu Sep 2 10:22:40 1999 Richard Henderson <rth@cygnus.com>
133
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.
140
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.
145
146 * rtl.h (NOTE_BASIC_BLOCK): Use X0BBDEF.
147
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.
151
152 Thu Sep 2 10:19:20 1999 Richard Henderson <rth@cygnus.com>
153
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.
159 (compstmt): New.
160
161 Thu Sep 2 01:35:50 1999 Marc Espie <espie@cvs.openbsd.org>
162
163 * protoize.c (gen_aux_info_file): Let pexecute call choose_temp_base if
164 needed.
165
166 Thu Sep 2 00:43:59 1999 Finn Hakansson <finn@axis.com>
167
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.
173
174 Thu Sep 2 00:06:43 1999 Jeffrey A Law (law@cygnus.com)
175
176 * fold-const.c (fold_range_test): Do not try to fold the range
177 test if the rhs or lhs has side effects.
178
179 * combine.c (simplify_rtx): Recognize another case of a synthesized
180 sign extension.
181
182 * varasm.c (mark_constant_pool): When marking indirect references,
183 only look at SYMBOL_REFs.
184
185 * except.c (expand_fixup_region_end): Do not peek at
186 INSN_UID (node->entry->outer_context) for flag_new_exceptions.
187
188 Thu Sep 2 13:52:53 1999 Geoffrey Keating <geoffk@cygnus.com>
189
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.
206
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
210 sparc.c.
211 (FUNCTION_BOUNDARY): Fix incorrect use---it's not just a request,
212 it's a promise.
213 * config/sparc/sparc.c: Delete sparc_align_loops,
214 sparc_align_jumps, sparc_align_funcs and the corresponding string
215 variables.
216 (sparc_override_options): Default align_functions on ultrasparc.
217 Delete -malign-* handling.
218
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.
225 (abssi): Likewise.
226 (absdi2): Likewise.
227 (ffssi2): Likewise.
228 (ffsdi2): Likewise.
229 (ashldi3_internal): Likewise.
230 (ashrdi3_internal): Likewise.
231 (lshrdi3_internal): Likewise.
232 (casesi_internal): Likewise.
233
234 Wed Sep 1 21:13:48 1999 Richard Henderson <rth@cygnus.com>
235
236 Merge new ia32 backend from the branch!
237
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.
240
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.
248
249 Wed Sep 1 18:21:23 1999 Richard Henderson <rth@cygnus.com>
250
251 * emit-rtl.c (init_emit_once): Don't use GET_MODE_WIDER_MODE
252 to step through CC modes.
253
254 Wed Sep 1 20:18:06 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
255
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.
258
259 Wed Sep 1 11:32:00 1999 Bernd Schmidt <bernds@cygnus.co.uk>
260
261 * reload1.c: Fix many indentation problems.
262 * reload.c: Likewise.
263
264 Tue Aug 31 22:08:03 1999 Marc Espie <espie@cvs.openbsd.org>
265
266 * alias.c (non_local_reference_p): Constify fmt.
267
268 Tue Aug 31 23:19:35 1999 Michael Meissner <meissner@cygnus.com>
269
270 * config/i386/xm-cygwin.h (HAVE_DOS_BASED_FILE_SYSTEM): Define.
271
272 Tue Aug 31 16:44:52 1999 Jeffrey A Law (law@cygnus.com)
273
274 * cse.c (delete_trivially_dead_insns): Do not delete stores to
275 the internal_arg_pointer.
276
277 Tue Aug 31 13:35:42 1999 Richard Henderson <rth@cygnus.com>
278
279 Merge peephole2 from new_ia32_branch:
280 * Makefile.in (STAGESTUFF): Add *.peephole2.
281 (mostlyclean): Likewise.
282 (recog.o): Depend on resource.h.
283
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.
291
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.
304 (IS_SPLIT): New.
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.
312 (main): 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.
321
322 Tue Aug 31 11:51:06 1999 Jim Kingdon <http://developer.redhat.com>
323
324 * i386.c (output_strlen_unroll): Don't write xops[7]
325 label if it wasn't set.
326
327 1999-08-31 12:44 -0700 Zack Weinberg <zack@bitmover.com>
328
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.
337
338 1999-08-31 12:20 -0700 Zack Weinberg <zack@bitmover.com>
339
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
346 GET_NUM_ELEM.
347 (X0WINT, X0INT, X0STR, X0EXP, X0VEC, X0MODE, X0BITMAP, X0TREE,
348 X0BBDEF, X0ADVFLAGS): New macros for accessing '0' slots of RTXes.
349
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):
356 Use X0EXP.
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
361 functions.
362 (fancy_abort): Fix comment.
363
364 * cse.c (canon_hash): Read CONST_DOUBLE data slots with XWINT.
365 (cse_insn): Decrement LABEL_NUSES for jump target before
366 deleting jump insn.
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
374 initializing it.
375 (fixup_var_refs_insns): Save REG_NOTES (insn) in case we
376 delete insn.
377 (gen_mem_addressof): Make reg a MEM before initializing it.
378 * integrate.c (copy_rtx_and_substitute): Copy '0' slots with
379 X0WINT.
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
392 it.
393 * varasm.c (mark_constant_pool): Skip CONST_DOUBLES, which
394 have no names.
395 * config/i386/i386.md (decrement_and_branch_if_zero): Fix typo.
396
397 Fri Aug 20 13:43:41 1999 Andrew Haley <aph@cygnus.com>
398
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.
402
403 Mon Aug 30 22:04:36 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
404
405 * c-parse.in (language_string): Constify.
406
407 * dwarf2out.c (language_string): Remove declaration.
408
409 * dwarfout.c (language_string): Likewise.
410
411 * toplev.c (language_string, init_parse, finish_parse): Likewise.
412
413 * tree.h (language_string, init_parse, finish_parse): Declare.
414
415 * i386/sun386.h (language_string): Remove declaration.
416
417 * mips.h (language_string): Likewise.
418
419 * nextstep.h (language_string): Likewise.
420
421 * nextstep21.h (language_string): Likewise.
422
423 * rs6000.c (language_string): Likewise.
424
425 Mon Aug 30 20:56:08 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
426
427 * Makefile.in (OBJS, PROTO_OBJS): Remove getpwd.o.
428 (getpwd.o): Remove target.
429
430 * getpwd.c: Delete file. Its in libiberty now.
431
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.
437
438 Mon Aug 30 20:21:34 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
439
440 * cse.c: (fold_rtx): Cast to HOST_WIDE_INT in left shift.
441
442 Mon Aug 30 16:07:49 1999 Richard Henderson <rth@cygnus.com>
443
444 * flow.c (new_insn_dead_notes): Use sets_reg_or_subreg not
445 mark_set_resources.
446
447 Mon Aug 30 12:23:53 1999 Jim Wilson <wilson@cygnus.com>
448
449 * fixinc/Makefile.in (subdir): New.
450 (fixincl.x, inclhack.sh, fixincl.sh): Use cp instead of $(CP).
451 (Makefile): New.
452
453 Mon Aug 30 01:02:09 1999 Jeffrey A Law (law@cygnus.com)
454
455 * emit-rtl.c (copy_rtx_if_shared): A MEM which references
456 virtual_stack_vars_rtx or virtual_incoming_args_rtx can not
457 be shared.
458
459 * invoke.texi: Fix typo.
460
461 * dwarf2out.c (mem_loc_descriptor): New argument MODE. All callers
462 changed. Handle autoincrement addressing modes.
463
464 * integrate.c (copy_rtx_and_substitute): Handle internal_arg_pointer
465 just like we would the virtual incoming args register when
466 integrating.
467
468 Sun Aug 29 23:17:54 1999 David Edelsohn <edelsohn@gnu.org>
469
470 * rs6000.h (ASM_FILE_START): Specify complete filename, including
471 path, in .file directive.
472
473 Sun Aug 29 05:06:43 1999 Russ Allbery <rra@stanford.edu>
474
475 * gcc.texi (External Bugs): Remove obsolete note about Perl on
476 SunOS.
477
478 1999-08-29 08:38 -0700 Zack Weinberg <zack@bitmover.com>
479
480 * stdbool.h: Make the typedef name _Bool, with bool a #defined
481 alias.
482
483 Sun Aug 29 09:36:50 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
484
485 * tree.c (tree_code_name): Constify a char*.
486
487 * tree.h (tree_code_name, decl_printable_name): Likewise.
488
489 * function.h (struct function): Likewise.
490
491 * toplev.c (decl_name, decl_printable_name): Likewise.
492
493 * vax/vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): Likewise.
494
495 * objc/objc-act.c (decl_printable_name): Remove redundant prototype.
496 (init_objc): Remove function pointer cast.
497
498 Sun Aug 29 05:01:17 1999 John David Anglin <dave@hiauly1.hia.nrc.ca>
499
500 * pa.md (interspace_jump): New pattern.
501 (builtin_longjmp): New expander.
502
503 1999-08-29 Bernd Schmidt <bernds@cygnus.co.uk>
504
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.
508
509 Sun Aug 29 04:30:52 1999 John Wehle (john@feith.com)
510
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.
517
518 1999-08-29 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
519
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.
523 All uses updated.
524 (prescan_loop, strength_reduce): New argument loop_info. All callers
525 updated.
526 (scan_loop): New variable loop_info, initialise to address of
527 this_loop_info.
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.
535
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.
540
541 * unroll.c (unroll_loop): Store loop unroll count in unroll_number
542 field of loop_info.
543 (loop_iterations): Delete variable vtop and instead use
544 loop_info->vtop computed in prescan_loop.
545
546 Sun Aug 29 03:27:23 1999 Scott Weikart <scott@igc.apc.org>
547
548 * fix-header.c (main): Do not pass a null pointer to strcmp.
549
550 Sun Aug 29 03:18:48 1999 William Bader (william@nscs.fast.net)
551
552 * configure.in (i[34567]86-*-sco3.2v4*): Target does not truncate
553 filenames.
554 * configure: Rebuilt.
555
556 Sat Aug 28 19:36:05 1999 Jeffrey A Law (law@cygnus.com)
557
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.
562
563 Sat Aug 28 16:24:31 1999 Richard Henderson <rth@cygnus.com>
564
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
571 not before.
572
573 Sat Aug 28 16:20:12 1999 Richard Henderson <rth@cygnus.com>
574
575 * haifa-sched.c (sched_analyze): Clear LOG_LINKS before calling
576 sched_analyze_insn.
577 (sched_analyze_1): Let add_dependence care for not adding dups.
578 (sched_analyze_2): Likewise.
579 (add_branch_dependences): Likewise.
580
581 Sat Aug 28 15:58:16 1999 Mumit Khan <khan@xraylith.wisc.edu>
582
583 * i386/winnt.c (export_list): New type.
584 (exports_head): Rename to
585 (export_head): this.
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
589 prototype.
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.
594
595 Fri Aug 27 15:35:24 1999 Jeffrey A Law (law@cygnus.com)
596
597 * cse.c (fold_rtx): Work around bug in Sun V5.0 compilers.
598
599 * pa.c (emit_move_sequence): Do not stop on SUBREG_WORD of an
600 operand.
601
602 Fri Aug 27 14:01:19 1999 Marc Espie <espie@cvs.openbsd.org>
603
604 * config/openbsd.h: Define SET_ASM_OP.
605 * tm.texi: cross-reference SET_ASM_OP in the index.
606
607 1999-08-27 13:27 -0700 Zack Weinberg <zack@bitmover.com>
608
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
615 EXTRA_CC_NAMES.
616 * rtl.def (CONST_DOUBLE): Use CONST_DOUBLE_FORMAT macro for
617 format.
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.
624
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
628 init_rtl.
629 * gengenrtl.c: Duplicate calculation of CONST_DOUBLE_FORMAT
630 here.
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.
634
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.
638
639 * md.texi: Kill ref to EXTRA_CC_NAMES.
640 * tm.texi: Document new way to define EXTRA_CC_MODES.
641
642 * genrecog.c: Do not look up the name of a define_split.
643 (Unrelated bugfix.)
644
645 Fri Aug 27 17:03:42 1999 Nick Clifton <nickc@cygnus.com>
646
647 * config/v850/v850.md: Fix typo introduced by previous delta.
648
649 Fri Aug 27 09:48:59 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
650
651 * gcc.c (fatal): Make definition static to match prototype.
652
653 Fri Aug 27 10:33:35 1999 Bernd Schmidt <bernds@cygnus.co.uk>
654
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.
657
658 Fri Aug 27 10:03:12 BST 1999 Nathan Sidwell <nathan@acm.org>
659
660 * configure.in: Don't use shell ! to negate exit codes
661 * configure: Regenerate
662
663 Fri Aug 27 09:36:17 1999 Andreas Schwab <schwab@suse.de>
664
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.
667
668 1999-08-27 00:27 -0700 Zack Weinberg <zack@bitmover.com>
669
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.
673
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.
680
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
685 either.
686
687 * c-typeck.c (c_expand_start_case): Return immediately if exp
688 is an ERROR_MARK.
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
693 go in a register.
694
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
697
698 * i386.md: In the 6 insns which call output_fix_trunc,
699 earlyclobber operands[0].
700
701 Fri Aug 27 01:01:51 1999 Philip Blundell <pb@nexus.co.uk>
702
703 * jump.c (duplicate_loop_exit_test): Call reg_scan_update after
704 creating new registers.
705
706 1999-08-26 23:09 -0700 Zack Weinberg <zack@bitmover.com>
707
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 *".
714
715 Thu Aug 26 20:36:30 1999 Jim Wilson <wilson@cygnus.com>
716
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.
719
720 Thu Aug 26 18:11:20 1999 Mark Mitchell <mark@codesourcery.com>
721
722 * tree.c (array_type_nelts): Don't create RTL_EXPRs from
723 SAVE_EXPRs unless the SAVE_EXPRs have already been expanded.
724
725 Thu Aug 26 19:33:23 1999 Jim Wilson <wilson@cygnus.com>
726
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.
731
732 Thu Aug 26 16:10:56 1999 Gavin Romig-Koch <gavin@cygnus.com>
733
734 * tree.c (lang_unsave_expr_now) : Correct return type.
735 * tree.h (lang_unsave_expr_now) : Same.
736
737 Thu Aug 26 13:12:29 1999 Jeffrey A Law (law@cygnus.com)
738
739 * pa.c (cint_ok_for_move): Use CONST_INT_OK_FOR_LETTER_P macros
740 instead of duplicating code.
741
742 Thu Aug 26 18:32:32 1999 Bernd Schmidt <bernds@cygnus.co.uk>
743
744 * gcse.c (hash_scan_insn): Don't scan obvious no-ops.
745
746 1999-08-26 09:42 -0700 Zack Weinberg <zack@bitmover.com>
747
748 * tree.h: fancy_abort always takes three args.
749 * resource.c: Move include of system.h before toplev.h.
750
751 Thu Aug 26 09:46:16 1999 Nick Clifton <nickc@cygnus.com>
752
753 * dwarf2out.c (mem_loc_descriptor): Accept LABEL_REFs as well
754 as SYMBOL_REFs.
755
756 1999-08-25 22:10 -0700 Zack Weinberg <zack@bitmover.com>
757
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.
774
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
779 through fancy_abort.
780 (tree_check, tree_class_check, cst_or_constructor_check,
781 expr_check): Delete.
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
785 fancy_abort.
786 (trim_filename, fancy_abort): Delete.
787
788 * builtins.c (expand_builtin_args_info): Report ICE with abort.
789 * except.c (start_catch_handler): Report ICE with error/abort
790 combo.
791 * final.c (output_operand_lossage): Likewise.
792 * flow.c (verify_flow_info): Likewise.
793
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.
799
800 Wed Aug 25 17:56:59 1999 Richard Henderson <rth@cygnus.com>
801
802 * optabs.c (emit_cmp_and_jump_insns): Be more thorough in
803 canonization.
804
805 Wed Aug 25 15:35:55 1999 Richard Henderson <rth@cygnus.com>
806
807 * m88k.h (VERSION_INFO2): Kill.
808 (VERSION_STRING): Kill.
809 (TM_RCS_ID): 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.
818
819 1999-08-25 13:51 -0700 Jim Meyering <meyering@ascend.com>
820
821 * cpplib.c (detect_if_not_defined): New function.
822 (do_if): Use it to detect potential once-only headers.
823
824 Wed Aug 25 14:00:18 1999 Jason Merrill <jason@yorick.cygnus.com>
825
826 * c-common.c (combine_strings): Always set TREE_CONSTANT.
827
828 Wed Aug 25 15:27:22 1999 Gavin Romig-Koch <gavin@cygnus.com>
829
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.
836
837 Wed Aug 25 11:13:29 1999 Richard Henderson <rth@cygnus.com>
838
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.
841
842 Wed Aug 25 13:55:47 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
843
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.
863
864 Wed Aug 25 13:41:47 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
865
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
885 prototypes.
886 (free_INSN_LIST_list, free_EXPR_LIST_node): Add prototypes.
887 (free_INSN_LIST_node, alloc_INSN_LIST, alloc_EXPR_LIST): Add function
888 prototypes.
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.
892
893 Wed Aug 25 17:31:56 1999 Nick Clifton <nickc@cygnus.com>
894
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.
898
899 Wed Aug 25 09:44:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
900
901 * genattr.c (gen_attr): Add prototype arguments for get_attr_*().
902 Remove unused prototype for `init_lengths'.
903
904 Wed Aug 25 09:32:31 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
905
906 * calls.c (emit_call_1): Mark parameter `stack_size' with
907 ATTRIBUTE_UNUSED.
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
912 `upper_bound'.
913
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
917 `inner'.
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.
921
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'.
927
928 * final.c (init_final): Constify parameter `filename'.
929 (final_start_function): Mark parameter `optimize' with
930 ATTRIBUTE_UNUSED.
931 (profile_function): Likewise for parameters `first' and `optimize'.
932 (output_source_line): Likewise for parameter `file'.
933
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.
938
939 * integrate.h (MAYBE_EXTEND_CONST_EQUIV_VARRAY): Likewise.
940
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'.
946
947 * output.h (init_final): Constify parameter.
948
949 * reload.c (decompose): Initialize variable `base'.
950
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
956 ATTRIBUTE_UNUSED.
957 (reload_combine): Initialize variable `set'.
958
959 * unroll.c (unroll_loop): Likewise for variable `local_label'.
960 (copy_loop_body): Cast a value to `size_t' when comparing against
961 one.
962
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
966 ATTRIBUTE_UNUSED.
967
968 Wed Aug 25 11:18:39 1999 Bernd Schmidt <bernds@cygnus.co.uk>
969
970 * toplev.c (rest_of_compilation): Use decl_printable_name when opening
971 gcse dump file.
972
973 Wed Aug 25 10:57:12 1999 Nick Clifton <nickc@cygnus.com>
974
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
980 not already defined.
981
982 Wed Aug 25 01:36:11 1999 John David Anglin <dave@hiauly1.hia.nrc.ca>
983
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.
986
987 Wed Aug 25 01:25:14 1999 Jeffrey A Law (law@cygnus.com)
988
989 * tm.texi: GNU CC -> GCC conversion.
990 (CC1_SPEC): Indicate it is used for all language front ends.
991
992 Tue Aug 24 23:43:03 1999 Mark Mitchell <mark@codesourcery.com>
993
994 * flow.c (delete_block): Spell NOTE_INSN_EH_REGION_BEG and
995 NOTE_INSN_EH_REGION_END correctly.
996
997 Tue Aug 24 23:26:44 1999 Michael Tiemann <tiemann@holodeck.cygnus.com>
998 Jeff Law <law@cygnus.com>
999
1000 * loop.c (strength_reduce): Automatically unroll loops if the
1001 unrolled loop size is smaller than the rolled loop size.
1002
1003 * loop.c (insert_bct): Replace use of sdiv_optab with asr_optab
1004 and delete comment that code should be rewritten.
1005
1006 Tue Aug 24 22:56:35 1999 Jeffrey A Law (law@cygnus.com)
1007
1008 * haifa-sched.c (find_rgns): Mark a block found during the DFS search
1009 as reachable.
1010
1011 * haifa-sched.c (get_visual_tbl_length): Fix off-by-one error.
1012
1013 Tue Aug 24 22:41:06 1999 Mumit Khan <khan@xraylith.wisc.edu>
1014
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.
1021
1022 Tue Aug 24 20:49:47 1999 Art Haas <ahaas@neosoft.com>
1023
1024 * final.c (output_addr_const): Handle case where ASM_OPEN_PAREN
1025 and ASM_CLOSE_PAREN are empty strings.
1026
1027 Wed Aug 25 12:46:22 1999 Fred Fish <fnf@cygnus.com>
1028 Geoffrey Keating <geoffk@cygnus.com>
1029
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.
1045
1046 Tue Aug 24 16:58:15 1999 Richard Henderson <rth@cygnus.com>
1047
1048 * jump.c (jump_optimize_1): Do cmov opt on any single-set; force
1049 B into a register before emit_conditional_move.
1050
1051 Tue Aug 24 15:37:03 1999 Richard Henderson <rth@cygnus.com>
1052
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)).
1056
1057 Tue Aug 24 11:46:10 1999 Bob Manson <manson@cygnus.com>
1058 Richard Henderson <rth@cygnus.com>
1059
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.
1082 (reg_dead_p): New.
1083 * rtl.h (replace_insns): Declare.
1084
1085 Tue Aug 24 13:48:39 1999 Nathan Sidwell <nathan@acm.org>
1086
1087 * expr.c (expand_expr): Cope with COND_EXPRs with one
1088 non-returning branch.
1089
1090 Mon Aug 23 22:28:16 1999 Mark Mitchell <mark@codesourcery.com>
1091
1092 * expr.c (store_expr): Always pass down the target, even when not
1093 doing CSE.
1094
1095 1999-08-24 Nick Clifton <nickc@cygnus.com>
1096
1097 * configure.in: Define target_cpu_default for v850 targets.
1098 * configure: Regenerate
1099
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.
1103
1104 * config/v850/v850.c (print_operand): Cope with 'R' format DFmode
1105 addresses.
1106
1107 Tue Aug 24 09:32:07 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1108
1109 * genattr.c (function_unit_desc): Constify a char*. Add prototype.
1110 (main): Add prototypes.
1111
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.
1118
1119 * genemit.c (gen_split): Emit prototypes along with function
1120 definition.
1121
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
1125 definition.
1126
1127 * genrecog.c (make_insn_sequence): Constify a char*. Add
1128 prototypes for get_split_*().
1129 (write_subroutine): Emit prototypes along with function
1130 definition.
1131
1132 Tue Aug 24 12:35:20 1999 Bernd Schmidt <bernds@cygnus.co.uk>
1133
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
1136 substituted.
1137 (cprop_insn): Don't verify the return value of find_avail_set with
1138 oprs_not_set_p.
1139
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.
1145
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.
1152 * i370.c: Likewise.
1153 * m32r.c: Likewise.
1154 * mn10200.c: Likewise.
1155 * mn10300.c: Likewise.
1156 * ns32k.c: Likewise.
1157 * spur.c: Likewise.
1158 * v850.c: Likewise.
1159
1160 * rtl.h (rtx_equal_function_value_matters): Declare.
1161 * toplev.c (rtx_equal_function_value_matters): Don't declare.
1162 * cse.c: Likewise.
1163 * function.c: Likewise.
1164 * emit-rtl.c: Likewise.
1165
1166 Tue Aug 24 02:47:44 1999 Jeffrey A Law (law@cygnus.com)
1167
1168 * expr.c (convert_move): Fix arguments to TRULY_NOOP_TRUNCATION
1169 call.
1170
1171 1999-08-24 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1172
1173 * jump.c (delete_barrier_successors) Match (set (pc) (pc)) insn
1174 exactly.
1175
1176 Mon Aug 23 23:35:52 1999 Matthias Klose <doko@cs.tu-berlin.de>
1177
1178 * cpp.texi: Add a node documenting macro varargs (copied
1179 from extend.texi).
1180
1181 1999-08-23 22:23 -0700 Zack Weinberg <zack@bitmover.com>
1182
1183 * cppspec.c: Put a null pointer at the end of the new argv.
1184
1185 Mon Aug 23 21:23:24 1999 Jeffrey A Law (law@cygnus.com)
1186
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.
1191 * sched.c Deleted.
1192 * Makefile.in: Corresponding changes.
1193
1194 Mon Aug 23 16:04:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
1195
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
1204 specially.
1205 (cmptf): Now conditional on TARGET_HARD_QUAD.
1206
1207 Fri Aug 20 17:52:27 1999 Jim Wilson <wilson@cygnus.com>
1208
1209 * resource.c (mark_target_live_regs): Use
1210 PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
1211
1212 Fri Aug 20 19:07:55 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1213
1214 * rtl.c (rtx_class, note_insn_name, reg_note_name): Constify.
1215
1216 * rtl.h (rtx_class, reg_note_name, note_insn_name): Likewise.
1217
1218 * genopinit.c (gen_insn): Use accessor macro, not `rtx_class'.
1219
1220 Fri Aug 20 18:53:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1221
1222 * rtl.h (rtx_format): Constify a char*.
1223
1224 * rtl.c (rtx_format): Likewise.
1225 (copy_rtx, copy_most_rtx, read_rtx): Likewise.
1226 (init_rtl): Use accessor macro, not `rtx_format'.
1227
1228 * alias.c (rtx_equal_for_memref_p, find_symbolic_term): Constify a
1229 char*.
1230
1231 * caller-save.c (mark_referenced_regs): Likewise.
1232
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.
1236
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.
1240
1241 * emit-rtl.c (gen_rtx, copy_rtx_if_shared, reset_used_flags):
1242 Likewise.
1243
1244 * final.c (leaf_renumber_regs_insn): Likewise.
1245
1246 * flow.c (mark_used_regs, find_use_as_address, dump_flow_info,
1247 dump_edge_info, count_reg_references): Likewise.
1248
1249 * function.c (fixup_var_refs_1, walk_fixup_memory_subreg,
1250 fixup_stack_1, purge_addressof_1, instantiate_virtual_regs_1):
1251 Likewise.
1252
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.
1256
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.
1261
1262 * genconfig.c (walk_insn_part): Likewise.
1263
1264 * genemit.c (max_operand_1, gen_exp): Likewise.
1265
1266 * genextract.c (walk_rtx): Likewise.
1267
1268 * genflags.c (num_operands): Likewise.
1269
1270 * genoutput.c (scan_operands): Likewise.
1271
1272 * genpeep.c (match_rtx): Likewise.
1273
1274 * genrecog.c (add_to_sequence): Likewise.
1275
1276 * haifa-sched.c (may_trap_exp, sched_analyze_2, attach_deaths):
1277 Likewise.
1278
1279 * integrate.c (save_constants, copy_for_inline,
1280 copy_rtx_and_substitute, subst_constants, restore_constants):
1281 Likewise.
1282
1283 * jump.c (mark_jump_label, invert_exp, redirect_exp,
1284 rtx_renumbered_equal_p, rtx_equal_for_thread_p): Likewise.
1285
1286 * local-alloc.c (contains_replace_regs, memref_referenced_p):
1287 Likewise.
1288
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):
1293 Likewise.
1294
1295 * print-rtl.c (reg_names, print_rtx): Likewise.
1296
1297 * recog.c (validate_replace_rtx_1, find_single_use_1): Likewise.
1298
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.
1302
1303 * regclass.c (fix_register, record_address_regs,
1304 reg_scan_mark_refs): Likewise.
1305
1306 * regmove.c (stable_but_for_p): Likewise.
1307
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):
1313 Likewise.
1314
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.
1319
1320 * resource.c (mark_referenced_resources, mark_set_resources):
1321 Likewise.
1322
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.
1329
1330 * sched.c (sched_analyze_2, attach_deaths): Likewise.
1331
1332 * stupid.c (stupid_mark_refs): Likewise.
1333
1334 * unroll.c (remap_split_bivs): Likewise.
1335
1336 * varasm.c (mark_constants): Likewise.
1337
1338 * a29k/a29k.c (uses_local_reg_p): Likewise.
1339
1340 * alpha/alpha.c (summarize_insn): Likewise.
1341
1342 * arm/arm.c (symbol_mentioned_p, label_mentioned_p,
1343 eliminate_lr2ip): Likewise.
1344
1345 * arm/thumb.c (symbol_mentioned_p, label_mentioned_p): Likewise.
1346
1347 * i386/i386.c (symbolic_reference_mentioned_p, copy_all_rtx,
1348 reg_mentioned_in_mem): Likewise.
1349
1350 * ns32k/ns32k.c (global_symbolic_reference_mentioned_p,
1351 symbolic_reference_mentioned_p): Likewise.
1352
1353 * romp/romp.c (unsigned_comparisons_p, hash_rtx): Likewise.
1354
1355 * sh/sh.c (regs_used, mark_use): Likewise.
1356
1357 * vax/vax.c (vax_rtx_cost): Likewise.
1358
1359 Fri Aug 20 18:38:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1360
1361 * machmode.h (mode_name): Constify a char*.
1362
1363 * rtl.c (mode_name): Likewise.
1364
1365 * genopinit.c (gen_insn): Use accessor macro, not `mode_name'.
1366
1367 * optabs.c (init_libfuncs): Constify a char*.
1368
1369 * print-tree.c (mode_name): Remove redundant declaration.
1370 (print_node): Use accessor macro, not `mode_name'.
1371
1372 * reload1.c (dump_needs): Constify a char*. Use accessor macro,
1373 not `mode_name'.
1374 (new_spill_reg): Constify a char*.
1375
1376 * tree.c (mode_name): Remove redundant declaration.
1377
1378 Fri Aug 20 18:31:26 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1379
1380 * rtl.c (rtx_name): Constify a char*.
1381
1382 * rtl.h (rtx_name, fix_sched_param): Likewise.
1383
1384 * gmicro/gmicro.c (rtx_name): Remove redundant declaration.
1385 (mypr): Use accessor macro, not `rtx_name'.
1386
1387 * genemit.c (print_code): Constify a char*.
1388
1389 * genopinit.c (gen_insn): Use accessor macro, not `rtx_name'.
1390
1391 * genpeep.c (print_code): Constify a char*.
1392
1393 * genrecog.c (print_code): Likewise.
1394
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.
1399
1400 * haifa-sched.c (fix_sched_param, safe_concat, print_exp
1401 print_block_visualization): Constify a char*.
1402
1403 Fri Aug 20 15:02:10 1999 Mark Mitchell <mark@codesourcery.com>
1404
1405 * c-common.c (c_get_alias_set): Update comment.
1406
1407 1999-08-20 Andreas Jaeger <aj@arthur.rhein-neckar.de>
1408
1409 * linux.h (LIB_SPEC): Added.
1410
1411 Fri Aug 20 22:32:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1412
1413 * config/c4x/c4x.h (STARTFILE_SPEC): Don't define.
1414
1415 1999-08-19 18:43 -0700 Zack Weinberg <zack@bitmover.com>
1416
1417 * tree.c (expr_check): Fix typo in last change.
1418
1419 1999-08-19 14:44 -0700 Zack Weinberg <zack@bitmover.com>
1420
1421 * rtl.def (NOTE): Change format to "iuu0n".
1422 (ADDR_DIFF_VEC): Change format to "eEee0".
1423 (ADDRESSOF): Change format to "eit".
1424
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.
1440
1441 * rtl.h (rtvec_alloc): rt->elem is now an array of rtx,
1442 not rtunion.
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.
1449
1450 * function.c (gen_mem_addressof): Don't use
1451 SET_ADDRESSOF_DECL; provide `decl' to gen_rtx_ADDRESSOF
1452 instead.
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
1462 'b' and 't' slots.
1463
1464
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):
1471 Delete.
1472 (CST_OR_CONSTRUCTOR_CHECK, EXPR_CHECK): Redefine such that
1473 they evaluate their arguments exactly once, irrespective of
1474 the compiler in use.
1475
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.
1481
1482 * gencheck.c: Do not define any *_CHECK1 macros.
1483
1484 Thu Aug 19 14:42:38 1999 Mike Stump <mrs@wrs.com>
1485 Mark Mitchell <mark@codesourcery.com>
1486
1487 * c-common.c (c_get_alias_set): Fix support for poitners and
1488 references.
1489
1490 Thu Aug 19 11:51:22 EDT 1999 John Wehle (john@feith.com)
1491
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.
1496
1497 Thu Aug 19 15:02:01 1999 Nick Clifton <nickc@cygnus.com>
1498
1499 * config/rs6000/rs6000.c (rs6000_override_options): Fix test for
1500 unrecognisable switches.
1501
1502 Wed Aug 18 23:31:57 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1503
1504 * loop.c (recombine_givs): Set ix field after sorting.
1505 (recombine_givs): Remove bogus index / giv lockstep looping.
1506
1507 Wed Aug 18 18:20:40 1999 Bernd Schmidt <bernds@cygnus.co.uk>
1508
1509 * expmed.c (emit_store_flag): If UNSIGNEDP, call unsigned_condition
1510 on CODE.
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
1516 compare_from_rtx.
1517 (do_jump_for_compare): Delete.
1518 (expand_expr): Use do_compare_rtx_and_jump when handling MAX_EXPR and
1519 MIN_EXPR.
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
1537 correct comparison.
1538 (expand_binop): Call emit_store_flag_force with signed forms of
1539 comparison code.
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
1545 arg.
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
1551 before deleting it.
1552
1553 Wed Aug 18 06:37:44 1999 Bernd Schmidt <bernds@cygnus.co.uk>
1554
1555 * Makefile.in (insn-recog.o): Update dependencies.
1556 * genrecog.c (main): Make generated file include "function.h".
1557
1558 Sat Aug 14 00:54:57 1999 Geoffrey Keating <geoffk@cygnus.com>
1559
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
1564 a block is deleted.
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.
1573
1574 Tue Aug 17 22:06:11 1999 Jan Hubicka <hubicka@freesoft.cz>
1575
1576 * haifa-sched.c (insn_unit): Fix typo on out of range test.
1577 * sched.c (insn_unit): Likewise.
1578
1579 Tue Aug 17 21:57:23 1999 Andreas Schwab <schwab@suse.de>
1580
1581 * combine.c (distribute_notes): Handle REG_EH_RETHROW.
1582
1583 Tue Aug 17 17:39:43 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
1584
1585 * flow.c (create_edge_list): Use xmalloc, not malloc.
1586
1587 Tue Aug 17 01:40:54 1999 Loren Rittle <ljrittle@acm.org>
1588
1589 * fixinc/inclhack.def (no_double_slash): Do not trash single-line
1590 C-style comments. Do not lose the character before double slash.
1591
1592 Mon Aug 16 18:08:22 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
1593
1594 * basic-block.h (struct edge_list): Stucture to maintain a vector
1595 of edges.
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.
1605
1606 Mon Aug 16 11:56:36 1999 Mark Mitchell <mark@codesourcery.com>
1607
1608 * tree.c (type_hash_add): Use permalloc to allocate nodes in the
1609 hashtable.
1610
1611 Mon Aug 16 17:04:15 1999 Jorn Rennecke <amylaar@cygnus.co.uk>
1612
1613 * mips.h (CLASS_CANNOT_CHANGE_SIZE): Define.
1614
1615 Fri Aug 13 15:20:43 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1616
1617 * config/i386/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
1618
1619 Fri Aug 13 10:21:28 1999 Nick Clifton <nickc@cygnus.com>
1620
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.
1624
1625 Sun Aug 15 12:41:21 1999 Jim Wilson <wilson@cygnus.com>
1626
1627 * explow.c (hard_function_value): Use VOIDmode instead of
1628 MAX_MACHINE_MODE.
1629 * stmt.c (expand_return): Likewise.
1630 * stor-layout.c (get_best_mode): Likewise.
1631
1632 * genemit.c (gen_expand): If next is MATCH_PAR_DUP, then output
1633 emit call instead of emit_insn call.
1634
1635 Sat Aug 14 15:04:06 1999 Mumit Khan <khan@xraylith.wisc.edu>
1636
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.
1645
1646 Fri Aug 13 17:41:55 1999 Jason Merrill <jason@yorick.cygnus.com>
1647
1648 * cpplib.c (read_line_number): New fn, split out of...
1649 (do_line): Here.
1650
1651 Fri Aug 13 14:18:27 1999 Gavin Romig-Koch <gavin@cygnus.com>
1652
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.
1656
1657 Fri Aug 13 00:49:46 1999 Jason Merrill <jason@yorick.cygnus.com>
1658
1659 * toplev.c (flag_new_exceptions): On by default.
1660
1661 1999-08-13 Michael Meissner <meissner@cygnus.com>
1662
1663 * Makefile.in (GCC_FOR_TARGET): Move -B./ after the tooldir -B.
1664
1665 Fri Aug 13 01:29:57 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
1666
1667 * dwarfout.c (fundamental_type_code): Return FT_boolean for
1668 INTEGER_TYPE with precision==1, it's __java_boolean.
1669
1670 Thu Aug 12 23:51:04 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1671
1672 * global.c (prune_preferences): Move some invariants out of the
1673 inner loop.
1674
1675 Thu Aug 12 15:30:29 1999 Jesse Perry (jap@unx.dec.com)
1676
1677 * configure.in (alpha*-dec-osf*): Add osf5.
1678
1679 Sun Aug 1 22:24:03 1999 Philip Blundell <philb@gnu.org>
1680
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):
1689 Don't define.
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
1695 `arm_elf'.
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.
1701
1702 Thu Aug 12 10:14:47 1999 Andreas Schwab <schwab@suse.de>
1703
1704 * rtl.texi: Fix typo.
1705
1706 Wed Aug 11 23:50:57 1999 Jason Merrill <jason@yorick.cygnus.com>
1707
1708 * invoke.texi (C++ Dialect Options): Add -fms-extensions.
1709
1710 Wed Aug 11 12:59:37 1999 Mark Mitchell <mark@codesourcery.com>
1711
1712 * extend.texi (C++ Signatures): Remove node.
1713 * invoke.texi: Remove discussion of -fhandle-signatures,
1714 signature, sigof, __signature__, and __sigof__.
1715
1716 Wed Aug 11 03:38:25 1999 Jeffrey A Law (law@cygnus.com)
1717
1718 * Makefile.in (JAVAGC): Removed.
1719
1720 Wed Aug 11 02:13:26 1999 Mumit Khan <khan@xraylith.wisc.edu>
1721
1722 * i386/cygwin.h (ASM_OUTPUT_ALIGNED_BSS): Define.
1723
1724 1999-08-11 Mark Elbrecht <snowball3@bigfoot.com>
1725
1726 * i386/djgpp.h (ASM_OUTPUT_ALIGNED_BSS): Define.
1727
1728 1999-08-11 Richard Earnshaw (rearnsha@arm.com)
1729
1730 * emit-rtl.c (mark_reg_pointer): Don't increase the alignment of
1731 a register that is already known to be a pointer.
1732
1733 1999-08-11 Bruce Korb <ddsinc09@ix.netcom.com>
1734
1735 * fixinc/inclhack.tpl: Only install assert.h conditionally.
1736 * fixinc/inclhack.sh: Regenerated.
1737 * fixinc/fixincl.sh: Regenerated.
1738
1739 Wed Aug 11 00:34:22 1999 Joe Buck <jbuck@synopsys.com>
1740
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.
1744
1745 Tue Aug 10 17:19:02 1999 Jim Wilson <wilson@cygnus.com>
1746
1747 * config/sh/sh.c (machine_dependent_reorg): Only call PUT_MODE on
1748 note if it is non-NULL.
1749
1750 Tue Aug 10 10:47:42 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
1751
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
1755 prototypes.
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
1761 goto receivers.
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
1783 reachable handlers.
1784
1785 Tue Aug 10 10:39:31 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
1786
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.
1790
1791 Tue Aug 10 09:26:07 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1792
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):
1800 Constify a char*.
1801
1802 * dwarf2out.h (dwarf2out_define, dwarf2out_undef,
1803 dwarf2out_start_source_file, dwarf2out_line): Likewise.
1804
1805 Tue Aug 10 09:21:46 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1806
1807 * output.h (assemble_name): Constify a char*.
1808
1809 * varasm.c (UNIQUE_SECTION, assemble_start_function,
1810 assemble_variable, assemble_name): Likewise.
1811
1812 * dwarf2out.c (ASM_NAME_TO_STRING): Likewise.
1813
1814 * arm/pe.c (arm_pe_unique_section): Likewise.
1815
1816 * i386/cygwin.h (STRIP_NAME_ENCODING): Likewise.
1817
1818 * i386/i386-interix.h (STRIP_NAME_ENCODING): Likewise.
1819
1820 * i386/interix.c (i386_pe_unique_section): Likewise.
1821
1822 * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
1823
1824 * i386/winnt.c (i386_pe_unique_section): Likewise.
1825
1826 * m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
1827
1828 * mn10200/mn10200.h (ASM_OUTPUT_LABELREF): Likewise.
1829
1830 * mn10300/mn10300.h (ASM_OUTPUT_LABELREF): Likewise.
1831
1832 * pa/pa.c (output_call): Likewise.
1833
1834 * pa/pa.h (ASM_OUTPUT_MI_THUNK): Likewise.
1835
1836 * pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Likewise.
1837
1838 * rs6000/rs6000.c (rs6000_output_load_toc_table, output_toc):
1839 Likewise.
1840
1841 * rs6000/rs6000.h (RS6000_OUTPUT_BASENAME, STRIP_NAME_ENCODING):
1842 Likewise.
1843
1844 * rs6000/sol2.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1845
1846 * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_INT,
1847 STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Likewise.
1848
1849 * v850/v850.h (ASM_OUTPUT_LABELREF): Likewise.
1850
1851 Mon Aug 9 19:54:05 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1852
1853 * real.c (GET_REAL, PUT_REAL): Use memcpy instead of bcopy.
1854
1855 Mon Aug 9 19:36:00 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1856
1857 * tree.h (lang_identify): Constify a char*.
1858 (print_error_function): Add extern prototype. Constify a char*.
1859
1860 * c-lang.c (lang_identify): Constify a char*.
1861
1862 * objc/objc-act.c (lang_identify): Constify a char*.
1863
1864 Mon Aug 9 16:21:53 1999 Bernd Schmidt <bernds@cygnus.co.uk>
1865
1866 * genpeep.c (main): Make generated file include "function.h".
1867 * arm.c (function_really_clobbers_lr): Delete INLINE_HEADER case.
1868
1869 Mon Aug 9 10:08:50 1999 Bernd Schmidt <bernds@cygnus.co.uk>
1870
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.
1877 * cse.c: Likewise.
1878 * explow.c: Likewise.
1879 * final.c: Likewise.
1880 * global.c: Likewise.
1881 * graph.c: Likewise.
1882 * local-alloc.c: Likewise.
1883 * loop.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
1922 declaration.
1923 * config/i370/i370.h (current_function_outgoing_args_size): Delete
1924 declaration.
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
1938 declarations.
1939 * config/m88k/m88k.h (current_function_pretend_args_size): Delete
1940 declaration.
1941 * config/mips/mips.h (current_function_calls_alloca): Delete
1942 declaration.
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
1951 declaration.
1952 * config/pyr/pyr.h (current_function_pretend_args_size,
1953 current_function_args_size, current_function_calls_alloca): Delete
1954 declarations.
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
1958 declarations.
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
1962 declaration.
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
1966 declarations.
1967 * haifa-sched.c: Include "function.h".
1968 (forced_labels): Delete declaration.
1969 * jump.c: Likewise.
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.
1974
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
1989 clear_emit_caches.
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.
2009
2010 * expr.c (pending_stack_adjust, inhibit_defer_pop, pending_chain):
2011 Delete variables.
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
2018 is 0.
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
2027 declarations.
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):
2056 Delete variables.
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
2064 function.
2065 (put_reg_into_stack): Likewise.
2066 (assign_stack_temp_for_type): sequence_rtl_expr was renamed to
2067 seq_rtl_expr.
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
2077 the fields.
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
2111 functions.
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
2116 emit rtl.
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
2121 current_function.
2122
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
2142 is needed here.
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.
2156
2157 Mon Aug 9 01:52:24 1999 Jason Merrill <jason@yorick.cygnus.com>
2158
2159 * print-tree.c (print_node): Print base for OFFSET_TYPEs.
2160
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.
2163
2164 Mon Aug 9 01:15:24 1999 Jeffrey A Law (law@cygnus.com)
2165
2166 * pa.h (HARD_REGNO_MODE_OK): Correctly handle FPregs, even when
2167 for 64bit PA targets.
2168
2169 * pa.h (SELECT_SECTION): Define.
2170 * som.h (SELECT_SECTION): Delete.
2171
2172 Sun Aug 8 15:13:20 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2173
2174 * alias.c (init_alias_analysis): Wrap call to
2175 `prologue_epilogue_contains' within HAVE_prologue||HAVE_epilogue.
2176
2177 1999-08-07 Bruce Korb <autogen@linuxbox.com>
2178
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
2183
2184 Sat Aug 7 19:37:07 1999 Richard Henderson <rth@cygnus.com>
2185
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.
2190
2191 Sat Aug 7 19:32:16 1999 Richard Henderson <rth@cygnus.com>
2192
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.
2197
2198 Sat Aug 7 17:09:36 1999 Richard Henderson <rth@cygnus.com>
2199
2200 * global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_REG_SET
2201 to invert loops. Simplify block scanning.
2202
2203 Sat Aug 7 02:11:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2204
2205 * gcse.c (hash_scan_set): Treat SYMBOL_REFs like CONST_INTs.
2206 (cprop_insn): Treat SYMBOL_REFs like CONST_INTs.
2207
2208 1999-08-07 Jonathan Larmour <jlarmour@cygnus.co.uk>
2209
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
2216
2217 Sat Aug 7 01:39:27 1999 Philippe De Muyter <phdm@macqel.be>
2218
2219 * fixinc/server.c (server_setup): Do not prefix function used as
2220 parameter with `&'.
2221
2222 Sat Aug 7 00:21:20 1999 Richard Henderson <rth@cygnus.com>
2223
2224 * alpha.md (movhi and movqi patterns): Correct predicate for !BWX.
2225 Remove fp reg alternatives.
2226
2227 Sat Aug 7 00:06:54 1999 Jeffrey A Law (law@cygnus.com)
2228
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.
2236
2237 1999-08-6 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2238
2239 * reg-stack.c (change_stack) Fixed problem with negative array index.
2240
2241 Fri Aug 6 23:08:44 1999 Jeffrey A Law (law@cygnus.com)
2242
2243 * extend.texi, install.texi: Fix spelling mistakes.
2244
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
2248 PREMADE_ATTRTAB_MD.
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.
2257
2258 * gcc.texi: Document recommend means to provide software floating
2259 point libraries in libgcc.a
2260
2261 1999-08-06 Jason Merrill <jason@yorick.cygnus.com>
2262
2263 * c-lex.c (yylex): We can have a number with no digits.
2264
2265 Fri Aug 6 16:53:55 EDT 1999 John Wehle (john@feith.com)
2266
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
2274 used by an insn.
2275
2276 Fri Aug 6 11:05:29 1999 Jeffrey A Law (law@cygnus.com)
2277
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
2284 here.
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.
2291
2292 Thu Aug 5 19:29:39 1999 Jim Wilson <wilson@cygnus.com>
2293
2294 * expr.c (emit_group_load): Allow src to be a CONCAT.
2295
2296 Thu Aug 5 22:27:15 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
2297
2298 * config/sh/lib1funcs.asm (___movstrSI0): Change or r0,r0,r0 to nop.
2299 (___mulsi3): Use '!' comment character.
2300
2301 Thu Aug 5 13:34:14 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2302
2303 * reload1.c (maybe_fix_stack_asms): Also declare P as "const char *".
2304
2305 Thu Aug 5 02:40:42 1999 Jeffrey A Law (law@cygnus.com)
2306
2307 * gcc.c: Update URLs and mail addresses.
2308 * gcc.texi: Likewise.
2309
2310 Thu Aug 5 01:14:13 1999 Daniel Jacobowitz <drow@false.org>
2311
2312 * rs6000.c (current_file_function_operand): Return zero for
2313 weak functions.
2314 (rs6000_encode_section_info): Do not set SYMBOL_REF_FLAG for
2315 weak symbols.
2316 * rs6000.h (ENCODE_SECTION_NIFO): Do not set SYMBOL_REF_FLAG
2317 for weak symbols.
2318
2319 Thu Aug 5 00:56:30 1999 Geoffrey Keating <geoffk@cygnus.com>
2320
2321 * rs6000.c (rs6000_stack_info): For ABI_V4/ABI_SOLARIS -fpic, always
2322 allocate space in the stack frame for the PIC register.
2323
2324 Thu Aug 5 00:20:47 1999 Jeffrey A Law (law@cygnus.com)
2325
2326 * m68k.md (xordi3, anddi3): These patterns are not available on
2327 the coldfire.
2328
2329 Wed Aug 4 23:39:20 1999 Mark Mitchell <mark@codesourcery.com>
2330
2331 * real.c (GET_REAL): Don't violate ANSI/ISO aliasing rules.
2332 (PUT_REAL): Likewise.
2333
2334 Wed Aug 4 20:45:04 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
2335
2336 * final.c (shorten_branches): Don't add an alignment for loops
2337 that have no label inside.
2338
2339 Wed Aug 4 16:39:24 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2340
2341 * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp): Wrap
2342 prototypes in macro HAVE_cmpstrsi.
2343
2344 * cpplib.c (cpp_get_token): Remove unused label `op3'.
2345
2346 * emit-rtl.c (operand_subword): Remove unused variable
2347 `bits_per_word'.
2348
2349 * rtl.c (shallow_copy_rtx): Remove unused variable `format_ptr'.
2350
2351 * tree.c (chainon): Wrap variable `t2' in macro ENABLE_CHECKING.
2352
2353 Wed Aug 4 13:29:23 1999 Zack Weinberg <zack@bitmover.com>
2354
2355 * cpphash.c (macroexpand): Delete leading whitespace when arg
2356 is concatenated before.
2357 (unsafe_chars): Correct test for whether + and - can extend a
2358 token.
2359
2360 * cppinit.c (cpp_start_read): Do dependencies for
2361 -include/-imacros files also.
2362
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
2367 the input file.
2368
2369 Wed Aug 4 12:53:44 1999 Jason Merrill <jason@yorick.cygnus.com>
2370
2371 * expr.c (expand_expr, case PLUS_EXPR): Fix parallel case, too.
2372
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.
2377 Use linemode.
2378 (handle_generic_pragma): Just deal with tokens.
2379 (readescape): Use ISXDIGIT and ISGRAPH.
2380 * c-parse.in: Add END_OF_LINE token.
2381
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.
2391
2392 Wed Aug 4 12:53:44 1999 Michael Tiemann <tiemann@holodeck.cygnus.com>
2393 Jason Merrill <jason@yorick.cygnus.com>
2394
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.
2402
2403 Wed Aug 4 13:12:17 1999 Jeffrey A Law (law@cygnus.com)
2404
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.
2442
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.
2446
2447 * pa.md (movqi, movhi patterns): Do not expose FP regs to regclass.
2448
2449 Wed Aug 4 11:53:55 1999 Tom Tromey <tromey@cygnus.com>
2450
2451 * configure: Rebuilt.
2452 * configure.in: Removed --enable-java-gc option and JAVAGC subst.
2453
2454 Wed Aug 4 09:06:14 1999 Richard Earnshaw (rearnsha@arm.com)
2455
2456 * recog.c (preproces_constraints): Zero recog_op_alt before
2457 processing the constraints.
2458
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.
2486
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.
2489
2490 Mon Aug 2 19:18:44 1999 Jason Merrill <jason@yorick.cygnus.com>
2491
2492 * linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
2493
2494 1999-08-04 Mark Elbrecht <snowball3@bigfoot.com>
2495
2496 * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Define.
2497
2498 Wed Aug 4 02:15:32 1999 Richard Henderson <rth@cygnus.com>
2499
2500 * jump.c (delete_insn): Delete the addr_vec when deleting a tablejump.
2501
2502 Wed Aug 4 01:48:08 1999 Jim Kingdon <http://developer.redhat.com>
2503
2504 * global.c: Fix comment.
2505
2506 Wed Aug 4 01:43:01 1999 Ian Lance Taylor <ian@zembu.com>
2507
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.
2512
2513 Wed Aug 4 01:40:43 1999 Philippe De Muyter <phdm@macqel.be>
2514
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.
2518
2519 Wed Aug 4 01:08:44 1999 Jeffrey A Law (law@cygnus.com)
2520
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.
2524
2525 Tue Aug 3 20:21:20 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
2526
2527 * Makefile.in (c-decl.o): Depends on defaults.h.
2528
2529 Tue Aug 3 14:14:52 1999 Jeffrey A Law (law@cygnus.com)
2530
2531 * pa.h (HARD_REGNO_NREGS): FP registers are always 4 bytes wide for
2532 PA1.1 and above.
2533 (CLASS_MAX_NREGS): Likewise.
2534
2535 Tue Aug 3 03:51:20 1999 Jeffrey A Law (law@cygnus.com)
2536
2537 * cse.c (cse_insn): Fix dumb thinko in last change.
2538
2539 Tue Aug 3 10:36:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2540
2541 * reload1.c (maybe_fix_stack_asms): Declare CONSTRAINTS as
2542 "const char *".
2543
2544 Mon Aug 2 23:45:45 1999 Hans-Peter Nilsson <hp@bitrange.com>
2545
2546 * dwarf2out.c (add_location_or_const_value_attribute): Correct
2547 test for sizes of passed and declared parameter types.
2548
2549 Tue Aug 3 00:03:41 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2550
2551 * fixincludes: Fix the return type of bsearch, char* -> void*.
2552
2553 * fixinc/inclhack.def: Likewise.
2554
2555 Mon Aug 2 18:29:32 1999 Mark Mitchell <mark@codesourcery.com>
2556
2557 * invoke.texi (-fdump-translation-unit): New option.
2558
2559 Mon Aug 2 17:54:19 1999 Richard Henderson <rth@cygnus.com>
2560
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.
2565
2566 Mon Aug 2 17:10:24 1999 Mark Mitchell <mark@codesourcery.com>
2567
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.
2573
2574 Mon Aug 2 17:02:08 1999 Jason Merrill <jason@yorick.cygnus.com>
2575
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.
2579
2580 Mon Aug 2 16:27:42 1999 Jim Wilson <wilson@cygnus.com>
2581
2582 * combine.c (force_to_mode, case LSHIFTRT): Add goto shiftrt.
2583 (force_to_mode, case ASHIFTRT): Add shiftrt label.
2584
2585 Tue Aug 3 00:45:02 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
2586
2587 * loop.c (strength_reduce): When doing biv->giv conversion, update
2588 reg note of NEXT->insn.
2589
2590 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
2591
2592 * real.c (PUT_REAL): Clear unused bytes if long double is IEEE quad.
2593
2594 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
2595
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.
2600
2601 * expr.h: Supply default for PROMOTE_PROTOTYPES (0).
2602
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.
2618
2619 * config/sparc/sparc.h: Define PROMOTE_PROTOTYPES
2620 based on arch size.
2621
2622 * config/i1750a/i1750a.h: Define PROMOTE_PROTOTYPES to 0.
2623
2624 * config/i860/paragon.h: Remove PROMOTE_PROTOTYPES
2625 from comment.
2626
2627 * tm.texi: Document new usage of PROMOTE_PROTOTYPES.
2628
2629 1999-08-02 Richard Henderson <rth@cygnus.com>
2630
2631 * m32r.c (m32r_setup_incoming_varargs): Use get_varargs_alias_set
2632 for the register spill block.
2633 (m32r_va_arg): New.
2634 * m32r.h (EXPAND_BUILTIN_VA_ARG): New.
2635 (EXPAND_BUILTIN_SAVEREGS): Delete #if 0 code.
2636
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.
2640
2641 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
2642
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.
2648
2649 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
2650
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
2661 it.
2662 * varasm.c (make_decl_rtl): Use ASM_DECLARE_REGISTER_GLOBAL if
2663 defined.
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.
2669
2670 1999-08-02 Richard Henderson <rth@cygnus.com>
2671
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.
2675
2676 Mon Aug 2 23:46:45 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
2677
2678 * loop.c (strength_reduce): When doing biv->giv conversion, fix up
2679 reg_biv_class.
2680
2681 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
2682
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*.
2686
2687 1999-08-02 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2688
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.
2692
2693 Mon Aug 2 16:15:57 1999 David Edelsohn <edelsohn@gnu.org>
2694
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
2702 for 64-bit hosts.
2703 * rs6000/t-aix43 (MULTILIB): Change to -m64.
2704
2705 * invoke.texi (RS/6000 Submodel): Document 64-bit processor options.
2706
2707 Mon Aug 2 16:15:57 1999 Geoff Keating <geoffk@cygnus.com>
2708
2709 * rs6000/rs6000.c (num_insns_constant_wide): Correct
2710 for type promotion.
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;
2722 use `L' instead.
2723 (andsi3_internal2): Likewise.
2724 (andsi3_internal3): Likewise.
2725 (iorsi3_internal1): Likewise.
2726 (xorsi3_internal1): Likewise.
2727 (movsi): 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.
2735
2736 * md.texi (RS/6000 EXTRA_CONSTRAINTS): Update documentation for J,
2737 K, L, and T.
2738
2739 1999-08-02 Richard Henderson <rth@cygnus.com>
2740
2741 * alpha.c (override_options): Move ev6 alpha_tp frobbing out of
2742 -mcpu parsing code.
2743 (print_operand): Notice alpha_fptm not alpha_tp for sw completion.
2744 * alpha.md (all fp insns): Likewise.
2745
2746 1999-08-02 Nick Clifton <nickc@cygnus.com>
2747
2748 * config/v850/v850.h (STRICT_ALIGNMENT): Only define if not
2749 already defined.
2750
2751 Mon Aug 2 03:38:33 1999 Jeffrey A Law (law@cygnus.com)
2752
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.
2757
2758 Mon Aug 2 09:38:10 1999 Nick Clifton <nickc@cygnus.com>
2759
2760 * explow.c (force_reg): Call force_operand if X does not
2761 satisfy general_operand.
2762
2763 Mon Aug 2 01:34:22 1999 Jeffrey A Law (law@cygnus.com)
2764
2765 * fix-header.c (main): When testing for CONTINUED, use string
2766 equality, not pointer equality.
2767
2768 Mon Aug 2 01:27:24 1999 Dan Nicolaescu <dann@ics.uci.edu>
2769
2770 * sparc.c (sparc_block_profiler): Use the %g2 register, not %o0.
2771
2772 Sun Aug 1 22:46:42 1999 Jeffrey A Law (law@cygnus.com)
2773
2774 * cse.c (cse_insn): Fix loop which deletes insns after a jump
2775 that has become an unconditional jump.
2776
2777 * m68k.c (output_function_prologue): Fix typo in CPU32 case.
2778 (output_function_epilogue): Similarly.
2779
2780 Sun Aug 1 20:14:00 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2781
2782 * tree.h (init_dummy_function_start): Declare.
2783
2784 Sun Aug 1 12:55:31 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2785
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
2793 changed.
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
2802 a function.
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.
2813
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.
2825
2826 * emit-rtl.c (emit_line_note): Don't set emit_filename/emit_lineno;
2827 call set_file_and_line_for_stmt.
2828
2829 Thu Jul 31 12:34:45 1999 Joe Buck <jbuck@synopsys.com>
2830
2831 * gcc.texi: Use terms "GNU Compiler Collection" and "GCC".
2832 Also update copyright.
2833
2834 Sat Jul 31 11:10:07 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2835
2836 * c-pragma.c: Don't include "except.h".
2837 * emit-rtl.c: Likewise.
2838 * stor-layout.c: Likewise.
2839 * tree.c: Likewise.
2840 * varasm.c: Likewise.
2841
2842 * flow.c: Include "function.h".
2843 * tree.h (init_dummy_function_start): Declare new function.
2844
2845 * except.h (struct eh_status): New structure.
2846 (struct label_node, struct eh_entry): Declare even if tree.h hasn't
2847 been included.
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.
2858
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
2871 and call it here.
2872
2873 * stmt.c (save_stmt_status): Don't call save_eh_status.
2874 (restore_stmt_status): Don't call restore_eh_status.
2875
2876 * Makefile.in: Update dependencies.
2877
2878 Sat Jul 31 04:10:01 1999 Jeffrey A Law (law@cygnus.com)
2879 <<<<<<< ChangeLog
2880 <<<<<<< ChangeLog
2881
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.
2885
2886 * pa.md (reload_indi, reload_outdi): Allow any register for the
2887 original reload register.
2888
2889 Fri Jul 30 19:41:35 1999 Jim Wilson <wilson@cygnus.com>
2890
2891 * cccp.c (print_help): Change marcos to macros.
2892
2893 1999-07-30 Richard Henderson <rth@cygnus.com>
2894
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
2898 of label addresses.
2899 * c-common.h (initializer_constant_valid_p): Declare.
2900 * c-tree.h (initializer_constant_valid_p): Remove.
2901
2902 Fri Jul 30 16:33:42 1999 Mathias Froehlich <frohlich@na.uni-tuebingen.de>
2903
2904 * config/i386/sol2-c1.asm: Align the stack.
2905 * config/i386/sol2-gc1.asm: Likewise.
2906
2907 1999-07-30 Vladimir Makarov <vmakarov@loony.cygnus.com>
2908
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
2912 sparc86x.
2913 (ASM_CPU_SPEC): Use -Asparclite for sparc86x.
2914
2915 Fri Jul 30 14:53:56 1999 Jakub Jelinek <jj@ultra.linux.cz>
2916
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.
2920
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
2926 TARGET_HARD_MUL32.
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.
2940
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.
2945
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.
2949
2950 Fri Jul 30 03:00:41 1999 Jeffrey A Law (law@cygnus.com)
2951
2952 * pa.md (zvdep_imm32): Renamed from zvdep_imm.
2953 (ashlsi3): Corresponding changes.
2954
2955 * pa.c (compute_zdepwi_operands): Renamed from compute_zdepi_operands.
2956
2957 Thu Jul 29 18:37:13 1999 Jeffrey A Law (law@cygnus.com)
2958
2959 * pa.h (FIRST_PARM_CALLER_OFFSET): Delete.
2960
2961 Thu Jul 29 19:01:58 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2962
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.
2966
2967 Thu Jul 29 09:21:42 1999 Nick Clifton <nickc@cygnus.com>
2968
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.
2972
2973 Wed Jul 28 12:50:48 1999 Geoff Keating <geoffk@cygnus.com>
2974
2975 * config/mips/mips.c: system.h handles MIN and MAX, don't undefine
2976 them here.
2977
2978 Wed Jul 28 13:18:35 1999 Jeffrey A Law (law@cygnus.com)
2979
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.
2983
2984 * pa.c (emit_move_sequence): Always convert scratch_reg to the
2985 proper mode before using it.
2986
2987 * pa.md (adddi3, subdi3): Turn into a define_expand/define_insn
2988 pair.
2989
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.
2993
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.
2998
2999 * pa.md (call, call_value): Use "word_mode" instead of "SImode" as
3000 needed.
3001
3002 * README: Update.
3003
3004 Wed Jul 28 11:28:04 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3005
3006 * builtins.c (expand_builtin): Typo in call to expand_builtin_ffs.
3007 =======
3008 >>>>>>> 1.4237
3009
3010 <<<<<<< ChangeLog
3011 Wed Jul 28 11:23:48 1999 Richard Henderson <rth@cygnus.com>
3012
3013 * pa.c (hppa_builtin_saveregs): Use get_varargs_alias_set
3014 and tag the spill mems.
3015 (hppa_va_start): New.
3016 (hppa_va_arg): New.
3017 * pa.h (EXPAND_BUILTIN_VA_START): New.
3018 (EXPAND_BUILTIN_VA_ARG): New.
3019
3020 Wed Jul 28 11:22:21 1999 Richard Henderson <rth@cygnus.com>
3021
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.
3028
3029 Wed Jul 28 11:20:19 1999 Richard Henderson <rth@cygnus.com>
3030
3031 * mn10200.c (mn10200_va_arg): New.
3032 * mn10200.h (EXPAND_BUILTIN_VA_ARG): New.
3033
3034 Wed Jul 28 11:19:06 1999 Richard Henderson <rth@cygnus.com>
3035
3036 * builtins.c (std_expand_builtin_va_arg): Use int_size_in_bytes
3037 rather than play with TREE_INT_CST_LOW.
3038
3039 1999-07-27 Philip Blundell <pb@nexus.co.uk>
3040
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
3047 defined.
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.
3057
3058 Tue Jul 27 23:20:21 1999 Jeffrey A Law (law@cygnus.com)
3059
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
3065 changes.
3066
3067 Tue Jul 27 16:05:52 1999 David Edelsohn <edelsohn@gnu.org>
3068
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
3082 PPC630 information.
3083 (ashldi3): Add support for "rldic" instruction.
3084 * sysv4.h (PROCESSOR_DEFAULT): Change to PROCESSOR_750.
3085
3086 Tue Jul 27 15:31:53 1999 Vladimir Makarov <vmakarov@toad.to.cygnus.com>
3087
3088 * config/sparc/sparc.c (sparc_override_options): Enable SPARCLITE
3089 instead of V8 for sparclite86x in cpu_table.
3090
3091 Tue Jul 27 17:49:42 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3092
3093 * config/arm/coff.h (ASM_FILE_START): If generating SDB output, call
3094 output_file_directive.
3095
3096 Tue Jul 27 03:15:33 1999 Jason Merrill <jason@yorick.cygnus.com>
3097
3098 * expr.c (expand_expr, case PLUS_EXPR): Get the mode from the
3099 tree for op1, not the rtl.
3100
3101 Tue Jul 27 00:18:34 1999 Richard Henderson <rth@cygnus.com>
3102
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.
3107 (m88k_va_arg): New.
3108 * m88k.h (BUILD_VA_LIST_TYPE): New.
3109 (EXPAND_BUILTIN_VA_START): New.
3110 (EXPAND_BUILTIN_VA_ARG): New.
3111
3112 Mon Jul 26 19:07:11 1999 Geoff Keating <geoffk@cygnus.com>
3113
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.
3117
3118 Mon Jul 26 22:52:47 1999 Richard Henderson <rth@cygnus.com>
3119
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.
3124 (i960_va_arg): 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.
3129
3130 Mon Jul 26 22:43:12 1999 Richard Henderson <rth@cygnus.com>
3131
3132 * builtins.c (stabilize_va_list): Don't INDIRECT_REF through
3133 an ARRAY_TYPE.
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.
3138
3139 Mon Jul 26 18:51:34 1999 Richard Henderson <rth@cygnus.com>
3140
3141 * except.c (start_dynamic_cleanup): Use force_operand on the
3142 buffer's address.
3143
3144 Mon Jul 26 16:43:26 1999 Richard Henderson <rth@cygnus.com>
3145
3146 * c4x.h (EXPAND_BUILTIN_VA_ARG): New.
3147 * c4x.c (c4x_va_arg): New.
3148
3149 Mon Jul 26 12:30:09 1999 Jason Merrill <jason@yorick.cygnus.com>
3150
3151 * cpplib.c (cpp_get_token): Don't return a CPP_POP if the buffer
3152 has manual_pop set.
3153
3154 1999-07-26 Nathan Sidwell <nathan@acm.org>
3155
3156 * eh-common.h (__eh_matcher): Prototype correctly.
3157
3158 Mon Jul 26 17:24:51 1999 Philip Blundell <pb@nexus.co.uk>
3159
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
3163 definitions.
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
3174 ARM port.
3175 (thumb_pic_register, thumb_pic_register_string): Declare.
3176
3177 * config/arm/thumb.c (symbol_mentioned_p): New function: Imported
3178 from arm.c.
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.
3195
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.
3202
3203 * invoke.texi (Thumb Options): Fix spelling. Document new
3204 options -msingle-pic-base and -mpic-register=.
3205
3206 1999-07-26 Andrew Haley <aph@cygnus.com>
3207
3208 * config/m32r/initfini.c (__init): Use a full word immediate for
3209 __fini: this allows it to be placed in any memory region.
3210
3211 * config/m32r/t-m32r: Compile crtinit.o and crtfini.o for
3212 -mmodel=medium. This is OK for all memory models.
3213
3214 Mon Jul 26 11:58:46 1999 Nick Clifton <nickc@cygnus.com>
3215
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.
3218
3219 Mon Jul 26 10:23:36 1999 Nick Clifton <nickc@cygnus.com>
3220
3221 * final.c (asm_fprintf): Accept ASM_FPRINTF_EXTENSIONS, if
3222 defined.
3223
3224 * tm.texi: Document ASM_FPRINTF_EXTENSIONS.
3225
3226 Sun Jul 25 23:51:59 1999 Richard Henderson <rth@cygnus.com>
3227
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.
3237 (i860_va_arg): New.
3238 * i860.md: Disable all peepholes using output_delayed_branch.
3239 * i860/sysv4.h (I860_SVR4_VA_LIST): New.
3240
3241 Sun Jul 25 23:44:13 1999 Richard Henderson <rth@cygnus.com>
3242
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.
3252
3253 Sun Jul 25 22:56:47 1999 Richard Henderson <rth@cygnus.com>
3254
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
3258 varargs save area.
3259 (arc_va_start): New.
3260 (arc_va_arg): New.
3261
3262 Sun Jul 25 22:45:55 1999 Richard Henderson <rth@cygnus.com>
3263
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.
3272
3273 Sun Jul 25 21:40:33 1999 Jeffrey A Law (law@cygnus.com)
3274
3275 * config/svr4.h (CTORS_SECTION_ASM_OP): Do not emit directives in
3276 column zero.
3277 (DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP): Likewise.
3278 (FINI_SECTION_ASM_OP, ASM_OUTPUT_SECTION_NAME): Likewise.
3279
3280 * gcc.texi: More changes related to list conversion.
3281 * invoke.texi: Likewise.
3282
3283 Sun Jul 25 18:15:39 1999 Richard Henderson <rth@cygnus.com>
3284
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.
3323
3324 * emit-rtl.c (operand_subword): Copy alias set.
3325 (change_address): Likewise.
3326
3327 Sun Jul 25 15:04:37 1999 Jeffrey A Law (law@cygnus.com)
3328
3329 * pa.c (compute_frame_size): Scan all the used callee saved registers,
3330 not just the first one.
3331
3332 Fri Jul 23 14:09:58 1999 Philip Blundell <pb@nexus.co.uk>
3333
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
3344 -mpic-register=N.
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.
3353
3354 * invoke.texi (ARM Options): Fix spelling. Remove duplicate
3355 mention of -msched-prolog. Document new options -msingle-pic-base
3356 and -mpic-register=.
3357
3358 Thu Jul 22 18:23:56 1999 Richard Henderson <rth@cygnus.com>
3359
3360 * haifa-sched.c (reemit_notes): Tidy.
3361 * sched.c (reemit_notes): Duplicate 1998-08-31 patch to
3362 haifa's routine.
3363
3364 Thu Jul 22 18:21:04 1999 Richard Henderson <rth@cygnus.com>
3365
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.
3375
3376 Thu Jul 22 14:34:59 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3377
3378 * config/arm/arm.c (arm_print_operand): Fix typo in 'M' case
3379 (use NUM_REGS instead of NUM_INTS).
3380
3381 Thu Jul 22 11:25:20 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3382
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.
3395
3396 Wed Jul 21 00:46:58 1999 Mark P. Mitchell <mark@codesourcery.com>
3397
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
3402 false.
3403 * config/mips/iris6.h (DWARF2_GENERATE_TEXT_SECTION_LABEL):
3404 Define to zero.
3405
3406 1999-07-21 Michael Meissner <meissner@cygnus.com>
3407
3408 * print-rtl.c (print_rtx): Print the names of the virtual
3409 registers.
3410
3411 Wed Jul 21 16:00:32 1999 Nick Clifton <nickc@cygnus.com>
3412
3413 * config/arm/arm.h (INITIAL_ELIMINATION_OFFSET): Fix typo
3414 introduced in previous delta.
3415
3416 Wed Jul 21 14:30:51 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3417
3418 * c-lang.c (finish_file): Rename void_list_node to void_list_node_1
3419 to avoid name clash.
3420 =======
3421
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.
3425
3426 * pa.md (reload_indi, reload_outdi): Allow any register for the
3427 original reload register.
3428
3429 Fri Jul 30 19:41:35 1999 Jim Wilson <wilson@cygnus.com>
3430
3431 * cccp.c (print_help): Change marcos to macros.
3432
3433 1999-07-30 Richard Henderson <rth@cygnus.com>
3434
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
3438 of label addresses.
3439 * c-common.h (initializer_constant_valid_p): Declare.
3440 * c-tree.h (initializer_constant_valid_p): Remove.
3441
3442 Fri Jul 30 16:33:42 1999 Mathias Froehlich <frohlich@na.uni-tuebingen.de>
3443
3444 * config/i386/sol2-c1.asm: Align the stack.
3445 * config/i386/sol2-gc1.asm: Likewise.
3446
3447 1999-07-30 Vladimir Makarov <vmakarov@loony.cygnus.com>
3448
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
3452 sparc86x.
3453 (ASM_CPU_SPEC): Use -Asparclite for sparc86x.
3454
3455 Fri Jul 30 14:53:56 1999 Jakub Jelinek <jj@ultra.linux.cz>
3456
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.
3460
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
3466 TARGET_HARD_MUL32.
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.
3480
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.
3485
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.
3489
3490 Fri Jul 30 03:00:41 1999 Jeffrey A Law (law@cygnus.com)
3491
3492 * pa.md (zvdep_imm32): Renamed from zvdep_imm.
3493 (ashlsi3): Corresponding changes.
3494
3495 * pa.c (compute_zdepwi_operands): Renamed from compute_zdepi_operands.
3496
3497 Thu Jul 29 18:37:13 1999 Jeffrey A Law (law@cygnus.com)
3498
3499 * pa.h (FIRST_PARM_CALLER_OFFSET): Delete.
3500
3501 Thu Jul 29 19:01:58 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3502
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.
3506
3507 Thu Jul 29 09:21:42 1999 Nick Clifton <nickc@cygnus.com>
3508
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.
3512
3513 Wed Jul 28 12:50:48 1999 Geoff Keating <geoffk@cygnus.com>
3514
3515 * config/mips/mips.c: system.h handles MIN and MAX, don't undefine
3516 them here.
3517
3518 Wed Jul 28 13:18:35 1999 Jeffrey A Law (law@cygnus.com)
3519
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.
3523
3524 * pa.c (emit_move_sequence): Always convert scratch_reg to the
3525 proper mode before using it.
3526
3527 * pa.md (adddi3, subdi3): Turn into a define_expand/define_insn
3528 pair.
3529
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.
3533
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.
3538
3539 * pa.md (call, call_value): Use "word_mode" instead of "SImode" as
3540 needed.
3541
3542 * README: Update.
3543
3544 Wed Jul 28 11:28:04 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3545
3546 * builtins.c (expand_builtin): Typo in call to expand_builtin_ffs.
3547
3548 Wed Jul 28 11:23:48 1999 Richard Henderson <rth@cygnus.com>
3549
3550 * pa.c (hppa_builtin_saveregs): Use get_varargs_alias_set
3551 and tag the spill mems.
3552 (hppa_va_start): New.
3553 (hppa_va_arg): New.
3554 * pa.h (EXPAND_BUILTIN_VA_START): New.
3555 (EXPAND_BUILTIN_VA_ARG): New.
3556
3557 Wed Jul 28 11:22:21 1999 Richard Henderson <rth@cygnus.com>
3558
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.
3565
3566 Wed Jul 28 11:20:19 1999 Richard Henderson <rth@cygnus.com>
3567
3568 * mn10200.c (mn10200_va_arg): New.
3569 * mn10200.h (EXPAND_BUILTIN_VA_ARG): New.
3570
3571 Wed Jul 28 11:19:06 1999 Richard Henderson <rth@cygnus.com>
3572
3573 * builtins.c (std_expand_builtin_va_arg): Use int_size_in_bytes
3574 rather than play with TREE_INT_CST_LOW.
3575
3576 1999-07-27 Philip Blundell <pb@nexus.co.uk>
3577
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
3584 defined.
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.
3594
3595 Tue Jul 27 23:20:21 1999 Jeffrey A Law (law@cygnus.com)
3596
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
3602 changes.
3603
3604 Tue Jul 27 16:05:52 1999 David Edelsohn <edelsohn@gnu.org>
3605
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
3619 PPC630 information.
3620 (ashldi3): Add support for "rldic" instruction.
3621 * sysv4.h (PROCESSOR_DEFAULT): Change to PROCESSOR_750.
3622
3623 Tue Jul 27 15:31:53 1999 Vladimir Makarov <vmakarov@toad.to.cygnus.com>
3624
3625 * config/sparc/sparc.c (sparc_override_options): Enable SPARCLITE
3626 instead of V8 for sparclite86x in cpu_table.
3627
3628 Tue Jul 27 17:49:42 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3629
3630 * config/arm/coff.h (ASM_FILE_START): If generating SDB output, call
3631 output_file_directive.
3632
3633 Tue Jul 27 03:15:33 1999 Jason Merrill <jason@yorick.cygnus.com>
3634
3635 * expr.c (expand_expr, case PLUS_EXPR): Get the mode from the
3636 tree for op1, not the rtl.
3637
3638 Tue Jul 27 00:18:34 1999 Richard Henderson <rth@cygnus.com>
3639
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.
3644 (m88k_va_arg): New.
3645 * m88k.h (BUILD_VA_LIST_TYPE): New.
3646 (EXPAND_BUILTIN_VA_START): New.
3647 (EXPAND_BUILTIN_VA_ARG): New.
3648
3649 Mon Jul 26 19:07:11 1999 Geoff Keating <geoffk@cygnus.com>
3650
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.
3654
3655 Mon Jul 26 22:52:47 1999 Richard Henderson <rth@cygnus.com>
3656
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.
3661 (i960_va_arg): 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.
3666
3667 Mon Jul 26 22:43:12 1999 Richard Henderson <rth@cygnus.com>
3668
3669 * builtins.c (stabilize_va_list): Don't INDIRECT_REF through
3670 an ARRAY_TYPE.
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.
3675
3676 Mon Jul 26 18:51:34 1999 Richard Henderson <rth@cygnus.com>
3677
3678 * except.c (start_dynamic_cleanup): Use force_operand on the
3679 buffer's address.
3680
3681 Mon Jul 26 16:43:26 1999 Richard Henderson <rth@cygnus.com>
3682
3683 * c4x.h (EXPAND_BUILTIN_VA_ARG): New.
3684 * c4x.c (c4x_va_arg): New.
3685
3686 Mon Jul 26 12:30:09 1999 Jason Merrill <jason@yorick.cygnus.com>
3687
3688 * cpplib.c (cpp_get_token): Don't return a CPP_POP if the buffer
3689 has manual_pop set.
3690
3691 1999-07-26 Nathan Sidwell <nathan@acm.org>
3692
3693 * eh-common.h (__eh_matcher): Prototype correctly.
3694
3695 Mon Jul 26 17:24:51 1999 Philip Blundell <pb@nexus.co.uk>
3696
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
3700 definitions.
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
3711 ARM port.
3712 (thumb_pic_register, thumb_pic_register_string): Declare.
3713
3714 * config/arm/thumb.c (symbol_mentioned_p): New function: Imported
3715 from arm.c.
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.
3732
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.
3739
3740 * invoke.texi (Thumb Options): Fix spelling. Document new
3741 options -msingle-pic-base and -mpic-register=.
3742
3743 1999-07-26 Andrew Haley <aph@cygnus.com>
3744
3745 * config/m32r/initfini.c (__init): Use a full word immediate for
3746 __fini: this allows it to be placed in any memory region.
3747
3748 * config/m32r/t-m32r: Compile crtinit.o and crtfini.o for
3749 -mmodel=medium. This is OK for all memory models.
3750
3751 Mon Jul 26 11:58:46 1999 Nick Clifton <nickc@cygnus.com>
3752
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.
3755
3756 Mon Jul 26 10:23:36 1999 Nick Clifton <nickc@cygnus.com>
3757
3758 * final.c (asm_fprintf): Accept ASM_FPRINTF_EXTENSIONS, if
3759 defined.
3760
3761 * tm.texi: Document ASM_FPRINTF_EXTENSIONS.
3762
3763 Sun Jul 25 23:51:59 1999 Richard Henderson <rth@cygnus.com>
3764
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.
3774 (i860_va_arg): New.
3775 * i860.md: Disable all peepholes using output_delayed_branch.
3776 * i860/sysv4.h (I860_SVR4_VA_LIST): New.
3777
3778 Sun Jul 25 23:44:13 1999 Richard Henderson <rth@cygnus.com>
3779
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.
3789
3790 Sun Jul 25 22:56:47 1999 Richard Henderson <rth@cygnus.com>
3791
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
3795 varargs save area.
3796 (arc_va_start): New.
3797 (arc_va_arg): New.
3798
3799 Sun Jul 25 22:45:55 1999 Richard Henderson <rth@cygnus.com>
3800
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.
3809
3810 Sun Jul 25 21:40:33 1999 Jeffrey A Law (law@cygnus.com)
3811
3812 * config/svr4.h (CTORS_SECTION_ASM_OP): Do not emit directives in
3813 column zero.
3814 (DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP): Likewise.
3815 (FINI_SECTION_ASM_OP, ASM_OUTPUT_SECTION_NAME): Likewise.
3816
3817 * gcc.texi: More changes related to list conversion.
3818 * invoke.texi: Likewise.
3819
3820 Sun Jul 25 18:15:39 1999 Richard Henderson <rth@cygnus.com>
3821
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.
3860
3861 * emit-rtl.c (operand_subword): Copy alias set.
3862 (change_address): Likewise.
3863
3864 Sun Jul 25 15:04:37 1999 Jeffrey A Law (law@cygnus.com)
3865
3866 * pa.c (compute_frame_size): Scan all the used callee saved registers,
3867 not just the first one.
3868
3869 Fri Jul 23 14:09:58 1999 Philip Blundell <pb@nexus.co.uk>
3870
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
3881 -mpic-register=N.
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.
3890
3891 * invoke.texi (ARM Options): Fix spelling. Remove duplicate
3892 mention of -msched-prolog. Document new options -msingle-pic-base
3893 and -mpic-register=.
3894
3895 Thu Jul 22 18:23:56 1999 Richard Henderson <rth@cygnus.com>
3896
3897 * haifa-sched.c (reemit_notes): Tidy.
3898 * sched.c (reemit_notes): Duplicate 1998-08-31 patch to
3899 haifa's routine.
3900
3901 Thu Jul 22 18:21:04 1999 Richard Henderson <rth@cygnus.com>
3902
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.
3912
3913 Thu Jul 22 14:34:59 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3914
3915 * config/arm/arm.c (arm_print_operand): Fix typo in 'M' case
3916 (use NUM_REGS instead of NUM_INTS).
3917
3918 Thu Jul 22 11:25:20 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3919
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.
3932
3933 Wed Jul 21 00:46:58 1999 Mark P. Mitchell <mark@codesourcery.com>
3934
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
3939 false.
3940 * config/mips/iris6.h (DWARF2_GENERATE_TEXT_SECTION_LABEL):
3941 Define to zero.
3942
3943 1999-07-21 Michael Meissner <meissner@cygnus.com>
3944
3945 * print-rtl.c (print_rtx): Print the names of the virtual
3946 registers.
3947
3948 Wed Jul 21 16:00:32 1999 Nick Clifton <nickc@cygnus.com>
3949
3950 * config/arm/arm.h (INITIAL_ELIMINATION_OFFSET): Fix typo
3951 introduced in previous delta.
3952
3953 Wed Jul 21 14:30:51 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3954
3955 * c-lang.c (finish_file): Rename void_list_node to void_list_node_1
3956 to avoid name clash.
3957 >>>>>>> 1.4250
3958
3959 <<<<<<< ChangeLog
3960 Wed Jul 21 08:39:22 1999 Gavin Romig-Koch <gavin@cygnus.com>
3961
3962 * c-lex.c (yylex) : Correct the test for overflow when lexing
3963 integer literals.
3964
3965 Tue Jul 20 18:02:42 1999 Richard Henderson <rth@cygnus.com>
3966
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
3972 is not 0.
3973 * tm.texi (MD_SCHED_REORDER): Update docs.
3974
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.
3979
3980 Tue Jul 20 17:07:54 1999 Richard Henderson <rth@cygnus.com>
3981
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.
3993
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.
4002
4003 * rs6000.md (movdi_32+1): Use GEN_INT after arithmetic
4004 in the HOST_BITS_PER_WIDE_INT > 32 case.
4005
4006 Tue Jul 20 12:37:30 1999 Hans-Peter Nilsson <hp@bitrange.com>
4007
4008 * dwarf2out.c (output_abbrev_section): Terminate with a zero.
4009
4010 Tue Jul 20 12:12:27 1999 Jason Merrill <jason@yorick.cygnus.com>
4011
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.
4018
4019 Tue Jul 20 12:12:09 1999 Michael Tiemann <tiemann@holodeck.cygnus.com>
4020
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.
4026
4027 Tue Jul 20 11:24:19 1999 Bernd Schmidt <bernds@cygnus.co.uk>
4028
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.
4036 Include c-common.h.
4037 * c-decl.c: Delete definitions for tree nodes that were replaced by
4038 c_global_trees.
4039 (init_decl_processing): Build void_list_node.
4040 Call c_common_nodes_and_builtins; delete code to generate the common
4041 builtins here.
4042 * objc/objc-act.c (build_module_descriptor): Rename variable
4043 void_list_node to avoid clash with c-common.h.
4044
4045 * Makefile.in: Update dependencies.
4046 * objc/Make-lang.in: Likewise.
4047
4048 Mon Jul 19 14:22:18 1999 Mark P. Mitchell <mark@codesourcery.com>
4049
4050 * config/mips/iris6gld.h (MAKE_DECL_ONE_ONLY): Define.
4051 (UNIQUE_SECTION_P): Likewise.
4052 (UNIQUE_SECTION): Likewise.
4053
4054 1999-07-19 Linas Vepstas <linas@linas.org>
4055
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.
4067
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.
4086 =======
4087 * pa.c (compute_frame_size): Use STARTINg_FRAME_OFFSET instea
This page took 0.19598 seconds and 6 git commands to generate.