OSDN Git Service

d3dc6a26396f70cc546cbbe1c51d11276e74511f
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 1999-04-19 14:51 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
2
3         * cpplib.c (output_line_command): Drop CONDITIONAL argument.
4         We can omit unnecessary line commands if file_change ==
5         same_file and pfile->lineno != 0.  All callers changed.
6         (cpp_get_token [case '\n']): Don't bump pfile->lineno if
7         CPP_OPTIONS (pfile)->no_line_commands is set.
8         * cpplib.h: Fix prototype of output_line_command.
9
10 1999-04-18 17:46 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
11
12         * cppfiles.c (find_position, read_and_prescan): Use `unsigned
13         long' variables consistently to count line and column numbers.
14
15 Sun Apr 18 15:50:33 EDT 1999  John Wehle  (john@feith.com)
16
17         * output.h (current_function_is_leaf,
18         current_function_uses_only_leaf_regs): Declare.
19         * function.c (current_function_is_leaf,
20         current_function_uses_only_leaf_regs): Define.
21         (init_function_start): Initialize current_function_is_leaf
22         and current_function_uses_only_leaf_regs.
23         * final.c (leaf_function): Don't define.
24         (final_start_function): Replace uses of leaf_function with
25         current_function_uses_only_leaf_regs.
26         * toplev.c (rest_of_compilation): Set current_function_is_leaf
27         prior to invoking local register allocation.
28         (rest_of_compilation): Replace uses of leaf_function with
29         current_function_uses_only_leaf_regs.
30         * dbxout.c (dbxout_symbol, dbxout_parms): Likewise.
31         * dwarf2out.c (add_location_or_const_vaule_attribute): Likewise.
32         * dwarfout.c (add_location_or_const_value_attribute): Likewise.
33         * sdbout.c (sdbout_symbol): Likewise.
34         * sparc.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Likewise.
35         * sparc.c (eligible_for_epilogue_delay, output_return,
36         sparc_return_peephole_ok): Likewise.
37         * sparc.md (leaf_function attribute, untyped_return): Likewise.
38         * i386.c (ix86_compute_frame_size): Don't align the stack
39         for leaf functions which don't allocate any stack slots.
40         * tm.texi: Update documentation.
41
42 Sun Apr 18 02:15:09 PDT 1999 Jeff Law  (law@cygnus.com)
43
44         * version.c: Bump for snapshot.
45
46 Sun Apr 18 00:08:45 1999  Richard Henderson  <rth@cygnus.com>
47
48         * alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Correct last change --
49         make sure FP_BASE_P registers are only used with an integer.
50
51 Sat Apr 17 22:54:17 1999  Richard Henderson  <rth@cygnus.com>
52
53         * alpha.h (REG_OK_FP_BASE_P): New macro.
54         (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Use it.
55         * alpha.md (adddi3+1): New insn to handle large constants off 
56         the soft frame pointer.
57         (adddi3+2): Don't split soft frame pointer or arg pointer additions.
58
59 Sun Apr 18 17:24:10 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
60
61         * config/c4x/c4x.c (legitimize_operands): Use rtx_cost
62         to determine if it is worthwhile forcing a constant into a register.
63         * config/c4x/c4x.h (CONST_COSTS): An integer value of 255 or 65535
64         used with a logical and or an integer value of 16 or 24 used with
65         a right shift has zero cost on the C40.
66
67 Sat Apr 17 21:30:11 1999  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
68
69         * gcse.c (compute_local_properties): If setp is nonzero, clear
70         TRANSP instead of setting it to all ones.
71
72 Sat Apr 17 21:10:10 1999  Jan Hubicka <hubicka@freesoft.cz>
73
74         * i386.c (i386_preferred_stack_boundary_string): New global variable.
75         (i386_preferred_stack_boundary): New global variable.
76         (override_functions): Set it.  Tidy option setting code.
77         * i386.h (TARGET_OPTIONS): New command line option.
78         (i386_preferred_stack_boundary_string): Declare it.
79         (i386_preferred_stack_boundary): Likewise.
80         (PREFERRED_STACK_BOUNDARY): Use i386_preferred_stack_boundary.
81
82 Sat Apr 17 19:22:38 1999  Jan Hubicka <hubicka@freesoft.cz>
83
84         * i386.c (k6_cost): Take into account the decoding time.
85
86 Sat Apr 17 19:13:22 1999  Donn Terry  <donn@interix.com>
87
88         * i386.h (PRINT_OPERAND_PUNCT_VALID_P): Allow _.
89         * i386.c (print_operand): New %_ operator.
90         (load_pic_register): Proper number of leading _ in GOT literal.
91         * i386.md (prologue_get_pc_and_set_got): Likewise.
92         * i386/unix.h (ASM_OUTPUT_MI_THUNK): Likewise.
93
94 Sat Apr 17 19:13:07 1999  Richard Henderson  <rth@cygnus.com>
95
96         * alpha.c (alpha_expand_prologue): Use gen_adddi3 instead of 
97         emit_move_insn+plus_constant.  For NT, don't use the stack probe
98         loop pointer to allocate stack space.
99         * alpha.md (adddi3): Always use lda to set the stack pointer.
100
101 1999-04-17 20:11 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
102
103         * c-aux-info.c, emit-rtl.c, explow.c, expmed.c, gcse.c,
104         haifa-sched.c, optabs.c, reorg.c, resource.c, sched.c: Include
105         toplev.h for real declaration of trim_filename.
106         * Makefile.in: Update dependencies.
107
108 Sat Apr 17 14:36:19 1999  Craig Burley  <craig@jcb-sc.com>
109
110         * tree.c (chainon): Check for circularity only if
111         ENABLE_CHECKING is defined.
112
113 1999-04-17 10:15 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
114
115         * cccp.c: Make fatal non-static.
116
117 Sat Apr 17 23:47:24 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
118
119         * config/c4x/c4x.md (*andqi3_255_clobber,*andqi3_65535_clobber):
120         New logical and patterns using C40 bit-field insert instructions.
121         (*lshrqi3_24_clobber,*ashrqi3_24_clobber,*lshrqi3_16_clobber,
122         *ashrqi3_16_clobber): New shift patterns using C40 bit-field insert
123         instructions.
124         
125 1999-04-16 22:44 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
126
127         * system.h: Always prototype abort.  Prototype fatal.  Define
128         abort to call fatal, not fprintf/exit.  Define a stub macro
129         for trim_filename.
130         * toplev.c: Define DIR_SEPARATOR.  (trim_filename): New
131         function.
132         * toplev.h: Prototype trim_filename, and #undef system.h's stub.
133
134         * gcc.c, genattr.c, genattrtab.c, gencodes.c, genconfig.c,
135         genemit.c, genextract.c, genflags.c, genopinit.c, genoutput.c,
136         genpeep.c, genrecog.c: Make fatal non-static.
137         * gcov.c, gengenrtl.c, protoize.c: #undef abort after
138         including system.h.
139
140         * config/i386/dgux.h, config/m68k/xm-amix.h: Remove stale code
141         relating to abort.
142
143 Sat Apr 17 11:25:44 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
144
145         * config/c4x/c4x.md (mulqf3_clrqf_clobber, mulqi3_clrqi_clobber): 
146         New patterns to support parallel multiply and load of zero.
147
148 Fri Apr 16 01:23:47 1999  Jason Merrill  <jason@yorick.cygnus.com>
149
150         * tree.c (valid_machine_attribute): If we're modifying the
151         FUNCTION_TYPE within a POINTER_TYPE and we don't get a decl,
152         update the POINTER_TYPE.
153
154 Fri Apr 16 00:19:31 1999  Jan Hubicka <hubicka@freesoft.cz>
155
156         * i386.c (x86_adjust_cost): Move break statement to correct place.
157
158 Thu Apr 15 23:17:33 1999  Jerry Quinn <jquinn@nortelnetworks.com>
159
160         * pa.h (HAVE_PRE_INCREMENT, HAVE_POST_INCREMENT,
161         HAVE_PRE_DECREMENT, HAVE_POST_DECREMENT): Fix pa_cpu value from
162         8000 to PROCESSOR_8000.
163
164 Thu Apr 15 20:46:57 1999  Donn Terry (donn@interix.com)
165
166         * expr.c (expand_assignment): Force pointers to proper mode if
167         POINTERS_EXTEND_UNSIGNED is defined.
168
169         * xm-alpha.h (alloca.h): Add Interix to list of special machines 
170         that don't like alloca.h, pending using autoconf results.
171
172         * except.c (start_catch_hadler): Be sure rtime_address is Pmode
173         if POINTERS_EXTEND_UNSIGNED.
174
175         * except.c (expand_eh_return): Force pointers to proper mode if
176         POINTERS_EXTEND_UNSIGNED.
177
178 Thu Apr 15 23:13:35 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
179
180         * config/c4x/c4x.h:  Tweaked comment formatting.
181         * config/c4x/c4x.c:  Likewise.
182
183 Thu Apr 15 02:45:19 1999  Mumit Khan  <khan@xraylith.wisc.edu>
184
185         * aclocal.m4 (GCC_FUNC_MKDIR_TAKES_ONE_ARG): Define.
186         * configure.in: Use.
187         * configure: Rebuilt.
188         * acconfig.h (MKDIR_TAKES_ONE_ARG): Add.
189         * config.in: Rebuilt.
190         * system.h: Use.
191
192 Thu Apr 15 01:03:21 1999  Jan Hubicka <hubicka@freesoft.cz>
193                           Jeff Law <law@cygnus.com>
194
195         * i386.md (QImode add pattern): Support lea instruction.
196         (HImode add pattern): Likewise.
197
198         * i386.md (ashlsi patterns): Call output_ashl instead of output_ashlsi3.
199         (ashlqi): Use expander, separate LEA and SAL / ADD patterns; call
200         output_ashl.
201         (ashlhi): Likewise.
202         * i386.h (output_ashl): Renamed from output_ashlsi3.
203         * i386.c (output_ashl): Likewise; support HImode and QImode operands
204         as well.
205
206         * i386.md (notsi, nothi, xorsi, xorhi, and xorqi patterns): Call
207         memory_address_displacement_length instead of memory_address_length.
208         * i386.c (memory_address_info): Renamed from memory_address_length.
209         Accept new argument DISP_LENGTH.  All callers changed.  If DISP_LENGTH,
210         then return the displacement length.  Else return length of the
211         entire memory address.  Handle MULT case correctly.
212         * i386.h (memory_address_info): Update declaration.
213
214         * i386.md (memory_bit_test): Fix paren error.
215
216 Wed Apr 14 21:29:18 1999  Andrew Haley  <aph@cygnus.com>
217
218         * flow.c: (make_edges): Always make edges from a basic block
219         to its exception handlers, even if the block ends with a jump.
220
221 1999-04-14 23:26 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
222
223         * graph.c (node_data): Return void.  Ignore result of
224         print_rtl_single.  Change caller to match.
225         * integrate.c (subst_constants): Initialize op0_mode to an 
226         invalid mode, and abort before use if it's still invalid.
227         (Can only happen if the RTX_CLASS, RTX_FORMAT tables are corrupted.)
228         * objc/objc-act.c (get_objc_string_decl,
229         build_selector_translation_table, generate_protocol_list,
230         synth_id_with_class_suffix, build_keyword_selector,
231         build_selector_expr, gen_declarator): Abort when the tree
232         structure is corrupted.
233
234 Wed Apr 14 19:57:49 1999  Jeffrey A Law  (law@cygnus.com)
235
236         * configure.in (alpha interix): Use symbolic names to set
237         target_cpu_default.
238         * configure: Rebuilt.
239
240         * explow.c (allocate_dynamic_stack_space): Undo last change.  Use
241         convert_memory_address instead.
242
243 Wed Apr 14 19:42:02 1999  Donn Terry (donn@interix.com)
244
245         * alpha/lib1funcs.asm: New file.
246         * alpha/t-interix (lib1funcs.asm): Add to build.
247
248         * explow.c (allocate_dynamic_stack_space): Correctly convert TARGET
249         to Pmode.
250
251 Wed Apr 14 14:26:36 1999  John Wehle  (john@feith.com)
252
253         * i386.md (truncxfdf): Output the template supplied
254         by output_move_double with the correct operands.
255
256         * i386.md (extendsfdf, extendsfxf, extenddfxf): Use
257         output_float_extend instead specifying '#' as the template.
258         * i386.c (output_float_extend): Define.
259         * i386.h (output_float_extend): Declare.
260
261 Wed Apr 14 10:48:03 1999  Catherine Moore  <clm@cygnus.com>
262  
263         * config/mips/elf.h, config/mips/elf64.h
264         (CTORS_SECTION_ASM_OP): Define.
265         (DTORS_SECTION_ASM_OP): Define.
266         (EXTRA_SECTIONS): Define.
267         (INVOKE__main): Define.
268         (NAME__MAIN): Define.
269         (SYMBOL__MAIN): Define.
270         (EXTRA_SECTIONS_FUNCTIONS): Define.
271         (SECTION_FUNCTION_TEMPLATE): Define.
272         (ASM_OUTPUT_CONSTRUCTOR): Define.
273         (ASM_OUTPUT_DESTRUCTOR): Define.
274         (CTOR_LIST_BEGIN): Define.
275         (CTOR_LIST_END): Define.
276         (DTOR_LIST_BEGIN): Define.
277         (DTOR_LIST_END): Define.
278         (LIB_SPEC): Define.
279         (STARTFILE_SPEC): Define.
280         (ENDFILE_SPEC): Define.
281         * config/mips/linux.h:  Undefine all of the above.
282         * config/mips/rtems64.h: Likewise.
283         * config/mips/t-r3900: Likewise.
284         * config/mips/t-elf: New file.
285         * config/mips/vxworks.h: New file.
286         * configure.in (mips-wrs-vxworks): Use mips/vxworks.h.
287         (mips*-*-*elf*):  Use t-elf instead of t-ecoff.
288         * configure: Regenerate.
289
290 Wed Apr 14 09:59:38 1999  Richard Henderson  <rth@cygnus.com>
291
292         * reload1.c (emit_reload_insns): Also find equivalent mems
293         for subregs of pseudos.
294
295         * alpha.c (aligned_memory_operand): Recognize the output of
296         LEGITIMIZE_RELOAD_ADDRESS.  Examine reg_equiv_memory_loc in
297         the event of a pseudo.
298         (unaligned_memory_operand): Likewise.  Don't otherwise accept
299         completely illegal addresses.
300         (normal_memory_operand): Likewise.  Handle subregs of pseudos.
301         (get_aligned_mem): Revert previous change.  Abort if we don't have a
302         mem.  During reload, call find_replacement on all illegal memories.
303         (get_unaligned_address): Likewise.
304         * alpha.h (SECONDARY_INPUT_RELOAD_CLASS): Use !aligned_memory_operand
305         instead of unaligned_memory_operand.
306         * alpha.md: Revert extra argument to get_aligned_mem.
307         (reload_inqi): Use any_memory_operand in constraints.  Abort if
308         we're not given some sort of mem.
309         (reload_inhi): Likewise.
310         (reload_outqi, reload_outhi): Likewise.
311
312 Wed Apr 14 09:39:20 1999  Richard Henderson  <rth@cygnus.com>
313
314         * i386.md (neghi): Use the whole register when widening the op.
315
316 1999-04-14 12:37 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
317
318         * cpperror.c, cppexp.c, cpplib.c: Never call abort.
319         * cpphash.c: Only call abort when we detect corruption of the
320         malloc arena.
321         * cppmain.c: Don't define fatal or fancy_abort.
322
323 Wed Apr 14 09:19:39 1999  Jan Hubicka <hubicka@freesoft.cz>
324
325         * i386.c (x86_adjust_cost): Agi stall takes 1 cycle on Pentium, fst
326         requires value to be ready one extra cycle.
327
328 Wed Apr 14 11:28:34 1999  Dave Brolley  <brolley@cygnus.com>
329
330         * config/i386/i386.c (memory_address_length): Add missing parenthesis.
331
332 Wed Apr 14 13:59:27 1999  Martin von Loewis  <loewis@informatik.hu-berlin.de>
333
334         * extend.texi (Deprecated Features): New node.
335         * invoke.texi (-Wdeprecated): Document.
336
337 Wed Apr 14 00:18:22 1999  Jan Hubicka <hubicka@freesoft.cz>
338
339         * i386.md (SImode logical compare): Avoid outputing non-pariable testw
340         and testl on Pentium.
341         (register and memory bit tests): Likewise.
342         (setcc, normal and reversed conditional branches): Use shorter
343         sequence for testing flags stored in EAX.
344
345         * i386.md (xorsi3): Do not output NOT instrctions on Pentium.
346         (xorqi3): Likewise.
347         (xorhi3): Likewise.
348         (notsi2): Likewise.
349         (notqi2): Likewise.
350         (nothi2): Likewise; do not output prefixed opcodes when possible.
351
352         * i386.md (neghi2): Do not output prefixed opcode when possible.
353         (ashlhi3): Likewise.
354
355 Wed Apr 14 00:08:46 1999  Richard Henderson  <rth@cygnus.com>
356
357         * i386.c (memory_address_length): New function.
358         * i386.h (memory_address_length): Declare it.
359
360 Tue Apr 13 22:52:04 1999  Donn Terry (donn@interix.com)
361                           Martin Heller (Ing.-Buero_Heller@t-online.de)
362
363         * configure.in (interix Alpha): Add. 
364         (winnt Alpha): Use alpha32.h
365         (interix i386): Parallel Alpha32.
366         * configure: Rebuilt.
367
368         * config/interix.h: Move common elements from i386-interix.h.
369         * config/i386/i386-interix.h: Delete same.
370         * config/alpha/alpha-interix.h: New file.
371
372         * config/alpha/alpha32.h: New file, part fron win-nt.h.
373         * config/alpha/win-nt.h: Deletions (-> alpha32.h).
374         * config/alpha/interix.h: New file
375
376         * config/alpha/alpha.md (interix): Comment.
377
378         * config/alpha/xm-alpha-interix.h: New file.
379
380         * config/alpha/t-interix: New file.
381
382         * fixinc/mkfixinc.sh (interix/Alpha): Add.
383
384 1999-04-13  Mike Stump  <mrs@wrs.com>
385
386         * i386/vxi386.h (CPP_CPU_SPEC): Define appropriately for vxworks.
387         (CPP_PREDEFINES, LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): likewise.
388
389 Tue Apr 13 21:01:36 1999  Jason Merrill  <jason@yorick.cygnus.com>
390
391         * c-common.c (default_valid_lang_attribute): New fn.
392         (valid_lang_attribute): New callback ptr.
393         (decl_attributes): Call it.  Move init_priority support into
394         C++ frontend.
395
396 Tue Apr 13 17:47:14 1999  John Wehle  (john@feith.com)
397
398         * i386.md (movdi): Add splitter.
399
400 Wed Apr 14 10:04:27 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
401
402         * config/c4x/c4x.md (storeqf_int, storeqf_int_clobber, loadqf_int,
403         loadqf_int_clobber): Add new patterns with corresponding splitters
404         to handle moves of floating point values into and out of intager
405         registers by using memory.
406
407         * config/c4x/c4x.c (c4x_check_legit_addr): Disallow PRE_INC for modes
408         other than QFmode and QImode.
409         (mixed_subreg_operand): New function.
410         (c4x_emit_move_sequence): If moving a floating point value into or
411         out of an integer register, use the new patterns storeqf_int_clobber
412         or loadqf_int_clobber.
413         (reg_imm_operand, *_reg_operand): Call reg_operand instead of 
414         register_operand.
415         (reg_operand, src_operand): Disallow operand if it satisifes
416         mixed_subreg_operand.
417
418         * config/c4x/c4x.h (mixed_subreg_operand): Add prototype.
419
420 Tue Apr 13 14:49:13 1999  Jan Hubicka  <hubicka@freesoft.cz>
421
422         * i386.c (agi_dependent): Handle push operation more correctly.
423
424 Tue Apr 13 14:45:17 1999  Jan Hubicka  <hubicka@freesoft.cz>
425
426         * i386.md (anddi3): Add % constraint.
427         (iordi3, xordi3): Likewise.
428
429 Tue Apr 13 14:29:58 1999  Jan Hubicka  <hubicka@freesoft.cz>
430
431         * i386.md (extendhisi2): Output mov instead of cw instruction for K6
432         to improve decoding bandwidth.
433         * i386.md (extendhiqi2): Likewise.
434
435 Tue Apr 13 14:26:31 1999  Jan Hubicka  <hubicka@freesoft.cz>
436
437         * i386.md (movsf_push): Handle memory to memory case too, new splitter.
438         (movdf_push, movxf_push): Likewise.
439         (movsf_push_memory, movdf_push_memory, movxf_push_memory): Remove.
440
441 Tue Apr 13 14:14:06 1999  Jan Hubicka  <hubicka@freesoft.cz>
442
443         * i386.md: Do not output mov %0,reg on AMD K6.
444
445 Tue Apr 13 12:14:07 1999  Dave Brolley  <brolley@cygnus.com>
446
447         * cppinit.c (cpp_start_read): Fix buffer overwrite.
448         * Makefile.in (cppinit.o): Typo in dependencies.
449
450 Tue Apr 13 05:04:59 1999  Richard Earnshaw  (rearnsha@arm.com)
451
452         * arm.h (function prototypes for arm.c): Ifdef these out if
453         HAVE_CONFIG_H is not defined.
454
455 Tue Apr 13 02:11:11 1999  Jeffrey A Law  (law@cygnus.com)
456
457         * pa.c: Avoid Using immediate zero for register zero.
458         * pa.md: Likewise.
459
460         * pa.c (print_operand, case 'f'): New case for FP register or 0.0.
461         (print_operand, case 'r'): Use %r0 for zero value.
462         * pa.md (move patterns, fcmp patterns): Use new %f output arg.
463
464         * pa.c: Use a register name, not a raw immediate in branch,
465         compare/clear, sub, subb, uaddcm and vshd instructions.
466         * pa.md: Likewise.
467
468         * pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise.
469
470         * pa.c: Use a register name, not a raw immediate in "bv" instructions.
471         * pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise.
472
473         * pa.c: Remove space register specification in memory addresses,
474         except where it is actually needed.
475         * pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise.
476
477 Mon Apr 12 23:34:35 1999  Jeff Law  (law@cygnus.com)
478
479         * version.c: Bump for snapshot.
480
481 Mon Apr 12 14:58:30 1999  Jan Hubicka  <hubicka@freesoft.cz>
482
483         * reg-stack.c (check_stack_regs_mentioned): Remove variable SIZE.
484
485 Mon Apr 12 19:15:17 1999  Daniel Jacobowitz  <dan@debian.org>
486
487         * rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Add missing backslash.
488
489 Mon Apr 12 19:11:38 1999  Mumit Khan  <khan@xraylith.wisc.edu>
490
491         * i386/cygwin.h (SUBTARGET_SWITCHES): Add -mconsole; fix
492         -mno-nop-fun-dllimport and minor doc fixes.
493         (STARTFILE_SPEC): Cygwin DLLs don't have dllcrt0.
494         (LINK_SPEC): Add -mconsole support.
495         * i386/mingw32.h (LIB_SPEC): Make libraries consistent with 
496         Cygwin.
497         (LINK_SPEC): Remove. Use Cygwin's version.
498         (MATH_LIBRARY): Make it null.
499         * i386/crtdll.h (MATH_LIBRARY): Likewise.
500
501 Fri Apr 12 15:00:52 1999  Stan Cox  <scox@cygnus.com>
502
503         * c-decl.c (c_decode_option, start_decl, start_function,
504         finish_function) : Recognize -Wno-main so we can avoid warnings.
505
506 1999-04-12  Zack Weinberg  <zack@rabi.columbia.edu>
507
508         * cpphash.c (collect_expansion, macroexpand,
509         push_macro_expansion): Make the escape character in macro
510         buffers '\r', not '@'.  Remove code to protect literal
511         occurences of the escape character; '\r' cannot appear
512         in a macro buffer unless we put it there.
513         * cpplib.c (skip_comment, copy_comment, cpp_skip_hspace,
514         copy_rest_of_line, cpp_get_token, parse_string,
515         parse_assertion): '\r' might be a backslash-newline marker, or
516         it might be a macro escape marker, depending on
517         CPP_BUFFER (pfile)->has_escapes.  '@' is not a special
518         character.
519         * cpplib.h: Update commentary.
520
521 Mon Apr 12 09:30:03 1999  Richard Earnshaw  (rearnsha@arm.com)
522
523         * arm.h (target_fp_name, structure_size_string, arm_cpu_select):
524         Const-ify.
525         * arm.c (target_fp_name, structure_size_string): Const-ify.
526
527         * arm.md (reload_inhi, reload_outhi): Make the scratch DImode.
528         * arm.c (arm_reload_in_hi): Handle cases when the input is still
529         a pseudo, make use of scratch registers for reloading the address
530         as appropriate.
531         (arm_reload_outhi): Similarly for when the output is still a pseudo.
532
533         * riscix.h (SUBTARGET_SWITCHES): Document.
534
535 1999-04-12  Bruce Korb  <ddsinc09@ix.netcom.com>
536
537         * fixincludes:
538         make fixincludes behave like the scripts in fixinc/
539
540         * Makefile.in( stmp-fixinc ):
541         ensure the SHELL value is that of the make
542
543         * fixincl/inclhack.tpl:
544         the file name lists ought to be restricted to "*.h" anyway
545         C++ files may be named .../[a-z]++/... also
546         Adding copyright year and attribution to output
547
548         * fixincl/inclhack.def:
549         fixed broken expression
550         Clarify a some comments
551
552         * fixincl/fixincl.tpl:
553         Clarify a some comments
554         Remove dead template text
555         Correct the counting of regular expressions
556
557 Mon Apr 12 03:07:44 1999  Richard Henderson  <rth@cygnus.com>
558
559         * alpha.c (aligned_memory_operand): Handle out of range stack slots.
560         Take a new SCRATCH argument for the occasion.  Update all callers.
561         (get_unaligned_address): Abort on out of range stack slots.
562         * alpha.md (adddi3 splitter): Check s_p_rtx not REGNO.
563         (reload_inqi): Check for aligned mems before unaligned.
564         (reload_inhi): Likewise.
565
566 Mon Apr 12 03:11:30 1999  Jeffrey A Law  (law@cygnus.com)
567
568         * flow.c (flow_delete_insn): If we delete a CODE_LABEL, also remove
569         it from the nonlocal_goto_handler_labels list.
570         * jump.c (delete_insn): Likewise.
571         (jump_optimize_1): Also recompute LABEL_NUSES when we are just
572         marking labels.
573         * rtl.h (remove_node_from_expr_list): Declare.
574         * rtlanal.c (remove_node_from_expr_list): New function.
575
576 Mon Apr 12 02:37:02 1999  Jan Hubicka  <hubicka@freesoft.cz>
577
578         * reg-stack.c: Update comment, include varray.h.
579         (stack_regs_mentioned_data): New global variable.
580         (check_stack_regs_mentioned): New function.
581         (stack_regs_mentioned): New function.
582         (reg_to_stack): Initialize and free stack_regs_mentioned_data,
583         use stack_regs_mentioned.
584         (record_asm_reg_life): Change insn type cache for changed insn.
585         (record_reg_life): Do not change the insn mode.
586         (emit_pop_insn): Likewise.
587         (emit_swap_insn): Likewise.
588         (move_for_stack_reg): Likewise.
589         (stack_reg_life_analysis): Use stack_regs_mentioned.
590         (emit_swap_insn): Likewise.
591         (subst_stack_regs): Likewise.
592         (convert_regs): Likewise.
593         * jump.c (find_cross_jump): Use stack_regs_mentioned.
594         * rtl.h (stack_regs_mentioned): Declare.
595
596 Mon Apr 12 00:57:10 1999  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr> 
597
598         * integrate.c (INTEGRATE_THRESHOLD): Sync it with the comment.
599
600 Sun Apr 11 10:24:18 1999  Mark Mitchell  <mark@codesourcery.com>
601
602         * rtl.h (rtx_def): Update documentation for jump and call.
603
604 Sun Apr 11 07:43:44 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
605
606         * jump.c (jump_optimize_1): Make the definition static to match
607         the prototype.
608
609 Sat Apr 10 22:51:53 1999  Jan Hubicka  <hubicka@limax.paru.cas.cz>
610
611         * flow.c (life_analysis): New parameter remove_dead_code.
612         (life_analysis_1): Likewise.
613         (propagate_block): Likewise; use it.
614         * output.h: Update prototype.
615         * toplev.c: Update calls to life_analysis.
616
617 Sat Apr 10 22:12:12 1999  Jan Hubicka  <hubicka@freesoft.cz>
618
619         * recog.c (constrain_operands): Ignore unary operators when
620         matching operands.  Recognize '5'..'9' as well.
621
622 Sat Apr 10 21:53:02 1999  Philipp Thomas  (kthomas@gwdg.de)
623                           Richard Henderson  <rth@cygnus.com>
624
625         * configure.in: Set target_cpu_default2 for target_alias k6.
626         * i386.h (TARGET_SWITCHES): Remove no-<cpu> entries.
627         (CC1_CPU_SPEC): Likewise.
628         (CPP_CPU_DEFAULT_SPEC): Streamline definition.  Add K6 version.
629         (CPP_K6_SPEC): New.
630         (CPP_CPU_SPEC): Add K6 variant.
631         (EXTRA_SPECS): Likewise.
632
633 Fri Apr  9 11:29:17 1999  Richard Henderson  <rth@cygnus.com>
634
635         * flow.c (merge_blocks_nomove): Rewrite to properly handle two
636         blocks that vanish entirely during merging.
637
638 Sat Apr 10 20:09:55 1999  John Wehle  (john@feith.com)
639
640         * i386.md (floatsisf2, floatdisf2, floatsidf2, floatdidf2,
641         floatsixf2, floatdixf2, movsicc, movhicc, movsfcc, movdfcc,
642         movxfcc, movdicc): Remove unused register constraints from
643         the splitters.
644
645         * i386.md (fixuns_truncsfsi2, fixuns_truncdfsi2,
646         fixuns_truncxfsi2): Delete.
647
648         * reg-stack.c (delete_insn_for_stacker): Ensure that
649         the only side effects of a PARALLEL are clobbers.
650         (subst_stack_regs): Handle subst_stack_regs_pat deleting
651         a PARALLEL.
652         * i386.md (extendsfdf2, extenddfxf2,
653         extendsfxf2): Rewrite using a splitter.
654         * i386.c (output_op_from_reg): Remove.
655         * i386.h: Likewise.
656
657 Sat Apr 10 13:09:18 1999  Nick Clifton  <nickc@cygnus.com>
658
659         * config/arm/arm.c (di_operand): Allow SUBREGs as well.
660         (soft_df_operand): Allow SUBREGs as well.
661
662 Sat Apr 10 06:14:31 1999  Jan Hubicka  <hubicka@paru.cas.cz>
663
664         * extend.texi (Assembler Instructions with C Expression Operands):
665         Document the i386 floating point operands.
666
667 1999-04-10  Mike Stump  <mrs@wrs.com>
668
669         * configure.in (*-*-vxworks): Add vxWorks thread support for all
670         vxWorks targets.
671         * configure.in (thumb-wrs-xvworks): Add vxWorks support for thumb.
672         * configure: Rebuilt.
673
674 Sat Apr 10 06:04:50 1999  Donn Terry  (donn@interix.com) 
675
676         * i386/t-interix: Use mostly system headers unchanged.
677         Use system assert.h
678         * fixinc/fixinc.interix: Ditto (make almost no-op).
679         * config/x-interix.h (_ALL_SOURCE): add -D
680         * config/x-interix.h (crti.o): Delete dependency.
681         * config/xm-interix.h (ONLY_INT_FIELDS): Define only when bootstrapping.
682         * i386/xm-i386-interix.h: New file.
683         * i386/interix.h (ASM_OUTPUT_LIMITED_STRING): Fix warnings.
684         * i386/i386-interix.h: Renamed from interix.h.
685         * configure.in (interix): Use new files.
686         * configure: Rebuilt.
687
688 Sat Apr 10 05:25:28 1999  Daniel Jacobowitz  <dan@debian.org>
689
690         * rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Fix conditions
691         for -Dunix and -Dlinux, and remove duplicate definition. 
692         Change -Asystem(linux) to -Asystem(posix).
693         (CPP_OS_SOLARIS_SPEC): Fix conditions for -Dunix, -Dsun,
694         -DSVR4, -D__EXTENSIONS__.
695
696         * rs6000/linux.h (CPP_PREDEFINES): Remove -Dunix,
697         -Dlinux, -Asystem(linux), and -Asystem(unix).
698
699 Sat Apr 10 05:14:50 1999  Mark Elbrecht  <snowball3@usa.net>
700
701         * i386/djgpp.h (SET_ASM_OP): Define.
702
703         * cccp.c (DIR_SEPARATOR): Move to the top of the file.
704         (is_dir_separator): New function.
705         (simplify_filename): Use it.
706         * collect2.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM in place
707         of the DIR_SEPARATOR test.
708         Consider any file starting with a drivename to be absolute.
709         If the absolute filename test fails and EXECUTABLE_SUFFIX is 
710         defined, append EXECUTABLE_SUFFIX to the file and try again.
711         * cppinit.c (base_name): Use HAVE_DOS_BASED_FILE_SYSTEM 
712         in place of __MSDOS__ and _WIN32.
713         * cppfiles.c (simplify_pathname): Likewise.
714         * gcc.c (IS_DIR_SEPARATOR): Define new macro. Returns true if a
715         character is a directory separator.
716         (find_a_file): Use it.
717         (convert_filename): Likewise.
718         (process_command): Likewise.
719         (do_spec_1): Likewise.
720         (is_directory): Likewise.
721         (main): Likewise.
722         * prefix.c (IS_DIR_SEPARATOR): Define. Tests whether a character is
723         a directory separator.
724         (translate_name): Use it.
725         (update_path): Change DIR_SEPARATOR_2 to DIR_SEPARATOR. Fix 
726         warning in block where '/' is changed to DIR_SEPARATOR.
727         * i386/xm-djgpp.h (DIR_SEPARATOR): Set to '/'.
728         (DIR_SEPARATOR_2): New macro. Set to '\'.
729         (HAVE_DOS_BASED_FILESYS): Define.
730         * i386/xm-mingw32.h: Updated copyright. Set 
731         DIR_SEPARATOR_2 to '/'. Define HAVE_DOS_BASED_FILE_SYSTEM.
732         * i386/xm-os2.h: Likewise.
733         * winnt/xm-winnt.h: Likewise.
734         * i386/xm-dos.h: Likewise.  Add copyright.
735
736 1999-04-10  Joseph S. Myers  <jsm28@cam.ac.uk>
737
738         * pdp11.h (TARGET_SWITCHES): Add option to vary assembler syntax.
739         (TARGET_DEFAULT): Possibly use UNIX syntax.
740         (TARGET_UNIX_ASM, TARGET_UNIX_ASM_DEFAULT): New macros.
741         (REGISTER_NAMES): Use "r5" instead of "fp".
742         (ASM_OUTPUT_ALIGN): Use ".even" directive, and abort for any
743         greater alignment.
744         * 2bsd.h (TARGET_UNIX_ASM_DEFAULT): Default to UNIX assembler
745         syntax for 2BSD.
746         * pdp11.c (output_ascii): Use working syntax for ".byte".
747         (print_operand_address): Use "*" instead of "@" when using UNIX
748         assembler syntax.
749
750 Sat Apr 10 03:50:12 1999  Jeffrey A Law  (law@cygnus.com)
751
752         * rtl.h (rebuild_jump_labels): Declare.
753         * jump.c (jump_optimize_1): Renamed from jump_optimize.  Make static.
754         Add new argument MARK_LABELS_ONLY.  Quit after mark_all_labels if
755         requested.
756         (jump_optimize, rebuild_jump_labels): New wrapper functions for
757         jump_optimize_1.
758         * toplev.c (rest_of_compilation): Use rebuild_jump_labels instead of
759         running the entire jump optimizer.
760
761         * rtl.h (local_alloc): Returns an integer now.
762         * local-alloc.c (recorded_label_ref): New file scoped variable.
763         (local_alloc): Initialize recorded_label_ref to zero.  Return its
764         value when local allocation has completed.
765         (update_equiv_regs); If we create an equivalence for a LABEL_REF,
766         set recorded_label_ref.
767         * toplev.c (rest_of_compilation): Run the jump optimizer after
768         register allocation and reloading if needed.
769
770 Fri Apr  9 21:02:57 1999  Krister Walfridsson  (cato@df.lth.se)
771
772         * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Fix typo.
773         * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
774
775 1999-04-09  Zack Weinberg  <zack@rabi.columbia.edu>
776
777         * cpphash.c (special_symbol): When expanding __LINE__, use the
778         top file buffer, not the top buffer.
779
780 Fri Apr  9 13:41:04 1999  Jim Wilson  <wilson@cygnus.com>
781
782         * Makefile.in (check-g++, check-gcc, check-g77, check-objc): Add
783         cd .. to TCL_LIBRARY command.
784
785 Fri Apr  9 13:04:52 1999  Nick Clifton  <nickc@cygnus.com>
786
787         * config/arm/unknown-elf.h (SUBTARGET_CPU_DEFAULT): Only define if
788         not already specified.
789
790 Fri Apr  9 11:18:55 1999  Jason Merrill  <jason@yorick.cygnus.com>
791
792         * c-common.c (decl_attributes, A_INIT_PRIORITY): Allow arrays
793         of classes, too.
794
795 Fri Apr  9 10:40:10 1999  Kaveh R. Ghazi  <ghazi@snafu.rutgers.edu>
796
797         * rs6000.c (rs6000_override_options, ptt, rs6000_file_start,
798         rs6000_float_const, rs6000_replace_regno, debug_stack_info,
799         rs6000_output_load_toc_table, output_prolog, output_epilog):
800         Const-ify a char*.
801         (output_mi_thunk): Likewise.  Mark parameter `thunk_fndecl' with
802         ATTRIBUTE_UNUSED.  Hide unused variables `r0', `sp', `toc',
803         `schain', `r12', `buf' and `labelno'.
804         (output_ascii): Const-ify a char*.
805         (rs6000_gen_section_name): Initialize variable `last_period'.
806         (rs6000_adjust_priority): Mark parameter `insn' with
807         ATTRIBUTE_UNUSED.
808         (rs6000_trampoline_template, rs6000_dll_import_ref,
809         rs6000_longcall_ref, rs6000_encode_section_info): Const-ify a char*.
810
811         * rs6000.h (offsettable_mem_operand, optimization_options): Add
812         prototypes.
813
814         * rs6000.md (movdi, define_split): Cast a value to HOST_WIDE_INT
815         when comparing against one.
816
817 Thu Apr  8 19:20:18 1999  Jeffrey A Law  (law@cygnus.com)
818
819         * expr.c (expand_expr, case ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF):
820         Do not try to optimize a aggregate address which has VOIDmode.
821         Mirrors March 23 change to expand_assignment.
822
823         * flow.c (delete_unreachable_blocks): Do not require EDGE_FALLTHRU
824         for an edge when tidying an edge which connects consecutive basic
825         blocks.
826
827         * flow.c (can_delete_label_p): Do not convert a label into a
828         deleted label here.
829
830         * cse.c (flush_hash_table): New function.
831         (cse_insn): Flush the hash table when we encounter a volatile asm.
832         (cse_basic_block): Use flush_hash_table instead of doing it
833         inline.
834
835         * reload1.c (reload_cse_regs_1): Flush known register values if
836         we encounter a volatile asm.
837
838         * loop.c (strength_reduce): Re-enable Joern's loop improvements.
839
840 Thu Apr  8 09:37:40 1999  Nick Clifton  <nickc@cygnus.com>
841
842         * config/arm/arm.c (arm_print_operand): Undo previous change -
843         always print large constants in decimal.
844
845 Thu Apr  8 10:22:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
846
847         * configure.in (host_xm_file, build_xm_file): Include hwint.h.
848         Use case statements instead of "if test -a ... -a ... -a ..."
849
850         * machmode.h: Don't define HOST_WIDE_INT, etc. Wrap use of
851         HOST_WIDE_INT in #ifdef.
852
853         * mips.h: Include hwint.h instead of providing definitions for
854         HOST_WIDE_INT, etc.  Wrap uses of HOST_WIDE_INT in #ifdef.
855
856 Thu Apr  8 06:16:14 1999  John Wehle  (john@feith.com)
857
858         * i386.md (truncdfsf2, truncxfsf2,
859         truncxfdf2): Rewrite using a splitter.
860
861 Thu Apr  8 01:26:05 1999  Arg Haas  (ahaas@neosoft.com)
862                           Jeffrey A Law  (law@cygnus.com)
863
864         * freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Avoid ambiguous
865         else statement.
866         * gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
867         * linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
868         * openbsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
869
870 Wed Apr  7 22:40:19 1999  Jim Wilson  <wilson@cygnus.com>
871
872         * i960/i960.c (i960_function_prologue): Don't save static chain
873         pointer.
874         * i960/i960.h (STACK_CHAIN_REGNUM): Change from r3 to g12.
875         (TRAMPOLINE_TEMPLATE): Likewise.
876         (FRAME_POINTER_REQUIRED): Check current_function_has_nonlocal_goto.
877         * i960/i960.md (nonlocal_goto): Rewrite.
878         
879 Tue Apr  6 17:49:49 1999  Philip Blundell  <pb@nexus.co.uk>
880
881         * config/arm/lib1funcs.asm: Test for __ELF__ not __elf__.
882
883 Wed Apr  7 14:07:34 1999  Jeffrey A Law  (law@cygnus.com)
884
885         * h8300.c (h8300_adjust_insn_length): Also avoid recognizing
886         ADDR_VEC and ADDR_DIFF_VEC insns.
887
888         * h8300.c (h8300_adjust_insn_length): Avoid trying to recognize
889         USE, CLOBBER or SEQUENCE insns.
890
891         * unroll.c (unroll_loop): For HAVE_cc0 machines, adjust copy_end_luid
892         to account for the uncopied insn that sets cc0 at the end of the loop.
893
894         * unroll.c (copy_loop_body): Always ensure at least two insns
895         are in the copied loop.
896
897 Wed Apr  7 14:52:18 1999  Catherine Moore  <clm@cygnus.com>
898
899         * config/mips/elf.h (MAKE_DECL_ONE_ONLY): Define.
900         (UNIQUE_SECTION_P): Define.
901
902 1999-04-07  Bruce Korb  <ddsinc09@ix.netcom.com>
903
904         * fixinc/inclhack.tpl & fixincl.tpl:
905         Remove dynamic content from generated files
906
907 Wed Apr  7 13:16:22 1999  John Wehle  (john@feith.com)
908
909         * i386.c (output_move_memory): Remove.
910         * i386.h: Likewise.
911
912         * i386.md (movsi, movhi, movstricthi, movqi, movstrictqi,
913         movsf, movdf, movxf, movdi): Check no_new_pseudos instead
914         of (reload_in_progress | reload_completed).
915
916 Wed Apr  7 03:16:45 1999  Richard Henderson  <rth@cygnus.com>
917
918         * alpha.c (reg_no_subreg_operand): New function.
919         * alpha.h (PREDICATE_CODES): Add it.
920         * alpha.md (floatdi?f patterns): Use it for op1.
921
922         * alpha.c (alpha_end_function): Don't flag weak functions.
923
924 Wed Apr  7 02:11:55 1999  Richard Henderson  <rth@cygnus.com>
925
926         * expr.c (expand_builtin) [BUILT_IN_RETURN_ADDRESS]: Use
927         copy_to_mode_reg; don't force constants into a register.
928
929 Tue Apr  6 22:55:25 1999  Richard Henderson  <rth@cygnus.com>
930
931         * toplev.c (compile_file): Typo flow_dump -> flow2_dump.
932
933 1999-04-06  Joseph S. Myers  <jsm28@cam.ac.uk>
934
935         * pdp11.c (simple_memory_operand): Add default case in switch.
936         * pdp11.h (TARGET_SWITCHES): Add help strings.
937         (NOTICE_UPDATE_CC): Don't include excess argument to format.
938         (ASM_OUTPUT_DOUBLE_INT): Remove.
939
940 Tue Apr  6 22:09:40 1999  Richard Henderson  <rth@cygnus.com>
941
942         * expr.c (expand_builtin_setjmp): Put setjmp return label on
943         nonlocal_goto_handler_labels for flow.
944
945 Tue Apr  6 22:05:21 1999  Jan Hubicka  <hubicka@paru.cas.cz>
946                           Richard Henderson  <rth@cygnus.com>
947
948         * flow.c (verify_flow_info): New function.
949         (find_basic_blocks): Call it if ENABLE_CHECKING.
950         (merge_blocks): Don't merge if there are non-deletable labels.
951         * toplev.c (fatal_insn): Allow a printf-style arg list.
952         * toplev.h (fatal_insn): Update prototype.
953
954 Tue Apr  6 16:18:58 1999  Jan Hubicka  <hubicka@paru.cas.cz>
955
956         * flow.c (split_edge) update correctly flow graph, disable
957         EDGE_CRITICAL flag on the split edge, update NUSES for new label.
958
959 Tue Apr  6 15:47:51 1999  Richard Henderson  <rth@cygnus.com>
960
961         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Use XWINT not XINT.
962         Clear third and following slots, if they exist.
963
964 Tue Apr  6 15:45:28 1999  Richard Henderson  <rth@cygnus.com>
965
966         * flow.c (create_basic_block): Make sure the bb note is in the block.
967         (can_delete_note_p): Rename from delete_note_p.
968         (delete_insn_chain): Preserve undeleteable labels too.
969         (tidy_fallthru_edge): Use next_real_insn instead of confusing
970         inline code.
971
972 1999-04-06  Zack Weinberg  <zack@rabi.columbia.edu>
973
974         * cppexp.c (parse_charconst): Initialize c.
975         (cpp_parse_expr): Initialize rprio.
976         * cppfiles.c (merge_include_chains): Initialize prev.
977         (finclude): Set fp->line_base to fp->buf before returning.
978         * cpphash.c (macroexpand): Initialize token.
979         * cppspec.c (lang_specific_driver): Change suff to
980         const char *const *.
981
982 1999-04-06  Zack Weinberg  <zack@rabi.columbia.edu>
983
984         * cppinit.c (install_predefs): Delete function.
985         (cpp_start_read): Don't call install_predefs.
986         (cpp_handle_option): Remove case 'u' and all refs to
987         opts->inhibit_predefs.
988         (print_help): Don't mention -undef.
989         (initialize_builtins): Define __HAVE_BUILTIN_SETJMP__, to
990         match cccp.
991         * cpplib.h (struct cpp_options): Remove inhibit_predefs
992         member.
993
994         * cccp.c (predefs): Delete variable.
995         (main): Remove case 'u' in argument parse loop,
996         'inhibit_predefs' variable, and the code block that would
997         process CPP_PREDEFINES.
998         (initialize_builtins): Don't define __OBJC__, the driver will
999         do that.
1000
1001         * gcc.c (default_compilers): Remove -undef from all specs that
1002         invoke a C preprocessor.
1003         * ch/lang-specs.h: Likewise.
1004         * cp/lang-specs.h: Likewise.
1005         * f/lang-specs.h: Likewise.
1006         * objc/lang-specs.h: Likewise.
1007
1008 Mon Apr  5 11:55:31 1999  Donn Terry  (donn@interix.com)
1009
1010         * Makefile.in (SUBDIR_FLAGS_TO_PASS): Fix misapplied patch.
1011
1012 Mon Apr  5 11:51:38 1999  Jeffrey A Law  (law@cygnus.com)
1013
1014         * m68k.md (movdf): Hide GPR sources & destinations from regclass.
1015
1016 Mon Apr  5 09:54:42 1999  Jeff Law  (law@cygnus.com)
1017
1018         * version.c: Bump for snapshot.
1019
1020 Mon Apr  5 05:55:15 1999  Bruce Korb  <ddsinc09@ix.netcom.com>
1021
1022         * fixincl.tpl: Separate "-e" from its argument, a la
1023         the Sat Apr  3 17:05:13 1999 fix.
1024         * genfixes: Ensure that the server shell is _NOT_ csh.
1025
1026 Mon Apr  5 03:52:30 1999  Jeff Law  (law@cygnus.com)
1027
1028         * version.c: Bump for snapshot.
1029
1030 Mon Apr  5 04:47:14 1999  Jeffrey A Law  (law@cygnus.com)
1031
1032         * i386.c (x86_double_with_add): Turn off for Pentium and PPro.
1033         (small_shift_operand, output_ashlsi3): New functions.
1034         * i386.h (small_shift_operand, output_ashlsi3): Declare.
1035         * i386.md (ashlsi3): Simplify ahlsi3 patterns.  Remove splitters
1036         that are no longer needed.
1037
1038 Sun Apr  4 04:05:04 1999  Jeffrey A Law  (law@cygnus.com)
1039
1040         * stmt.c (expand_loop_end): When copying the loop exit test,
1041         do not walk into a nested loop.
1042
1043 Sun Apr  4 00:14:54 1999  Jeffrey A Law  (law@cygnus.com)
1044
1045         * fixinc/hackshell.tpl: Skip links to directories, to avoid
1046         removing them.
1047         * fixinc/inclhack.tpl: Likewise.
1048         * fixinc/fixinc.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
1049
1050 Sat Apr  3 23:46:13 1999  David Edelsohn  <edelsohn@gnu.org>
1051         
1052         * rs6000.md (addsi3, iorsi3, xorsi3, adddi3, iordi3, xordi3,
1053         movsi_got, movsi, movsf): Use no_new_pseudos.
1054         * rs6000.c (rs6000_got_register): Likewise.
1055         (offsettable_mem_opereand): Use || not |.
1056
1057 Sat Apr  3 22:02:56 1999  Jeffrey A Law  (law@cygnus.com)
1058
1059         * acconfig.h (ENABLE_CHECKING): Remove redundant #undef.
1060         * config.in: Rebuilt.
1061
1062 Sat Apr  3 16:22:59 1999  Toshiyasu Morita  (tm@netcom.com)
1063
1064         * gcc.texi: Add info on regmove pass.
1065
1066         * regmove.c (fixup_match_1): Consistently evaluate
1067         HAVE_POST_INCREMENT and HAVE_POST_DECREMENT.
1068
1069 Sat Apr  3 19:21:05 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
1070
1071         * configure.in (DEFAULT_LINKER, DEFAULT_ASSEMBLER): Use grep
1072         instead of test and sed to check whether they're GNU programs.
1073         * configure: Rebuilt.
1074
1075 Sat Apr  3 17:57:35 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
1076
1077         * Makefile.in (install-headers-tar, install-headers-cpio): Avoid
1078         problems with CDPATH.
1079         Reported by Ralf Canis <canis@bigfoot.com>
1080
1081 Sat Apr  3 13:50:16 1999  Jeffrey A Law  (law@cygnus.com)
1082
1083         * fixinc.x86-linux-gnu: Deleted.
1084
1085 Sat Apr  3 17:05:13 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
1086
1087         * inclhack.tpl: Insert spaces between `sed -e' and '...'.
1088         Reported by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1089         * fixinc/fixincl.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Regen.
1090         
1091 Sat Apr  3 14:54:46 1999  Craig Burley  <craig@jcb-sc.com>
1092
1093         * tree.def (BLOCK): Fix typo in comment.
1094
1095 Sat Apr  3 00:53:29 1999  John Wehle  (john@feith.com)
1096
1097         * i386.md (floatsisf2, floatdisf2, floatsidf2, floatdidf2,
1098         floatsixf2, floatdixf2): Rewrite using a splitter.
1099
1100 Fri Apr  2 17:36:10 1999  Nick Clifton  <nickc@cygnus.com>
1101
1102         * config/arm/arm.c (arm_print_operand): Print large constants in
1103         hex rather than decimal.
1104
1105 Fri Apr  2 17:23:58 1999  Nick Clifton  <nickc@cygnus.com>
1106
1107         * print-rtl.c (print_rtx): Use both HOST_WIDE_INT_PRINT_DEC
1108         and HOST_WIDE_INT_PRINT_HEX to display constants.
1109
1110 1999-04-02  Zack Weinberg  <zack@rabi.columbia.edu>
1111
1112         * config/i386/i386.h: Document all TARGET_SWITCHES or add
1113         explicit null initializer.
1114
1115         * config/i386/cygwin.h: Document all SUBTARGET_SWITCHES.
1116         * config/i386/dgux.h: Likewise.
1117         * config/i386/osf1elf.h: Likewise.
1118         * config/i386/win32.h: Likewise.
1119         * config/i386/osfrose.h: Likewise.  Drop obsolete -mno-ident option.
1120
1121 Fri Apr  2 17:49:44 1999  Toshiyasu Morita  <tm@netcom.com>
1122
1123         * regmove.c (fixup_match_1): Remove now useless if (0).
1124
1125 Sat Apr  3 11:37:20 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1126
1127         * tm.texi (USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT,
1128         USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT): Document.
1129         (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
1130         USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Fix documentation.
1131
1132         * rtl.h (USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT,
1133         USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT,
1134         USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
1135         USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Provide default
1136         definition.
1137
1138         * expr.c (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
1139         USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Delete default
1140         definition.
1141
1142 Fri Apr  2 16:03:05 1999  Jeffrey A Law  (law@cygnus.com)
1143
1144         * fixinc.dgux, fixinc.interix, fixinc.irix, fixinc.ptx: Deleted.
1145         * fixinc.sco, fixinc.svr4, fixinc.winnt, fixinc.wrap: Likewise.
1146
1147 Fri Apr  2 15:46:25 1999  Donn Terry  (donn@interix.com)
1148
1149         * configure.in: Set and substitute quoted_cc_set_by_configure.
1150         * configure: Rebuilt.
1151         * Makefile.in (SUBDIR_FLAGS_TO_PASS): Fix quoting problem with ``.
1152
1153 Fri Apr  2 14:35:45 1999  Stan Cox  <scox@cygnus.com>
1154
1155         * config/i386/cygwin.h (CPP_SPEC): Use mingw_include_path instead
1156         of a hardcoded path for -mno-cygwin.
1157         (mingw_include_path): New.
1158
1159 1999-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1160
1161         * pdp11.c: Include "recog.h".
1162         (output_function_prologue): Remove unused variables `nregs', `i',
1163         `offset'.
1164         (output_function_epilogue): Remove unused variables
1165         `may_call_alloca', `nregs', `regno', `adjust_fp'.
1166         (output_ascii): Mark as returning void.
1167         (print_operand_address: Likewise.
1168         (simple_memory_operand): Remove unused variables `plus0', `plus1',
1169         `offset'.
1170         * pdp11.h: Declare functions `arith_operand',
1171         `const_immediate_operand', `expand_shift_operand',
1172         `legitimate_address_p', `notice_update_cc_on_set', `output_ascii',
1173         `output_function_epilogue', `output_function_prologue',
1174         `print_operand_address', `register_move_cost',
1175         `simple_memory_operand'.
1176         (HARD_REGNO_MODE_OK): Parenthesize `REGNO' arg.
1177         (REGNO_REG_CLASS): Likewise.
1178         * pdp11.md: Add explicit `int' to `static count' (in two places).
1179         (addhi3): Add explicit braces to avoid ambiguous else.
1180         (addqi3): Likewise.
1181         (ashlhi3): Likewise.
1182
1183 Fri Apr  2 14:17:10 1999  Jerry James  <jerry@cs.ucsb.edu>
1184
1185         * gcc/invoke.texi: Add documentation for additional supported
1186         MIPS CPU types, options -mips16 and -mentry, and ABI and ISA
1187         defaults.
1188
1189 Fri Apr  2 14:12:06 1999  John Wehle  (john@feith.com)
1190
1191         * i386.md: Delete floating point compare, add, subtract,
1192         multiply, and divide patterns which allowed integer
1193         operands.
1194         * i386.c (output_387_binary_op): Delete unused code.
1195         (output_float_compare): Likewise.
1196
1197 Fri Apr  2 11:53:37 1999  John Wehle  (john@feith.com)
1198
1199         * i386.md (movsf+1, movdf+1, movxf+1): Update constraints
1200         so that SECONDARY_MEMORY_RELOAD is used.  Remove dead code.
1201
1202 1999-04-02  Bruce Korb  <ddsinc09@ix.netcom.com>
1203
1204         * fixinc/mkfixinc.sh: Added support for x86-interix.
1205         * fixinc/fixinc.interix: Fixincludes script, slight changes
1206         from ./fixinc.interix.  Untested (needs interix box).
1207         * fixinc/inclhack.def:
1208         Complete the change to the 'fixinc.tmp' file.
1209         Fixed regex for finding C++ headers.
1210         * fixincl.x, fixincl.sh, inclhack.sh: Regenerate.
1211
1212 Fri Apr  2 11:36:12 1999  Jan Hubicka  (hubicka@paru.cas.cz)
1213
1214         * i386.c (print_operand_address, case REG): Do not use ESI addressing
1215         mode for the K6.
1216
1217         * i386.c (print_operand_address, case MULT): Use more efficient
1218         encoding (mult (reg) (const_int 2)).
1219
1220 Thu Apr  1 17:01:50 1999  Richard Henderson  <rth@cygnus.com>
1221
1222         Move over patch from Bernd Schmidt from GC branch:
1223         * emit-rtl.c (gen_rtx_CONST_DOUBLE): New function.
1224         (gen_rtx): Call it.  Tidy cases.
1225         * rtl.h (gen_rtx_CONST_DOUBLE): Prototype it.
1226         * gengenrtl.c: Add commentary.
1227         (special_rtx): Also match CONST_DOUBLE.
1228         (gencode): Emit call to memset instead of bzero.
1229
1230 Fri Apr  2 12:58:26 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1231
1232         * config/c4x/c4x.md (ashlhi3, lshrhi3, ashrhi3): Force operand 1
1233         into a register if shift count not constant.
1234         (ashlhi3_reg, lshrhi3_reg, ashrhi3_reg): Ensure that operand 1
1235         is a register.
1236
1237 Fri Apr  2 12:19:17 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1238
1239         * config/c4x/c4x.md (*db): Enable pattern if TARGET_LOOP_UNSIGNED
1240         is non-zero.
1241         (movstrqi_small, movstrqi_large, *cmpstrqi): Add + modifier to address
1242         register constraints.
1243         (*movhi_clobber+1): Modify splitter pattern to handle destination
1244         register that is used in the source address.
1245         (*xorhi3_clobber): Replace AND with XOR in call to legitimize_operands.
1246
1247 Fri Apr  2 12:16:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1248
1249         * config/c4x/c4x.h: Added more comments.
1250
1251 Fri Apr  2 11:58:22 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1252
1253         * config/c4x/c4x.c (c4x_emit_move_sequence): Force invalid QImode
1254         constants into memory if we get called directly from gen_move_insn
1255         rather than emit_move_insn.
1256         (c4x_legitimize_address): Fix up LABEL_REF addresses.
1257
1258 Thu Apr  1 12:04:05 1999  Jim Wilson  <wilson@cygnus.com>
1259
1260         * expr.c (store_field): When check direct_store, assume all complex
1261         modes can be directly stored.
1262
1263 1999-04-01  Bruce Korb  <ddsinc09@ix.netcom.com>
1264
1265         * fixinc/genfixes: New shell script that runs autogen
1266         to create the generated files.
1267
1268 1999-04-01  Manfred Hollstein  <manfred@s-direktnet.de>
1269
1270         * Makefile.in (cppmain$(exeext)): Depend on intl.o.  Link in intl.o.
1271
1272 Thu Apr  1 03:48:34 1999  H.J. Lu  (hjl@gnu.org)
1273
1274         * i386.c (output_fp_conditional_move): Abort for LT, LE, GE, and GT
1275         signed integer comparisons.
1276
1277         * i386.c (output_int_conditional_move): Use "enum rtx_code" for code
1278         type.
1279
1280         * i386.c (notice_update_cc): No need to check the INT mode for
1281         conditional moves since FLOAT conditional moves don't affect cc0.
1282
1283 Thu Apr  1 02:17:18 1999  Jeffrey A Law  (law@cygnus.com)
1284
1285         * fixinc/inclhack.def (zzz_ki_syscalls, zzz_time): Fix trigger
1286         string to only match on hpux11.
1287         * fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixinc.sh: Rebuilt.
1288
1289 Thu Apr  1 01:09:27 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
1290
1291         * fixinc/hackshell.tpl: Complete transition to fixinc.tmp.
1292         * fixinc/inclhack.sh: Rebuilt.
1293
1294         * fixinc/inclhack.def: Fix typos in c_asm.h fix.
1295         * fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixinc.sh: Rebuilt.
1296
1297 Wed Mar 31 17:20:11 1999  Jeffrey A Law  (law@cygnus.com)
1298
1299         * toplev.c (rest_of_compilation): Allow dbr_schedule to write to
1300         the dump file too.
1301
1302 Wed Mar 31 12:32:43 1999  Richard Henderson  <rth@cygnus.com>
1303
1304         * flow.c (find_basic_blocks): New argument `do_cleanup'.
1305         Conditionally call delete_unreachable_blocks.
1306         (free_basic_block_vars): Zero ENTRY/EXIT data.
1307         (allocate_for_life_analysis): Kill.  Split into...
1308         (allocate_bb_life_data, allocate_reg_life_data): ... new functions.
1309         (life_analysis_1): Update.
1310         * gcse.c (gcse_main): Update find_basic_blocks call.
1311         * toplev.c (rest_of_compilation): Likewise.
1312         * stupid.c (stupid_life_analysis): Update life data calls.
1313         * rtl.h, output.h: Update prototypes.
1314
1315 Wed Mar 31 12:10:00 1999  Bruce Korb  <ddsinc09@ix.netcom.com>
1316
1317         * inclhack.def (several): Added spaces in tests to ensure
1318         correct shell syntax.  Added c_asm.h fix from fixincludes.
1319         Also corrected the corrected fix to C++ comments :-}
1320
1321         * inclhack.tpl: Changed method of traversing symlink trees
1322         so that file name matching will work correctly.
1323
1324         * fixincl.c, hackshell.tpl: Fallout from above.
1325         * fixincl.x, inclhack.sh, fixincl.sh: Rebuilt.
1326
1327 Tue Mar 30 10:43:49 1999  Philip Blundell  <pb@nexus.co.uk>
1328
1329         * config/arm/aout.h (DBX_DEBUGGING_INFO): Avoid redefinition if
1330         dbxelf.h was previously included.
1331         (CPP_APCS_PC_DEFAULT_SPEC): No need to undefine.
1332         
1333         * config/arm/linux-elf.h (FP_DEFAULT): Correctly override the
1334         definition from arm.h.
1335
1336 Wed Mar 31 10:33:37 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1337
1338         * Makefile.in (c-gperf.h): Generate using gperf language 'C', not
1339         'KR-C', so gperf uses the `const' keyword on strings.
1340         
1341         * c-parse.gperf (resword): Const-ify a char*.
1342
1343 Wed Mar 31 01:49:31 1999  Ian Lance Taylor  <ian@zembu.com>
1344
1345         * t-rtems (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
1346
1347 Wed Mar 31 00:50:48 1999  Jeffrey A Law  (law@cygnus.com)
1348
1349         * system.h (STDERR_FILENO): Fix typo.
1350
1351         * inclhack.def (bool): Also fix bogus bool in curses_colr/curses.h.
1352         * fixincl.x, inclhack.sh, fixincl.sh: Rebuilt.
1353
1354 Tue Mar 30 20:51:40 1999  Mark Mitchell  <mark@codesourcery.com>
1355
1356         * alias.c (alias_set_compare): Remove.
1357         (record_alias_subset): Use splay_tree_compare_ints instead of
1358         alias_set_compare.
1359         (init_alias_once): Likewise.
1360         * cse.c: Include splay-tree.h.
1361         (reg_qty): Remove.
1362         (reg_tick): Likewise.
1363         (reg_table): Likewise.
1364         (cse_reg_info): New structure.
1365         (cse_reg_info_free_list): New variable.
1366         (cse_reg_info_tree): Likewise.
1367         (cached_regno): Likewise.
1368         (cached_cse_reg_info): Likewise.
1369         (all_minus_one): Remove.
1370         (consec_ints): Likewise.
1371         (GET_CSE_REG_INFO): New macro.
1372         (REG_TICK): Likewise.  Use throughout instead of reg_tick.
1373         (REG_IN_TABLE): Likewise.  Use throughout instead of reg_in_table.
1374         (REG_QTY): Likewise.  Use throughout instead of reg_qty.
1375         (get_cse_reg_info): New function.
1376         (free_cse_reg_info): Likewise.
1377         (new_basic_block): Reinitialize cse_reg_info_tree instead of
1378         reg_tick, all_minus_one, and consec_ints.
1379         * Makefile.in (cse.o): Depend on splay-tree.h
1380
1381 Tue Mar 30 13:19:36 1999  Jason Merrill  <jason@yorick.cygnus.com>
1382
1383         * libgcc2.c (throw_helper): Just return the SP offset, rather than
1384         a whole udata.  Include args_size in the offset.
1385         (__throw, __rethrow): Adjust.
1386
1387 Tue Mar 30 11:39:27 1999  Craig Burley  <craig@jcb-sc.com>
1388
1389         * extend.texi (Extended Asm): Delete spurious `b' before
1390         `@end example', which was confusing texi2html.
1391
1392 Tue Mar 30 00:26:34 1999  Jason Merrill  <jason@yorick.cygnus.com>
1393
1394         * dwarf2out.c (output_line_info): Don't emit redundant info.
1395         Do start a new row if the file changes and the line # doesn't.
1396
1397 Mon Mar 29 15:48:39 1999  Jason Merrill  <jason@yorick.cygnus.com>
1398
1399         * invoke.texi (Invoking G++, C++ Dialect Options): Update.
1400
1401 Mon Mar 29 15:05:39 1999  Richard Henderson  <rth@cygnus.com>
1402
1403         * except.c (start_dynamic_handler): Force jmp_buf address to
1404         and operand before moving to memory.
1405
1406 Mon Mar 29 15:11:10 1999  Craig Burley  <craig@jcb-sc.com>
1407
1408         * invoke.texi (Code Gen Options): Attempt to clarify
1409         -fcheck-memory-usage.  Minor edits to -fprefix-function-name.
1410
1411 Mon Mar 29 20:52:47 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
1412
1413         * loop.c (maybe_eliminate_biv): For libcalls that set a giv, skip to
1414         end of libcall.
1415
1416 Mon Mar 29 20:35:49 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
1417
1418         * sh.md (mulsi3): Tag an extra REG_EQUAL note to the middle insn.
1419
1420 Mon Mar 29 11:50:34 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
1421
1422         * pa.h (HAVE_PRE_INCREMENT): Disable when optimizing for a PA8000
1423         class machine.
1424         (HAVE_PRE_DECREMENT, HAVE_POST_INCREMENT): Likewise.
1425         (HAVE_POST_DECREMENT): Likewise.
1426
1427 Mon Mar 29 08:24:43 1999  Bruce Korb  <korb@datadesign.com>
1428
1429         * fixinc/mkfixinc.sh: Fix portability problems with old shells.
1430
1431         * fixinc/README: Updated for release announcement
1432
1433 Sun Mar 28 20:26:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1434
1435         * recog.h (insn_outfun, insn_operand_predicate): Add prototype
1436         arguments.
1437
1438         * rtl.h (note_stores): Likewise.
1439
1440         * rtlanal.c (note_stores): Likewise.
1441
1442 Sun Mar 28 15:34:28 1999  Richard Henderson  <rth@cygnus.com>
1443
1444         * varasm.c (output_constant_pool): Always mark the constant pool.
1445
1446 Sun Mar 28 16:09:01 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
1447
1448         * pa.md (pa7100LCshiftmem, pa7100LCalu): Change simultaneity.  Use
1449         shift/mem ops in pa7100LCalu.
1450
1451         * pa.c (pa_adjust_cost): Don't do cost adjustments on pa8000.
1452         (pa_reorg): Don't call pa_combine_instructions on pa8000.
1453
1454 Sun Mar 28 15:27:26 1999  Jeffrey A Law  (law@cygnus.com)
1455
1456         * reload1.c (reload): Remove accidental code duplication.
1457
1458 Sun Mar 28 12:22:12 1999  Robert Lipe  (robertlipe@usa.net)
1459
1460         * i386/sysv5.h: New file to describe UnixWare7/SVR5.
1461         * configure.in (i?86-UnixWare7*-sysv): Use it.
1462         * i386/udk.h: Use sysv5.h.  Now uses Dwarf-2.
1463
1464 Sun Mar 28 01:15:04 1999  Jeff Law  (law@cygnus.com)
1465
1466         * version.c: Bump for snapshot.
1467
1468 Sun Mar 28 00:44:27 1999  Jeffrey A Law  (law@cygnus.com)
1469
1470         * sdbout.c (sdbout_symbol): Do not call build_pointer_type, build
1471         one on the fly and do not cache the result.
1472
1473         * gcc.cps, cpp.cps: Delete unwanted files.
1474
1475 Sat Mar 27 23:37:40 1999  John Wehle  (john@feith.com)
1476
1477         * i386.md (movdicc+3, movdicc+4): Rewrite using split_di.
1478         * i386.c (output_int_conditional_move): Delete unused code.
1479
1480 Sat Mar 27 21:17:36 1999  David Edelsohn  <edelsohn@gnu.org>
1481
1482         * rs6000/{aix41.h,aix43.h} (ASM_CPU_SPEC): Add 604e.
1483
1484 Sat Mar 27 16:13:50 1999  Jeffrey A Law  (law@cygnus.com)
1485
1486         * flow.c (mark_used_regs): Improve handling of ASMs.
1487
1488 1999-03-26  Zack Weinberg  <zack@rabi.columbia.edu>
1489
1490         * Makefile.in (xcpp, cppspec.o): New targets.
1491         (CPP_INSTALL_NAME): New macro.
1492         (install-cpp): Install xcpp.  Use CPP_INSTALL_NAME.
1493         (all.build, start.encap): Build xcpp.
1494
1495         * cppspec.c: New file, implements argument filtering for a
1496         user-visible C preprocessor.
1497         * cpp.sh: Removed.
1498
1499 Fri Mar 26 20:41:46 1999  Jim Wilson  <wilson@cygnus.com>
1500
1501         * Makefile.in (stmp-fixinc): Use tooldir instead of gcc_tooldir.
1502
1503 Fri Mar 26 16:02:37 1999  Nick Clifton  <nickc@cygnus.com>
1504
1505         * configure.in (arm-*-vxworks*): Just include arm/vxarm.h.
1506         * configure: Regenerate.
1507         * config/arm/vxarm.h: Define SUBTARGET_CPU_DEFAULT before
1508         including arm/coff.h
1509
1510 1999-02-16  Scott Bambrough  <scottb@corelcomputer.com>
1511
1512         * configure.in (arm*-*-linux-gnu*): Set thread_file to 'posix' if
1513         --enable-threads[={yes,pthreads,posix}] is passed as a command
1514         line parameter to configure.
1515
1516         * configure: Regenerate.
1517         
1518         * gcc/config/arm/t-linux (TARGET_LIBGCC2_CFLAGS): Include -fPIC.
1519
1520 Fri Mar 26 19:42:19 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
1521
1522         * loop.c (combine_givs): Fix index into can_combine when doing
1523         benefit adjustment for remaining givs when having combined a giv.
1524
1525 Fri Mar 26 11:38:01 1999  Nick Clifton  <nickc@cygnus.com>
1526
1527         * config/arm/t-arm-elf (EXTRA_MULTILIB_PARTS): Define.
1528
1529 Fri Mar 26 10:48:27 1999  Nick Clifton  <nickc@cygnus.com>
1530
1531         * config/arm/linux-elf.h: Include dbxelf.h
1532
1533 Fri Mar 26 10:43:47 1999  Nick Clifton  <nickc@cygnus.com>
1534
1535         * config/svr4.h: Include new header file dbxelf.h.
1536         (DBX_DEBUGGING_INFO): Remove definition.
1537         (DBX_USE_BINCL): Remove definition.
1538         (DBX_BLOCKS_FUNCTION_RELATIVE): Remove definition.
1539         (ASM_IDENTIFY_GCC): Remove definition.
1540         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove definition.
1541         (ASM_OUTPUT_SOURCE_LINE): Remove definition.
1542         (DBX_FUNCTION_FIRST): Remove definition.
1543         (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Remove definition.
1544
1545         * config/elfos.h: Include new header file dbxelf.h.
1546         (DBX_DEBUGGING_INFO): Remove definition.
1547         (DBX_BLOCKS_FUNCTION_RELATIVE): Remove definition.
1548         (ASM_IDENTIFY_GCC): Remove definition.
1549         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove definition.
1550         (ASM_OUTPUT_SOURCE_LINE): Remove definition.
1551         (DBX_FUNCTION_FIRST): Remove definition.
1552
1553         * config/dbxelf.h: New header file.
1554         (DBX_DEBUGGING_INFO): Define.
1555         (DBX_BLOCKS_FUNCTION_RELATIVE): Define.
1556         (DBX_FUNCTION_FIRST): Define.
1557         (DBX_USE_BINCL): Define.
1558         (DBX_CONTIN_LENGTH): Define.
1559         (ASM_IDENTIFY_GCC): Define.
1560         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Define.
1561         (ASM_OUTPUT_SOURCE_LINE): Define.
1562         (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Define.
1563
1564 Fri Mar 26 01:59:15 1999  "Charles M. Hannum"  <root@ihack.net>
1565
1566         * fold-const.c (fold_truthop): Optimize bitfield references with
1567         different masks as long as their size and bit position are the same.
1568
1569         * fold-const.c (fold_truthop): Build a type for both the lhs and
1570         rhs and use it appropriately.
1571
1572         * fold-const.c (fold_truthop): Mask the lhs and rhs after merging
1573         adjacent bitfield references.
1574
1575         * fold-const.c (fold_truthop): Verify that the lhs and rhs are
1576         in the same bit position when optimizing bitfield references
1577         which have the same mask.
1578
1579 Thu Mar 25 22:53:27 1999  Martin von Löwis  <loewis@informatik.hu-berlin.de>
1580
1581         * gcc.texi (Copy Assignment): New node.
1582
1583 1999-03-25  Zack Weinberg  <zack@rabi.columbia.edu>
1584
1585         * gcc.c: Compile unconditionally all code formerly dependent
1586         on #ifdef LANG_SPECIFIC_DRIVER.
1587         * gccspec.c: New file with stub lang_specific_driver,
1588         lang_specific_pre_link.
1589         * Makefile.in: Link gccspec.o into xgcc.  Add rule to compile
1590
1591 Thu Mar 25 21:08:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
1592
1593         * gcc.texi (Temporaries): Update.
1594
1595 Thu Mar 25 16:53:53 1999  Richard Henderson  <rth@cygnus.com>
1596
1597         * combine.c (distribute_notes): Place REG_LABEL also where
1598         REG_EQUAL indicates.
1599
1600 Thu Mar 25 12:46:37 1999  Jim Wilson  <wilson@cygnus.com>
1601
1602         * a29k/a29k.h (TARGET_SWITCHES): Add doc strings.
1603         * i960/i960.h (TARGET_SWITCHES): Add doc strings.
1604         * invoke.texi (a29k): Add documentation for -mno-multm option.
1605
1606 Thu Mar 25 14:04:54 1999  Andrew MacLeod  <amacleod@cygnus.com>
1607
1608         * rtl.texi (RTX_FRAME_RELATED_P): Add documentation.
1609         * rtl.h (struct rtx_def): Update comment for frame_related field.
1610         (set_unique_reg_note): Declare prototype.
1611         * dwarf2out.c (dwarf2out_frame_debug_expr): Split out from
1612         'dwarf2out_frame_debug' to handle only expressions, and process
1613         component parts of a PARALLEL expression.
1614         (dwarf2out_frame_debug): Process insns only, and call
1615         new function 'dwarf2out_frame_debug_expr' for patterns.
1616         * emit-rtl.c (set_unique_reg_note): New function to add a reg note,
1617         but if there is an existing one, delete it first.
1618         * expmed.c (expand_mult, expand_divmod): Use set_unique_reg_note.
1619         * optabs.c (add_equal_note, expand_binop): Use set_unique_reg_note.
1620         (emit_no_conflict_block, emit_libcall_block): Use set_unique_reg_note.
1621         (expand_fix): Use set_unique_reg_note.
1622
1623 Thu Mar 25 11:47:49 1999  Art Haas  <ahaas@neosoft.com>
1624
1625         * tlink.c (symbol_hash_newfunc): Remove redundant call to
1626         hash_newfunc.
1627         (file_hash_newfunc, demangled_hash_newfunc): Likewise.
1628
1629 Thu Mar 25 10:05:56 1999  Richard Henderson  <rth@cygnus.com>
1630
1631         * i386.h (PREFERRED_STACK_BOUNDARY): Set to 128.
1632
1633 1999-03-25  Philip Blundell  <pb@nexus.co.uk>
1634
1635         Based on patch from Jim Studt  <jim@federated.com>:
1636         * config/arm/linux-elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Copy
1637         definitions from config/linux.h.
1638         (DBX_BLOCKS_FUNCTION_RELATIVE): Define to 1.
1639
1640 Thu Mar 25 02:12:42 1999  Finn Hakansson  <finn@axis.com>
1641
1642         * loop.c (strength_reduce): Correct a comment.
1643
1644         * rtl.h (MEM_COPY_ATTRIBUTES): Remove unnecessary ending backslash.
1645
1646 Thu Mar 25 02:02:13 1999  Axel Thimm  <Axel.Thimm@physik.fu-berlin.de>
1647
1648         * Makefile.in (RANLIB_TEST): Improve test.
1649
1650 Thu Mar 25 01:15:33 1999  Donn Terry  <donn@interix.com>
1651
1652         * combine.c (force_to_mode, case PLUS): Use sign extended mask
1653         when masking the low bits out of a constant.
1654
1655 Tue Mar 23 15:45:25 1999  Richard Earnshaw  (rearnsha@arm.com)
1656                           Jeff Law  <law@cygnus.com>
1657
1658         * fold-const.c (make_range): If orig_type is unset, set it as soon
1659         as we know the type.  Remove now unnecessary set of orig_type for
1660         conversions.
1661
1662 Wed Mar 24 23:27:25 1999  Mark Elbrecht  <snowball3@usa.net>
1663                           Jeff Law  <law@cygnus.com>
1664
1665         * system.h (STDIN_FILENO): Provide default definition if one is not
1666         provided by the system header files.
1667         (STDOUT_FILENO, STDERR_FILENO): Likewise.
1668
1669         * i386/xm-djgpp.h (COLLECT2_HOST_INITIALIZATION): New macro.
1670         * collect2.c (main): Use it.
1671         (pexecute_pid): New variable. Holds return value from call to pexecute.
1672         (collect2_execute): Rework to use pexecute instead of fork.
1673         (collect2_wait): Use pwait() instead of wait().
1674
1675         * i386/djgpp.h: Fix typo.
1676
1677 Wed Mar 24 23:24:30 1999  Jeffrey A Law  (law@cygnus.com)
1678
1679         * fixinc/mkfixinc.sh: Recognize cygwin* instead of only
1680         cygwin32.
1681
1682 Wed Mar 24 15:44:12 1999  Nick Clifton  <nickc@cygnus.com>
1683
1684         * config/m32r/m32r.c (init_idents): Accept both NAME and __NAME__
1685         versions of attribute names and values.
1686         (m32r_valid_machine_decl_attribute): Likewise.
1687         (m32r_encode_section_info): Likewise.
1688
1689 Wed Mar 24 21:42:15 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
1690
1691         * reload1.c (choose_reload_regs): If output-reloading for a
1692         simple move insn, try to inherit an equivalence for the input.
1693
1694 1999-02-24  Mike Stump  <mrs@wrs.com>
1695
1696         * arm/aout.h (DBX_OUTPUT_MAIN_SOURCE_FILENAME): Fix quoting.
1697
1698 1999-03-24  Jim Blandy  <jimb@zwingli.cygnus.com>
1699
1700         * libgcc2.c (__CTOR_LIST__, __DTOR_LIST__): Initialize on all
1701         platforms.
1702
1703 Wed Mar 24 01:35:01 1999  Geoff Keating  <geoffk@ozemail.com.au>
1704
1705         * fold-const.c (fold): Recognize a rotate by an unsigned amount.
1706
1707 Tue Mar 23 23:32:14 1999  Jeffrey A Law  (law@cygnus.com)
1708
1709         * pa.md (rotlsi3): New expander.  Synthesize a variable rotate
1710         left using a variable rotate right.  Provide anonymous pattern for
1711         rotate left by a constant value.
1712
1713         * expr.c (expand_assignment): Do not try to optimize a aggregate
1714         address which has VOIDmode.
1715
1716 Tue Mar 23 22:51:48 1999  Mumit Khan  <khan@xraylith.wisc.edu>
1717                           Donn Terry  <donn@interix.com>
1718
1719         * protoize.c (abspath): Preserve multiple leading slashes for
1720         _WIN32 and Interix.
1721
1722 1999-01-23  Mike Stump  <mrs@wrs.com>
1723
1724         * arm/vxarm.h: Split out vxWorks support into separate headerfile
1725         and vxify.
1726         * arm/arm.c (cpu_defaults): Allow arm710 as default.
1727         
1728         * configure.in: Split out vxWorks support for Arm.
1729         * configure: Rebuilt.
1730
1731 Tue Mar 23 11:20:03 1999  Per Bothner  <bothner@cygnus.com>
1732
1733         * tree.c (first_rtl_op, has_cleanups): Handle GOTO_SUBROUTINE_EXPR.
1734
1735 Tue Mar 23 09:00:39 1999  Nick Clifton  <nickc@cygnus.com>
1736
1737         * config/arm/riscix1.h (SUBTARGET_SWITCHES): Add doc string.
1738         * config/arm/riscix1-1.h (SUBTARGET_SWITCHES): Add doc string.
1739
1740 Tue Mar 23 07:50:20 1999  Mark Mitchell  <mark@codesourcery.com>
1741
1742         * function.c: Include hash.h.
1743         (insns_for_mem_entry): New struct.
1744         (put_reg_into_stack): Take an optional hash-table mapping MEMs to
1745         the INSNs that use them.
1746         (fixup_var_refs): Likewise.
1747         (put_addressof_into_stack): Likewise.
1748         (purge_addressof_1): Likewise.  Keep the hash-table up to date if
1749         we add new instructions.
1750         (fixup_var_refs_insns): Use it to avoid searching the entire
1751         instruction chain.
1752         (insns_for_mem_newfunc): New function.
1753         (insns_for_mem_comp): Likewise.
1754         (insns_for_mem_walk): Likewise.
1755         (compute_insns_for_mem): Likewise.
1756         (pop_function_context_from): Pass NULL for the hash-table.
1757         (put_var_into_stack): Likewise.
1758         (gen_mem_addressof): Likewise.
1759         (flush_addressof): Likewise.
1760         (purge_addressof): Call compute_insns_for_mem to pre-compute the
1761         hash table.
1762         * Makefile.in (OBJS): Include hash.o.
1763         (function.o): Depend on hash.h.
1764         
1765 Tue Mar 23 00:39:14 1999  Jeffrey A Law  (law@cygnus.com)
1766
1767         * i386/openbsd.h (TARGET_DEFAULT): Use symbolic names instead of
1768         numbers.
1769         * i386/netbsd.h, i386/freebsd.h: Likewise.
1770
1771         * crtstuff.c: Use ANSI function definitions.  Fix minor whitespace
1772         problems.
1773
1774         * i386/openbsd.h (TARGET_DEFAULT): Define.
1775         * configure.in: Do not set TARGET_CPU_DEFAULT for x86 OpenBSD
1776         configurations.
1777         * configure: Rebuilt.
1778
1779 Tue Mar 23 00:39:10 1999  John Wehle  (john@feith.com)
1780
1781         * i386/freebsd.h (TARGET_DEFAULT): Define instead
1782         of TARGET_CPU_DEFAULT.
1783         * i386/netbsd.h (TARGET_DEFAULT): Likewise.
1784
1785 Mon Mar 22 23:52:01 1999  Mumit Khan  <khan@xraylith.wisc.edu>
1786                           Donn Terry  <donn@interix.com>
1787
1788         * sdbout.c (syms.h): Don't include on Interix.
1789         * toplev.c (main): No sbrk on Interix.
1790
1791         * configure.in: Add i386-pc-interix support.
1792         * configure: Regenerate.
1793         * fixinc.interix: New file.
1794         * config/interix.h: New file.
1795         * config/x-interix: New file.
1796         * config/xm-interix.h: New file.
1797         * i386/interix.h: New file.
1798         * i386/interix.c: New file.
1799         * i386/t-interix: New file.
1800
1801 Mon Mar 22 23:41:49 1999  Jeffrey A Law  (law@cygnus.com)
1802
1803         * i386.h (PREFERRED_STACK_BOUNDARY): Define.
1804
1805 Mon Mar 22 23:41:31 1999  John Wehle  (john@feith.com)
1806
1807         * i386.c (ix86_compute_frame_size): New function.
1808         (ix86_prologue, ix86_epilogue): Use it.
1809         * i386.h (INITIAL_ELIMINATION_OFFSET): Likewise.
1810         * reload1.c: Provide default for PREFERRED_STACK_BOUNDARY.
1811
1812 Mon Mar 22 18:06:59 1999  Jim Wilson  <wilson@cygnus.com>
1813
1814         * mips/mips.h (TARGET_SWITCHES, TARGET_OPTIONS): Add option doc
1815         strings.
1816         * mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Likewise.
1817
1818 Mon Mar 22 16:18:27 1999  Nick Clifton  <nickc@cygnus.com>
1819
1820         * config/arm/elf.h (VALID_MACHINE_DECL_ATTRIBUTE): Do not bother
1821         passing ATTRIBUTES to arm_valid_machine_decl_attribute.
1822         
1823         * config/arm/coff.h (VALID_MACHINE_DECL_ATTRIBUTE): Do not bother
1824         passing ATTRIBUTES to arm_valid_machine_decl_attribute.
1825         
1826         * config/arm/arm.h (DEFAULT_RTX_COSTS): Do not bother passing
1827         OUTER_CODE to arm_rtx_costs - it is not used.
1828         (arm_compare_fp): Delete declaration.
1829         (FINAL_PRESCAN_INSN): Do not bother passing OPVEC or NOPERANDS to
1830         arm_final_prescan_insn - they are not used.
1831         (const_ok_for_op): Remove prototype.
1832         (arm_rtx_costs): Fix prototype.
1833         (arm_valid_machine_decl_attribute): Fix prototype.
1834         (final_prescan_insn): Fix prototype.
1835
1836         * config/arm/arm.md: Remove references to arm_compare_fp.
1837
1838         * config/arm/arm.c (arm_compare_fp): Delete.
1839         (const_ok_for_op): Make function static.  Add prototype.  Remove
1840         mode parameter - it is unused.
1841         (arm_rtx_costs): Remove outer_code parameter.
1842         (reload_memory_operand): Declare mode parameter unused.
1843         (power_of_two_operand): Declare mode parameter unused.
1844         (equality_operator): Declare mode parameter unused.
1845         (load_multiple_operation): Declare mode parameter unused.
1846         (store_multiple_operation): Declare mode parameter unused.
1847         (multi_register_push): Declare mode parameter unused.
1848         (arm_valid_machine_decl_attribute): Remove attributes parameter -
1849         it is unused.
1850         (select_dominance_cc_mode): Remove op parameter - it is unused.
1851         (gen_compare_reg): Remove fp parameter - it is unused.
1852         (final_prescan_insn): Remove opvec and noperands parameters - they
1853         are unused.
1854         
1855 Mon Mar 22 14:35:28 1999  Nick Clifton  <nickc@cygnus.com>
1856
1857         * tm.texi (MD_SCHED_INIT): Add missing closing parenthesis.
1858
1859 Mon Mar 22 22:24:30 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
1860
1861         * reload1.c (reload_as_needed): Set reload_is_output_reload /
1862         reload_has_output_reload for auto_inc expressions that could be
1863         reloaded.  Call forget_old_reloads for REG_INC notes.
1864
1865 Mon Mar 22 21:51:57 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
1866
1867         * cse.c (cse_insn): Don't change the result register of a libcall.
1868
1869 Mon Mar 22 21:08:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
1870
1871         * rtl.h (shallow_copy_rtx): Declare.
1872         * rtl.c (shallow_copy_rtx): New function.
1873         * reload.c (find_reloads_toplev): Use shallow_copy_rtx instead of
1874         copy_rtx.
1875
1876 Mon Mar 22 10:44:33 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
1877
1878         * config/h8300/h8300.md (adjust_length): New attribute.
1879         (modhi3+1, andsi3+1, iorsi3+1, extzv+1, extzv+2): Change insn
1880         default value of attribute "adjust_length" onto "no".
1881
1882         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust
1883         length only if the attribute "adjust_length" value is "yes".
1884         Use 0 if the shift is negative.
1885
1886         * final.c (shorten_branches): Check insn length after its
1887         adjusting.
1888
1889 Sun Mar 21 17:33:48 1999  Jeffrey A Law  (law@cygnus.com)
1890
1891         * i860.h (TARGET_SWITCHES): Add documentation for default case.
1892         * i860/paragon.h (TARGET_SWITCHES): Add documentation for default case.
1893         * i370.h (TARGET_SWITCHES): Add documentation for default case.
1894         * fx80.h (TARGET_SWITCHES): Add documentation for default case.
1895         * elxsi.h (TARGET_SWITCHES): Add documentation for default case.
1896         * clipper.h (TARGET_SWITCHES): Add documentation for default case.
1897         * 1750a.h (TARGET_SWITCHES): Add documentation for default case.
1898         * pa.h (TARGET_SWITCHES): Add documentation for default case.
1899         (TARGET_OPTIONS): Likewise for default case.
1900         * mn10300.h (TARGET_SWITCHES): Add documentation for default case.
1901         * h8300.h (TARGET_SWITCHES): Add documentation for default case.
1902
1903         * gcse.c (dump_hash_table): Fix whitespace in declaration.
1904         (compute_transpout): Renamed from pre_compute_transpout.
1905         (compute_pre_*): Deleted.
1906         (pre_expr_reaches_here_p): New argument, CHECK_PRE_COMP.  All
1907         callers changed.
1908         (insert_insn_end_bb): Renamed from pre_insert_insn.
1909         (pre_*): Delete unused variables.  Only leave local properties and
1910         global redundant/optimal computation points.
1911         (alloc_pre_mem, free_pre_mem): Corresponding changes.
1912         (compute_pre_data): Simplify and call pre_lcm to run the lazy
1913         code motion dataflow analysis.
1914         (pre_insert, pre_insert_copies, pre_delete): Revamp to use LCM
1915         based redundant and optimal computation points.
1916
1917         * basic-block.h (pre_lcm, pre_rev_lcm): Declare.
1918
1919         * toplev.c (main): A debug option without a level defaults to
1920         level 2.
1921
1922 Sun Mar 21 12:13:01 1999  Nick Clifton  <nickc@cygnus.com>
1923
1924         * flow.c (can_delete_label_p): Do not allow user specified
1925         labels to be deleted.
1926         * dwarf2out.c (gen_label_die): Generate addresses for deleted
1927         (programmer specified) labels.
1928         * dwarfout.c (output_label_die): Generate addresses for deleted
1929         (programmer specified) labels.
1930
1931 1999-03-21  Manfred Hollstein  <manfred@s-direktnet.de>
1932
1933         * Makefile.in (xgcc$(exeext)): Add intl.o to list of files to be
1934         linked with.
1935
1936 Sun Mar 21 01:15:03 1999  Jeff Law  (law@cygnus.com)
1937
1938         * version.c: Bump for snapshot.
1939
1940 Sat Mar 20 22:26:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1941
1942         * sparc.h (TARGET_SWITCHES): Add null description to default case.
1943
1944 Sat Mar 20 21:46:06 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1945
1946         * c-lex.c (yylex): Remove unused variable `bytes'.
1947
1948         * flow.c (print_rtl_with_bb): Cast the return value of alloca.
1949
1950         * function.c (assign_parms): Wrap variable `varargs_setup' in
1951         macro SETUP_INCOMING_VARARGS.
1952         (thread_prologue_and_epilogue_insns): Mark parameter `f' with
1953         ATTRIBUTE_UNUSED.
1954
1955         * local-alloc.c (no_equiv): Likewise for parameter `store'.
1956
1957         * sched.c (schedule_insns): Remove unused variables `insn' and `next'.
1958
1959         * tlink.c (symbol_hash_newfunc, symbol_hash_lookup,
1960         file_hash_newfunc, file_hash_lookup, demangled_hash_newfunc,
1961         demangled_hash_lookup, symbol_push, symbol_pop, file_push,
1962         file_pop, tlink_init, tlink_execute, frob_extension,
1963         obstack_fgets, tfgets, pfgets, freadsym, read_repo_file,
1964         maybe_tweak, recompile_files, read_repo_files,
1965         demangle_new_symbols, scan_linker_output): Add static prototype.
1966
1967         (symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc):
1968         Make the third argument a `hash_table_key'.
1969
1970         * toplev.c (debug_start_source_file): Mark parameter `filename'
1971         with ATTRIBUTE_UNUSED.
1972
1973 Sun Mar 21 02:28:21 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
1974
1975         * tm.texi (Varargs): Don't split argument of @item across lines.
1976
1977         * invoke.texi: Fix use of @item vs @itemx.
1978
1979 Sun Mar 21 09:59:54 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1980
1981         * config/c4x/c4x.h (TARGET_SWITCHES): Add null description to
1982         default case.
1983
1984 Sat Mar 20 23:33:54 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1985
1986         * loop.c (check_dbra_loop): Fix debug message.
1987
1988 Sat Mar 20 15:54:35 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1989
1990         * config/c4x/c4x.md (decrement_and_branch_on_count): Emit rptb_end
1991         pattern instead of decrement_and_branch_until_zero pattern.
1992
1993 Sat Mar 20 11:39:58 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1994
1995         * config/c4x/c4x.h (TARGET_SWITCHES): Add documentation.
1996         * config/c4x/c4x.h (TARGET_OPTIONS): Add documentation.
1997
1998 Fri Mar 19 23:26:29 1999  Martin von Löwis  <loewis@informatik.hu-berlin.de>
1999
2000         * expr.c (expand_expr): Handle ERROR_MARK much earlier.
2001
2002 Fri Mar 19 15:28:38 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2003
2004         * cccp.c (create_definition): Cast to U_CHAR* when assigning to one.
2005
2006         * cppfiles.c (read_and_prescan): Likewise.
2007         Start a #define in column 0.
2008
2009         * cpplib.c (cpp_define): Cast to U_CHAR* when assigning to one.
2010         (cpp_push_buffer): Likewise for cpp_buffer*.
2011         (do_include): Change the type of `fbeg' and `fend' to unsigned char*.
2012         (do_endif): Cast to char* when assigning to one.
2013         (do_assert): Likewise.
2014         (do_unassert): Likewise.
2015         (cpp_read_check_assertion): Change the type of `name' to U_CHAR*.
2016         Don't do unnecessary cast to char* anymore.
2017
2018         * genrecog.c (make_insn_sequence): Cast to char** when assigning
2019         to one.  Cast the first argument of bzero to PTR.
2020
2021         * loop.c (strength_reduce): Remove unused variable `note'.
2022
2023         * reload1.c (new_insn_chain): Cast to struct insn_chain* when
2024         assigning to one.
2025
2026         * rtl.c (copy_rtx): Use memcpy instead of bcopy.
2027
2028 Fri Mar 19 11:19:31 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2029
2030         * calls.c (initialize_argument_information): Mark parameters
2031         `num_actuals' and `n_named_args' with ATTRIBUTE_UNUSED.
2032
2033         * dbxout.c (dbxout_start_new_source_file): Likewise for parameter
2034         `filename'.
2035         (dbxout_finish): Likewise for parameters `file' and `filename'.
2036         (dbxout_prepare_symbol): Likewise for parameter `decl'.
2037         (dbxout_begin_function): Likewise.
2038
2039         * explow.c (hard_function_value): Likewise for parameter `func'.
2040
2041         * function.c (locate_and_pad_parm): Likewise for parameter `fndecl'.
2042         
2043         * expmed.c (expand_divmod): Omit unused argument to `expand_abs'.
2044         * expr.c (expand_expr): Likewise.
2045         * expr.h (expand_abs): Delete unused argument from prototype.
2046         * optabs.c (expand_abs): Remove unused parameter `unsignedp'.
2047
2048         * sdbout.c (sdbout_init): Mark parameter `syms' with ATTRIBUTE_UNUSED.
2049         (sdbout_end_block): Likewise for parameter `n'.
2050         
2051         * toplev.c (debug_define): Likewise for parameters `lineno' and
2052         `buffer'.
2053         (debug_undef): Likewise.
2054         
2055         * varasm.c (named_section): Likewise for parameter 'reloc'.
2056         (assemble_external): Likewise for parameter `decl'.
2057         (assemble_alias): Likewise for parameter `target'.
2058         
2059 Fri Mar 19 01:54:30 1999  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
2060
2061         * toplev.c (read_integral_parameter): Constify.  Better control of
2062         error messages.
2063         (main): Use read_integral_parameter to set optimize, id_clash_len,
2064         larger_than_size, and the debugging level.
2065         * toplev.h (read_integral_parameter): Update prototype.
2066
2067 Fri Mar 19 01:42:05 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
2068
2069         * system.h: Use putc_unlocked, fputc_unlocked, and
2070         fputs_unlocked only if putc_unlocked has a prototype already.
2071         Prototype fputs_unlocked if necessary.
2072         * configure.in: Check for prototypes of putc_unlocked and
2073         fputs_unlocked.
2074         * acconfig.h: Updated.
2075         * config.in, configure: Rebuilt.
2076
2077 Fri Mar 19 02:45:12 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
2078
2079         * Makefile.in (INTL_TARGETS): New macro.
2080         ($(INTL_TARGETS)): Depend on generated sources; drop dependencies
2081         on cp/parse.c and objc/objc-parse.c.
2082         ($(srcdir)/cp/parse.c): Move to cp/Make-lang.in.
2083         * objc/Make-lang.in ($(INTL_TARGETS)): Depend on objc/objc-parse.c.
2084
2085 Thu Mar 18 22:28:53 1999  Jeffrey A Law  (law@cygnus.com)
2086
2087         * i860.h (TARGET_SWITCHES): Add documentation.
2088         * i860/paragon.h (TARGET_SWITCHES): Add documentation.
2089         * i370.h (TARGET_SWITCHES): Add documentation.
2090         * fx80.h (TARGET_SWITCHES): Add documentation.
2091         * elxsi.h (TARGET_SWITCHES): Add documentation.
2092         * clipper.h (TARGET_SWITCHES): Add documentation.
2093         * 1750a.h (TARGET_SWITCHES): Add documentation.
2094         * pa.h (TARGET_SWITCHES): Add documentation.
2095         (TARGET_OPTIONS): Likewise.
2096         * mn10300.h (TARGET_SWITCHES): Add documentation.
2097         * h8300.h (TARGET_SWITCHES): Add documentation.
2098
2099 Thu Mar 18 15:58:26 1999  Nick Clifton  <nickc@cygnus.com>
2100
2101         * loop.c (strength_reduce): Do not perform pseudo replacements
2102         if the loop contains volatile memory references.
2103
2104 Thu Mar 18 19:09:50 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
2105
2106         * reload.c (find_reloads_toplev): When processing X recursively,
2107         don't alter it destructively except by filling in constants.
2108
2109 Thu Mar 18 10:14:18 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2110
2111         * cccp.c (default_include): Initialize structure members.
2112         (pass_thru_directive): Change the type of 'keyword_length' to int.
2113         (main): Cast `bindtextdomain' and `textdomain' to (void).
2114
2115         * collect2.c (main): Likewise.
2116
2117         * cppmain.c (main): Likewise.
2118
2119         * gcc.c (main): Likewise.
2120
2121         * gcov.c (main): Likewise.
2122
2123         * protoize.c (main): Likewise.
2124
2125         * toplev.c (main): Likewise.
2126
2127 1999-03-18  Gavin Romig-Koch  <gavin@cygnus.com>
2128
2129         * config/mips/mips.c (mips_explicit_type_size_string): Correct
2130         its type.
2131
2132 Thu Mar 18 01:24:25 1999  Jeffrey A Law  (law@cygnus.com)
2133
2134         * configure.in: Use "exit 1", not "exit (1)".
2135         * configure: Rebuilt.
2136
2137 Wed Mar 17 23:17:42 1999  Mark Kettenis  <kettenis@gnu.org>
2138
2139         * config/t-gnu (SYSTEM_HEADER_DIR): New variable.  Set to
2140         `/include' in order to find the system's limits.h.
2141
2142 Wed Mar 17 23:00:18 1999  Robert Lipe  <robertlipe@usa.net>
2143
2144         * fixinc/fixincl.c: Include auto-host.h instead of config.h.
2145         * fixinc/procopen.c: Likewise.
2146         * fixinc/regex.c: Likewise.
2147         * fixinc/server.c: Likewise.
2148
2149 Wed Mar 17 22:46:13 1999  Mark Elbrecht  <snowball3@usa.net.
2150
2151         * config/i386/go32.h: Delete.
2152         * config/i386/djgpp.h: New. Renamed from go32.h.
2153         Added -DDJGPP=2 to CPP_PREDEFINES.
2154         * config/i386/go32-rtems.h: Delete.
2155         * config/i386/djgpp-rtems.h: New. Renamed from go32-rtems.h.
2156         Added -DDJGPP=2 to CPP_PREDEFINES.
2157         * config/i386/xm-go32.h: Delete.
2158         * config/i386/xm-djgpp.h: New. Renamed from xm-go32.h.
2159         * config/i386/x-go32: Delete.
2160         * config/i386/x-djgpp: New. Renamed from x-go32.
2161         * config/i386/t-go32: Delete.
2162         * config/i386/t-djgpp: New. Renamed from t-go32.
2163         * configure.in(pc-msdosdjgpp): Set xm_file to i386/xm-djgpp.h.
2164         Set tm_file to i386/djgpp.h. Set tmake_file to i386/t-djgpp.
2165         Set xmake_file to i386/x-djgpp.
2166         (*-go32-msdos, *-go32*): Remove entries.  Warn that GO32/DJGPP V1.X
2167         is now unsupported and *-pc-msdosdjgpp for DJGPP V2.X should be
2168         used instead.
2169         * configure: Rebuilt.
2170
2171         * gcc.c (process_command): Dump link_command_spec too.
2172
2173 Wed Mar 17 20:38:08 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
2174                           Jeff Law  <law@cygnus.com>
2175
2176         * pa.md: Add real PA8000 scheduling information.
2177
2178         * pa.h (processor_type): Add PROCESSOR_8000 symbol.
2179         (ISSUE_RATE): Revamp, including PA8000 support.
2180         * pa.c (override_options): Add 8000 as -mschedule= option.
2181         Do not call strcmp if pa_cpu_string is null.
2182         * pa.md (attr cpu): Add 8000.
2183         * invoke.texi: Add documentation for PA8000 scheduling.
2184         
2185 Wed Mar 17 18:20:24 1999  David S. Miller  <davem@redhat.com>
2186
2187         * config/sparc/sparc.h (TARGET_SWITCHES, TARGET_OPTIONS):
2188         Add descriptions.
2189         * config/sparc/sp64-elf.h (SUBTARGET_SWITCHES): Likewise.
2190         * config/sparc/splet.h (SUBTARGET_SWITCHES): Likewise.
2191
2192 Wed Mar 17 14:51:19 1999  Richard Henderson  <rth@cygnus.com>
2193
2194         * flow.c (compute_immediate_dominators): New function.
2195         * basic-block.h (compute_immediate_dominators): Declare it.
2196
2197         * alpha.h (HARD_REGNO_MODE_OK): Allow only 4 and 8 byte unit modes
2198         in FP regs.
2199         (MODES_TIEABLE_P): Define asymmetricly wrt modes illegal in FP regs.
2200
2201 Wed Mar 17 14:41:41 1999  Nick Clifton  <nickc@cygnus.com>
2202
2203         * config/arm/aout.h (ASM_GENERATE_INTERNAL_LABEL): Fix compile
2204         time warning.
2205         * config/arm/arm.md: Fix various compile time warnings.
2206         * config/arm/arm.h: Fix various compile time warnings.  Add
2207         function prototypes.
2208         * config/arm/arm.c: Fix various compile time warnings.
2209         (arm_override_options): Reorganize to separate tuning from
2210         targetting.
2211         (bit_count): New function: Return a count of the number of bits
2212         set in a word.
2213
2214 Wed Mar 17 21:29:12 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
2215
2216         * reload1.c (eliminate_regs): Don't keep REG_DEAD notes around for
2217         things that were eliminated.
2218
2219 Wed Mar 17 12:16:26 1999  Richard Henderson  <rth@cygnus.com>
2220
2221         * function.c (fixup_var_refs_1): First try moving the expression
2222         directly into a register.  Don't separate cc0 setter and user.
2223
2224 Wed Mar 17 11:20:29 1999  Dave Brolley  <brolley@cygnus.com>
2225
2226         * cppfiles.c (PIPE_BUF): #define PIPE_BUF if not defined already.
2227
2228 Wed Mar 17 09:25:06 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2229
2230         * c-lex.c: Don't include setjmp.h.
2231         (parse_float): New static function.
2232         (pf_args): New struct.
2233         (yylex): Use them in call to `do_float_handler'.
2234
2235 1999-03-16  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
2236
2237         * cexp.y (yyerror): Call verror to get a useful error message.
2238         * cexp.c: Rebuilt.
2239
2240         * .gdbinit: Move command to put breakpoint at abort to end of file
2241         so that gdb does not bail out early.
2242
2243 Tue Mar 16 15:30:19 1999  Nick Clifton  <nickc@cygnus.com>
2244
2245         * rtl.h: Rename prototype for free_bb_memory to free_bb_mem.
2246
2247 Tue Mar 16 23:40:09 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
2248
2249         * sh.md (movsi_i): Move t/r alternative after r/rI alternative.
2250
2251 Tue Mar 16 13:44:50 1999  Jim Wilson  <wilson@cygnus.com>
2252
2253         * mn10200/mn10200.md (addsi3, subsi3, ashlsi3, lshrsi3, ashrsi3):
2254         Delete emit_library_call_value declaration.
2255
2256 1999-03-16  Zack Weinberg  <zack@rabi.columbia.edu>
2257
2258         * cppfiles.c (read_and_prescan): Map backslash-newline to '\r'
2259         (which cannot otherwise appear in the processed buffer) and
2260         move it out of tokens that it appears in the middle of.
2261         Improve performance.
2262         (find_position): New function.
2263
2264         * cpplib.c: \r (one character) indicates backslash
2265         newline, not \\\n (two characters).  It cannot appear in the
2266         middle of a token.  Call CPP_BUMP_LINE (pfile) whenever
2267         parsing moves past \n or \r.  Increment pfile->lineno whenever
2268         a \n is placed into token_buffer.  Only one mark can exist at
2269         a time, and CPP_BUMP_LINE must not be used while it is
2270         active.  It is automatically cleared by cpp_pop_buffer and
2271         parse_goto_mark.  \r is not in is_hor_space or is_space.
2272
2273         (NEWLINE_FIX, NEWLINE_FIX1, adjust_position,
2274         update_position, count_newlines, parse_move_mark): Removed.
2275         (parse_string, copy_comment): New functions.
2276         (parse_name): Returns void.
2277         (parse_set_mark, parse_clear_mark, parse_goto_mark): Take only
2278         one argument, a cpp_reader *.  Change for new marking scheme.
2279         (skip_comment): Handle CHILL line comments too.  Second
2280         argument is now first character of comment marker; all callers
2281         changed.  Issue error for unterminated block comment here.
2282         (cpp_skip_hspace): Recognize CHILL comments.
2283         (copy_rest_of_line): Likewise.  Call skip_comment and
2284         parse_string directly, don't go through cpp_get_token.  Emit
2285         "/**/" for block comments if -traditional (create_definition
2286         needs this).
2287         (do_define): Don't play with put_out_comments.
2288         (cpp_push_buffer): Initialize ->mark to -1.
2289         (cpp_buf_line_and_col): Just read out the values in the buffer
2290         structure.
2291         (output_line_command): Use cpp_buf_line_and_col.  Fix
2292         formatting.  Remove stale code.
2293         (cpp_get_token): Break out string parsing code to
2294         parse_string.  Use skip_comment for CHILL comments too.  Use
2295         copy_comment for put_out_comments instead of dinking with
2296         marks.  Remove stale code.  Don't call output_line_command
2297         unless it's necessary.
2298
2299         * cpplib.h (parse_marker): Removed.
2300         (struct cpp_buffer): Line_base is now a unsigned char *; add
2301         `mark' [long], remove `marks' [struct parse_marker *].
2302         (parse_set_mark, parse_clear_mark, parse_goto_mark): Update
2303         prototypes.
2304         (CPP_BUMP_LINE, CPP_BUMP_BUFFER_LINE): New macros.
2305         * cppinit.c (is_hor_space, is_space): '\r' is not considered
2306         whitespace.
2307         * cppexp.c (cpp_parse_expression): Use cpp_skip_hspace, not
2308         SKIP_WHITE_SPACE.
2309         * cpphash.c (macarg): Disable line commands while expanding.
2310
2311 Tue Mar 16 11:30:19 1999  Gavin Romig-Koch  <gavin@cygnus.com>
2312
2313         * c-lex.c (yylex) : Remove warning for integer literals being
2314         larger than the largest target int.  Add warning for integer
2315         literal being larger than than its chosen type.
2316
2317 Tue Mar 16 10:53:17 1999  Gavin Romig-Koch  <gavin@cygnus.com>
2318
2319         * invoke.texi: Add -mlong32 documentation.
2320         * config/mips/mips.h (mips_explicit_type_size_string): New.
2321         (TARGET_SWITCHES): Add 'long32'.
2322         (TARGET_OPTIONS): Add 'explicit-type-size'.
2323         (CC1_SPECS): Set -mexplicit-type-size.
2324         (LONG_MAX_SPEC): Change a use of 'no-long64' to 'long32'.
2325         * config/mips/abi64.h (LONG_MAX_SPEC): Same.  Add 'mabi=32'.
2326         * config/mips/mips.c (mips_explicit_type_size_string): New.
2327         (override_options): Use it.
2328         * config/mips/osfrose.h (CC1_SPECS): Set -mexplicit-type-size.
2329
2330         * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC):
2331         Pointer size now depends on both size longs and size of GP
2332         registers.
2333
2334 Tue Mar 16 10:22:22 1999  Gavin Romig-Koch  <gavin@cygnus.com>
2335
2336         * config/mips/iris.h (CTORS_SECTION_ASM_OP,DTORS_SECTION_ASM_OP,
2337         dtors_section): Use Pmode == DImode rather than TARGET_LONG64.
2338         * config/mips/mips.c (override_options): Allow -mlong64 and
2339         -mint64 with -mips2 or less.
2340         * config/mips/mips.h (MASK_LONG64): Fix comment.
2341         (POINTER_SIZE): Use Pmode == DImode rather than TARGET_LONG64.
2342         (Pmode): Make Pmode the smaller of longs or gp registers.
2343         * invoke.texi: Note the new size for pointers.
2344
2345 Mon Mar 15 22:45:25 1999  David Edelsohn  <edelsohn@gnu.org>
2346
2347         * rs6000.h (ASM_OUTPUT_{DOUBLE,FLOAT}): Always generate IEEE 754
2348         bit-pattern directly.
2349         (ASM_OUTPUT_REG_{PUSH,POP}): Delete.
2350         * rs6000.c (first_reg_to_save): If profiling and context needed,
2351         allocate a reg to save static chain for all ABIs.  For AIX
2352         profiling, calculate parameter registers to save based on need.
2353         (output_function_profiler): Save and restore static chain around
2354         profile call for all ABIs.
2355
2356 1999-03-15  Zack Weinberg  <zack@rabi.columbia.edu>
2357
2358         * cppinit.c: Instead of one pending list, keep separate lists
2359         for each category of pending option: -D/-U, -A, -include,
2360         -imacros.  Move the four partial include-path lists into the
2361         pending block.  Use head and tail pointers so we don't ever
2362         have to reverse the lists.
2363
2364         (cpp_start_read): Break out blocks of code to their own
2365         functions: install_predefs and initialize_dependency_output.
2366         Use path_include for C_INCLUDE_PATH and friends as well as
2367         CPATH.  Remove include_defaults gunk.  Warn about the
2368         combination of -lang-chill and -trigraphs.  Optimize string
2369         bashing.  Walk each pending list once, deallocating as we go.
2370
2371         (append_include_chain): Brought over from cppfiles.c.  Mark
2372         dirs as system include dirs if and only if appending to
2373         system include path. If opts->verbose, print a notice when a
2374         dir is dropped from the include path because it doesn't
2375         exist.  Fix memory leak: this function is not supposed to copy
2376         its DIR argument.
2377
2378         (nreverse_pending, push_pending): Removed.
2379         (APPEND): New macro for adding to pending lists.
2380         (path_include): Can now add to any partial include path.
2381         (base_name): Bring over from cccp.c.
2382         (cpp_options_init): Allocate the pending block.
2383         (cpp_handle_option): Add --version.  Exit after --help.  Fix
2384         formatting.  Order -ifoo options by frequency of usage.
2385         (install_predefs): New function, simplified version of code
2386         that was in cpp_start_read.
2387         (initialize_dependency_output): Likewise.  Understand OBJECT_SUFFIX.
2388
2389         * cppfiles.c (simplify_pathname): Export.
2390         (merge_include_chains): Don't nreverse the lists.  If
2391         opts->verbose, print a notice when a duplicate dir is detected
2392         and dropped from the include path.
2393         (finclude): Fix excessive cleverness in setting
2394         fp->system_header_p.
2395         (actual_directory): Set x->sysp from
2396         CPP_BUFFER (pfile)->system_header_p so that one system header
2397         may include another with "".
2398         (deps_output): Fix double adjustment of deps_size which would
2399         cause all dependencies after the first two lines to be lost.
2400
2401         * cpplib.c (cpp_unassert): New function.
2402         * cpplib.h: Lay out struct cpp_pending here.  Adjust
2403         prototypes.  Add include_prefix_len to struct cpp_options.
2404
2405 Mon Mar 15 16:01:52 1999  Jim Wilson  <wilson@cygnus.com>
2406
2407         * config/misp/mips.h (REGISTER_MOVE_COST): Make the cost of moving
2408         from HI/LO/HILO/MD into general registers the same as for one
2409         of moving general registers to HI/LO/HILO/MD.
2410
2411 Mon Mar 15 12:39:38 1999  Nick Clifton  <nickc@cygnus.com>
2412
2413         * config/m32r/m32r.c (init_idents): New function.  Initialize
2414         static tree nodes for m32r specific attribute identifiers.  Remove
2415         leading and trailing double underscores from the attribute names.
2416         (m32r_valid_machine_decl_attribute): Call init_idents.
2417         (m32r_encode_section_info): Call init_idents.
2418
2419 Mon Mar 15 10:20:20 1999  Mark Mitchell  <mark@markmitchell.com>
2420
2421         * reload.c (find_reloads): Add a REG_LABEL note if we substitute a
2422         LABEL_REF for something else.
2423
2424 Mon Mar 15 08:24:17 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2425
2426         * fold-const.c (exact_real_inverse): Move variable `float_error'
2427         into the scope where it is used.
2428         (const_binop_1): New static function.
2429         (cb_args): New struct.
2430         (const_binop): Use them in call to `do_float_handler'.
2431         (fold_convert_1): New static function.
2432         (fc_args): New struct.
2433         (fold_convert): Use them in call to `do_float_handler'.
2434
2435 Mon Mar 15 22:50:18 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2436
2437         * rtlanal.c (auto_inc_p): New function.
2438         * rtl.h (auto_inc_p): Prototype it.
2439         * reload1.c (add_auto_inc_notes): New function.
2440         (reload): Strip REG_INC notes and call add_auto_inc_notes
2441         for each insn to restore them correctly.
2442
2443 1999-03-15  Manfred Hollstein  <manfred@s-direktnet.de>
2444
2445         * fixinc/Makefile.in (procopen.o): List the actual
2446         dependencies.
2447
2448 Sun Mar 14 16:22:10 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2449
2450         * cse.c (check_fold_consts): New static function.
2451         (cfc_args): New struct.
2452         (simplify_relational_operation): Use them in call to
2453         `do_float_handler'.
2454         
2455         * toplev.c (do_float_handler): New function to wrap calls to
2456         setjmp/set_float_handler.
2457
2458         * toplev.h (do_float_handler): Add extern prototype.
2459
2460         * tree.c (build_real_from_int_cst_1): New static function.
2461         (brfic_args): New struct.
2462         (build_real_from_int_cst): Use them in call to
2463         `do_float_handler'.
2464
2465 Sun Mar 14 01:15:06 1999  Jeff Law  (law@cygnus.com)
2466
2467         * version.c: Bump for snapshot.
2468
2469 Sat Mar 13 17:37:18 1999  Richard Henderson  <rth@cygnus.com>
2470
2471         * haifa-sched.c (sched_analyze_1): Only clear reg_last_uses on a SET.
2472
2473 Sat Mar 13 11:36:16 1999  Richard Earnshaw  (rearnsha@arm.com)
2474
2475         * arm.c (arm_split_constant): Don't try to force a constant to
2476         memory after arm_reorg has run.
2477         (after_arm_reorg): New static variable.
2478         (arm_reorg): Set it.
2479         (output_func_epilogue): Clear it.
2480
2481 Fri Mar 12 20:26:32 1999  David Edelsohn  <edelsohn@gnu.org>
2482
2483         * configure.in ({rs6000,powerpc}-ibm-aix*): Set float_format to none.
2484         * configure: Rebuilt.
2485
2486 Fri Mar 12 20:45:30 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
2487
2488         * unroll.c (loop_iterations): Don't return a final value for EQ
2489         comparison loops.
2490
2491 Fri Mar 12 12:35:01 1999  Jim Wilson  <wilson@cygnus.com>
2492
2493         * reload1.c (calculate_needs_all_insns): When ignore equivalence
2494         setting insn, clear need_elim, need_reload, and need_operand_change.
2495
2496 Fri Mar 12 07:54:43 1999  Bruce Korb  <korb@datadesign.com>
2497
2498         * fixinc/fixinc.*: Some changes from the fixincl-branch
2499         were not applied (??!!).  Corrected.
2500
2501         * fixinc/Makefile.in: Same thing.
2502
2503 Fri Mar 12 00:51:43 1999  Jeffrey A Law  (law@cygnus.com)
2504
2505         * expr.c (expand_expr): Allow a CALL_EXPR with a mode wider than
2506         MAX_INTEGER_COMPUTATION_MODE.
2507
2508 Thu Mar 11 14:00:58 1999  Richard Henderson  <rth@cygnus.com>
2509
2510         * alpha.h (HARD_REGNO_MODE_OK): Disallow QI/HImode in fp regs.
2511         (MODES_TIEABLE_P): Update.
2512
2513         * alpha.md (ev5_e0): Conflict loads and stores.
2514
2515 Thu Mar 11 13:55:52 1999  Richard Henderson  <rth@cygnus.com>
2516
2517         * machmode.h (smallest_mode_for_size): Prototype.
2518         * stor-layout.c (smallest_mode_for_size): Remove static.
2519
2520 Thu Mar 11 21:25:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
2521
2522         * loop.c (strength_reduce): Don't do biv increment -> DEST_REG giv
2523         conversion if we don't know the lifetime.
2524
2525 Thu Mar 11 20:37:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
2526
2527         * reload.1c (delete_address_reloads_1): Check for reloads of
2528         CURRENT_INSN even if it sets DST.
2529
2530 Thu Mar 11 10:29:50 1999  Jason Merrill  <jason@yorick.cygnus.com>
2531
2532         * dwarf2out.c (add_AT_lbl_offset): Rename from add_AT_section_offset.
2533         (print_die, size_of_die, value_format, output_die): Adjust.
2534
2535 Thu Mar 11 10:27:42 1999  Robert Lipe  <robertlipe@usa.net>
2536
2537         * dwarf2out.c (TEXT_SECTION_LABEL, DEBUG_LINE_SECTION_LABEL,
2538         DEBUG_INFO_SECTION_LABEL, ABBREV_SECTION_LABEL,
2539         text_section_label, debug_line_section_label,
2540         debug_info_section_label, abbrev_section_label): New.
2541         (output_compilation_unit_header): Emit label associated
2542         with section instead of section name itself.
2543         (out_pubnames, output_aranges, output_line_info,
2544         dwarf2out_finish): Likewise.
2545         (dwarf2out_init): Build internal label names for sections
2546         from static labels.
2547
2548 Thu Mar 11 17:28:32 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
2549
2550         * sh.md (mulsi3): End mul.l sequence with a no-op move.
2551
2552 Thu Mar 11 08:52:02 1999  Bruce Korb  <korb@datadesign.com>
2553
2554         * Makefile.in: Activated fixinc/mkfixinc.sh.
2555         * configure.in: Activated fixinc/mkfixinc.sh.
2556
2557 Thu Mar 11 01:38:02 1999  Mumit Khan  <khan@xraylith.wisc.edu>
2558
2559         * cppfiles.c (INO_T_EQ): Handle UWIN.
2560
2561         * c-common.c (decl_attributes): Flag unrecognized attribute
2562         functions as warnings instead of as errors.
2563
2564         Support for i386-pc-uwin.
2565         * i386/uwin.h: New file.
2566         * i386/xm-uwin.h: New file.
2567         * i386/t-uwin: New file.
2568         * i386/uwin.asm: New file.
2569         * configure.in (i[3456]86-*-uwin*): Define.
2570         Add Workaround for vfork bug when hosted on uwin.
2571         * configure: Regenerate.
2572
2573         * cccp.c (INO_T_EQ): Undefine. UWIN has inodes.
2574         (absolute_filename): UWIN uses POSIX pathnames only.
2575         * libgcc2.c (getpagesize): Do not define for UWIN.
2576         (mprotect): Likewise.
2577         * protoize.c (dirent.h): Conditionally include.
2578         (fputc): Prototype only if it's not a macro.
2579
2580 Wed Mar 10 02:49:04 1999  Jason Merrill  <jason@yorick.cygnus.com>
2581
2582         * configure.in: Remove init_priority stuff.
2583
2584 1999-03-11  Colin Smith  <colin@wrs.com>
2585
2586         * sdbout.c (plain_type_1): Make boolean types work better with sdb.
2587
2588 Thu Mar 11 00:20:52 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
2589
2590         * gcc.texi: Update bug reporting instructions to match
2591         current ezmlm list reality.
2592
2593 Wed Mar 10 23:11:19 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2594
2595         * gcc.c (print_file_name, print_prog_name, spec_machine,
2596         read_specs, set_spec, lookup_compiler, build_search_list,
2597         putenv_from_prefixes, find_a_file, record_temp_file,
2598         delete_if_ordinary, handle_braces, do_spec, do_spec_1, find_file,
2599         is_directory, validate_switches, used_arg, default_arg,
2600         pfatal_with_name, perror_with_name, pfatal_pexecute, fatal, error,
2601         notice, add_preprocessor_option, add_assembler_option,
2602         add_linker_option, process_command, execute,
2603         unused_prefix_warnings, clear_args, fatal_error,
2604         lang_specific_driver, user_specs, compiler, link_command_spec,
2605         option_map, translate_options, make_temp_file, temp_name,
2606         programname, path_prefix, machine_suffix, just_machine_suffix,
2607         gcc_exec_prefix, standard_exec_prefix, standard_exec_prefix_1,
2608         md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1,
2609         standard_startfile_prefix, standard_startfile_prefix_1,
2610         standard_startfile_prefix_2, tooldir_base_prefix, tooldir_prefix,
2611         multilib_dir, temp_filename, temp_file, command, switchstr,
2612         infile, outfiles, input_filename, input_basename, input_suffix,
2613         check_live_switch, main): Qualify a char* with the `const' keyword.
2614
2615 Wed Mar 10 20:28:29 1999  Jeffrey A Law  (law@cygnus.com)
2616
2617         * lcm.c: New file.
2618         * Makefile.in (OBJS): Add lcm.o.
2619         (lcm.o): Add dependencies.
2620
2621         * gcse.c (compute_pre_local_properties): Delete.
2622         (compute_pre_data): Use compute_local_properties instead of
2623         compute_pre_local_properties.
2624
2625         * gcse.c: More comments, whitespace and similar fixes.
2626         (dump_cuid_table, maybe_set_rd_gen, dump_cprop_data): Delete.
2627         (dump_pre_data, compute_cprop_local_properties): Likewise.
2628         (one_classic_gcse_pass): Lose unused argument.  All callers changed.
2629         (compute_hash_table, compute_expr_hash_table): Likewise.
2630         (compute_set_hash_table, one_pre_gcse_pass, mark_call): Likewise.
2631         (cprop_insn, cprop, one_cprop_pass): Add new argument ALTER_JUMPS.
2632         All callers changed.  Only alter jumps if ALTER_JUMPS is nonzero.
2633         Lose unused argument.
2634         (gcse_main): Always run a cprop pass after finishing global cse.
2635         (compute_local_properties): New function.
2636         (hash_scan_pat, hash_scan_insn): No longer call maybe_set_rd_gen.
2637         (compute_cprop_data): Use compute_local_properties.
2638
2639         * gcse.c: Update various comments.
2640         (current_function_calls_longjmp): Delete declaration.
2641
2642         * gcse.c (run_jump_opt_after_gcse): New variable.
2643         (gcse_main): Returns an integer.
2644         (hash_scan_set): Record initializations from CONST_DOUBLEs too.
2645         (try_replace_reg): Update some comments.
2646         (cprop_insn): Allow propagation into some JUMP_INSNs too.
2647         * rtl.h (gcse_main): Update prototype.
2648         * toplev.c (rest_of_compilation): If gcse_main returns nonzero,
2649         then run a jump optimization pass.
2650         * jump.c (delete_barrier_successors): Delete nop jumps too.
2651
2652 Wed Mar 10 19:04:31 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
2653
2654         * sh.c (fp_arith_reg_operand): Actually test if reg is suitable
2655         for FP arithmetic.  Changed caller.
2656         * sh.md (subsf3, subsf_i): Use fp_arith_reg_operand.
2657
2658 Wed Mar 10 18:56:31 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
2659
2660         * reload1.c (choose_reload_regs): When inheriting from the frame
2661         pointer, don't clobber it.
2662
2663 Wed Mar 10 08:01:52 1999  Bruce Korb  <korb@datadesign.com>
2664
2665         * fixinc/fixinc.*: Resync-ed with the files in this
2666         directory.
2667
2668         * fixinc/mkfixinc.sh: The machine case elements were
2669         out-of-order.  (the ix86-*-linux-gnu* entry needed to
2670         be earlier).
2671
2672 Wed Mar 10 00:01:24 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
2673
2674         * reload1.c (reload_combine_note_store): Fix calculation of number
2675         of affected registers.
2676
2677 Tue Mar  9 15:48:15 1999  Richard Henderson  <rth@cygnus.com>
2678
2679         * flow.c (tidy_fallthru_edge): Be more careful finding the last
2680         BARRIER of a list.  Delete the cc0 setter as well as a cond jump.
2681
2682 Tue Mar  9 15:26:02 1999  Hans-Peter Nilsson  <hp@bitrange.com>
2683
2684         * i386.md (ashlsi3 splitter): Fix typo in last change.
2685
2686 Tue Mar  9 11:35:20 1999  Richard Henderson  <rth@cygnus.com>
2687
2688         * reg-stack.c (stack_reg_life_analysis): Use returnjump_p
2689         instead of an explicit test for RETURN.
2690
2691 Tue Mar  9 09:33:16 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2692
2693         * Makefile.in (toplev.o): Depend on $(BASIC_BLOCK_H).
2694
2695         * toplev.c: Include basic-block.h.
2696
2697 Tue Mar  9 02:08:17 1999  Jeffrey A Law  (law@cygnus.com)
2698
2699         * calls.c (load_register_parameters): New function.
2700         (expand_call): Use it.
2701
2702         * calls.c (expand_call): Slightly reorganize code.
2703
2704         * calls.c (compute_argument_addresses): New function.
2705         (rtx_for_function_call): New function.
2706         (expand_call): Use them.
2707
2708         * i386.md (zero_extendhisi2): Split into an expander and anonymous
2709         pattern.  Add new anonymous pattern for use when optimizing for
2710         size or for the PPro.
2711         (zero_extendqihi2, zero_extendqisi2): Likewise.
2712
2713 Mon Mar  8 23:43:47 1999  Richard Henderson  <rth@cygnus.com>
2714
2715         * haifa-sched.c (sched_analyze_1): Fix last change -- add clobber
2716         dependencies to sets in the non-hard-reg case too.
2717
2718 Mon Mar  8 18:55:21 1999  Marc Espie  <espie@cvs.openbsd.org>
2719
2720         * config/openbsd.h (HANDLE_SYSV_PRAGMA): Define.
2721
2722 Mon Mar  8 16:04:44 1999  Jim Wilson  <wilson@cygnus.com>
2723
2724         * local-alloc.c (combine_regs): Don't combine if we have a hard reg
2725         for which CLASS_LIKELY_SPILLED_P is true.
2726
2727         * unroll.c (loop_iterations): Only call loop_find_equiv_value if we
2728         have a REG or SUBREG.
2729
2730 Mon Mar  8 15:27:42 1999  Jeffrey A Law  (law@cygnus.com)
2731
2732         * i386.md (ashlsi3): Revise comments.  Provide new anonymous
2733         pattern for Pentium and PPro/PII.  Reverse constraints in
2734         generic ashlsi3 anonymous pattern.
2735
2736         * calls.c (initialize_argument_info): Accept a pointer to
2737         CUMULATIVE_ARGS.
2738         (expand_call): Pass the address of CUMULATIVE_ARGS.
2739
2740         * rs6000/xm-sysv4.h (HOST_BITS_PER_LONGLONG): Remove #if 0.
2741
2742         * mn10300.h (CASE_DROPS_THROUGH): Delete.
2743         * mn10200.h (CASE_DROPS_THROUGH): Delete.
2744         * h8300.h (CASE_DROPS_THROUGH): Delete.
2745
2746         * flow.c (merge_blocks_nomove): For HAVE_cc0 targets, make sure
2747         to also delete the cc0 setter when deleting a conditional branch
2748         to the next block.
2749
2750 Mon Mar  8 18:47:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
2751
2752         * regmove.c (copy_src_to_dest): New argument max_old_uid.
2753
2754 Mon Mar  8 08:23:00 1999  Bruce Korb  <korb@datadesign.com>
2755
2756         * ChangeLog: Merged entries from fixincl-branch.
2757
2758 Sun Mar  7 11:48:56 1999  Richard Henderson  <rth@cygnus.com>
2759
2760         * haifa-sched.c (ENCODE_BLOCKAGE): Don't shift unit too far.
2761         (print_exp): Special case addition of a constant.
2762         (print_value) [CONST_INT]: Use HOST_WIDE_INT_PRINT_HEX.
2763
2764 Sun Mar  7 11:21:02 1999  Richard Henderson  <rth@cygnus.com>
2765
2766         * haifa-sched.c (reg_last_clobbers): New.
2767         (reg_pending_clobbers, bb_reg_last_clobbers): New.
2768         (compute_block_backward_dependences): Allocate memory for them.
2769         (schedule_region): Likewise.
2770         (sched_analyze_1): Clobbers don't interfere with one another.
2771         They do interfere with sets ...
2772         (sched_analyze_2): ... and uses.
2773         (sched_analyze): Likewise.
2774         (sched_analyze_insn): Update reg_last_clobbers appropriately.
2775
2776 Sun Mar  7 08:30:37 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2777
2778         * gmon-sol2.c: Include config.h and system.h.  Don't redundantly
2779         include system header files.
2780         (sccsid): Remove.
2781         (moncontrol, monstartup, _mcleanup, internal_mcount): Prototype.
2782         (_mcleanup): Add the `const' keyword to a char*.
2783         (internal_mcount): Declare `etext' as a char[] not a function.
2784         Cast `etext' to char* when calling `monstartup'.
2785
2786         * sparc.c (frame_base_name, save_regs, restore_regs,
2787         build_big_number, sparc_cmodel_string, sparc_align_loops_string,
2788         sparc_align_jumps_string, sparc_align_funcs_string, code_model,
2789         cpu_default, cpu_table, output_function_prologue,
2790         output_function_epilogue, output_return,
2791         sparc_flat_output_function_prologue, ultra_code_names,
2792         sparc_flat_output_function_epilogue): Constify a char*.
2793         (hypersparc_adjust_cost): Add a default case in a switch.
2794
2795         * sparc.h (sparc_cmodel_string, OVERRIDE_OPTIONS,
2796         sparc_cpu_select, sparc_align_loops_string,
2797         sparc_align_jumps_string, sparc_align_funcs_string,
2798         output_return): Constify a char*.
2799
2800         * sparc.md (movdi): Change the comparison of HOST_BITS_PER_WIDE_INT
2801         so that we check "== 32", instead of "!= 64".  Cast a value to
2802         HOST_WIDE_INT when comparing against one.  Hide the declaration
2803         for variable `chain'.
2804
2805 Sun Mar  7 08:05:27 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2806
2807         * system.h (const, inline): Move the stage2 handling of these
2808         keywords-as-macros from here...
2809
2810         * gansidecl.h (const, inline): ...to here.
2811
2812 Sun Mar  7 02:44:15 1999  Richard Henderson  <rth@cygnus.com>
2813
2814         * recog.c (push_operand, pop_operand): VOIDmode needn't match modes.
2815
2816 Sun Mar  7 01:58:47 1999  Richard Henderson  <rth@cygnus.com>
2817
2818         * cse.c (canon_hash): Never reject hard regs in CCmode.
2819
2820 Sun Mar  7 01:15:04 1999  Jeff Law  (law@cygnus.com)
2821
2822         * version.c: Bump for snapshot.
2823
2824 Sat Mar  6 17:18:44 1999  Richard Earnshaw  (rearnsha@arm.com)
2825                           Richard Henderson  <rth@cygnus.com>
2826
2827         * flow.c (make_edges): Handle casesi that jump to default branch.
2828         If CASE_DROPS_THROUGH, force fallthru to block after casesi.
2829
2830 Sat Mar  6 07:49:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2831
2832         * c-aux-info.c (data_type, affix_data_type, gen_decl,
2833         gen_formal_list_for_type, gen_formal_list_for_func_def, gen_type):
2834         Qualify a char* with the `const' keyword.
2835
2836         * c-common.c (declare_hidden_char_array, add_attribute, if_elt,
2837         declare_function_name, decl_attributes, format_char_info,
2838         check_format_info, binary_op_error): Likewise.
2839         
2840         * cexp.y (yyerror, error, pedwarn, warning, token): Likewise.
2841
2842         * gcse.c (dump_hash_table): Likewise.
2843
2844         * integrate.c (function_cannot_inline_p): Likewise.
2845
2846         * optabs.c: Include insn-config.h earlier.
2847         (init_libfuncs, init_integral_libfuncs, init_floating_libfuncs):
2848         Qualify a char* with the `const' keyword.
2849         
2850         * real.c (asctoe24, asctoe53, asctoe64, asctoe113, asctoe,
2851         asctoeg, mtherr, ereal_atof): Likewise.
2852
2853         * real.h (ereal_atof): Likewise.
2854
2855         * sbitmap.c (dump_sbitmap_vector): Likewise.
2856
2857         * sbitmap.h (dump_sbitmap_vector): Likewise.
2858
2859         * stmt.c (nesting, n_occurrences, expand_start_case): Likewise.
2860
2861         * toplev.c (rest_of_compilation): Likewise.
2862
2863         * tree.h (function_cannot_inline_p, expand_start_case): Likewise.
2864         
2865 Fri Mar  5 23:16:42 1999  David Edelsohn  <edelsohn@gnu.org>
2866
2867         * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Add 64-bit support and do
2868         not overwrite AIX link register save area.
2869
2870 Fri Mar  5 23:08:01 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
2871
2872         * reload.c (find_reloads_subreg_address): Actually create the USE
2873         for the register, not the new memory location.
2874
2875 Fri Mar  5 21:41:07 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
2876
2877         * reload1.c (emit_reload_insns): If pseudo that can't be replaced
2878         with its equivalent constant, fall back to reload_in.
2879
2880 Fri Mar  5 13:20:39 1999  Richard Henderson  <rth@cygnus.com>
2881
2882         * Makefile.in: Delete .flow2 debugging files.
2883
2884 Fri Mar  5 11:36:11 1999  Nick Clifton  <nickc@cygnus.com>
2885
2886         * config/arm/arm.c (arm_override_options): Change default target
2887         cpu selection so that enabling TARGET_APCS_32 does not override
2888         default target CPU.
2889
2890 Fri Mar  5 19:26:23 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
2891
2892         * sh.h (SLOW_BYTE_ACCESS): Define to 1.
2893         (BOOL_TYPE_SIZE): Define.
2894
2895 Fri Mar  5 02:14:54 1999  John Wehle  (john@feith.com)
2896
2897         * function.c (assign_stack_temp_for_type): Abort
2898         if mode == Blkmode and align is less than
2899         BIGGEST_ALIGNMENT / BITS_PER_UNIT.
2900         (assign_stack_temp_for_type): Round the size parameter
2901         passed to assign_stack_local instead of size itself.
2902
2903 Thu Mar  4 15:00:35 1999  Richard Henderson  <rth@cygnus.com>
2904
2905         * flow.c (delete_unreachable_blocks): Mark blocks as they
2906         are put on to the worklist, not as they are taken off.
2907
2908 Thu Mar  4 00:05:44 1999  Jeffrey A Law  (law@cygnus.com)
2909
2910         * function.c (current_function_has_computed_jump): Remove duplicate
2911         definition.
2912
2913 Wed Mar  3 19:09:11 1999  Jim Wilson  <wilson@cygnus.com>
2914
2915         * m68k/m68020-elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Undef.
2916         (STARTFILE_SPEC, ENDFILE_SPEC): Define to empty string.
2917
2918         * sparc/elf.h (MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL,
2919         MODDI3_LIBCALL, UMODDI3_LIBCALL, STDC_0_IN_SYSTEM_HEADERS): Undef.
2920         (INIT_SUBTARGET_OPTABS): Define to empty.       
2921
2922 Wed Mar  3 00:00:37 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
2923
2924         * sh.c (force_into): New function.
2925         (expand_block_move): Use it.
2926
2927 Tue Mar  2 10:39:43 1999  Nick Clifton  <nickc@cygnus.com>
2928
2929         * cccp.c (struct default_include): Add 'included' field.
2930         (main): Set 'included' field when a default include directory
2931         is added to the chain.  If -v is specified list all default
2932         include directories which do not get appended to the chain.
2933
2934 Tue Mar  2 09:24:10 1999  Nick Clifton  <nickc@cygnus.com>
2935
2936         * configure.in (gxx_include_dir): Rename to
2937         gcc_gxx_include_dir in order to prevent it being overridden by
2938         a top level Makefile.
2939         (gcc_tooldir): If $exec_prefix != $prefix then use the
2940         difference between the two as the basis for gcc_tooldir.
2941
2942         * configure: Rebuild.
2943
2944         * Makefile.in: Rename gxx_include_dir to gcc_gxx_include_dir.
2945
2946 Tue Mar  2 16:45:31 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
2947
2948         * unroll.c (copy_loop_body): Don't make extra copies of
2949         NOTE_INSN_LOOP_CONT notes.
2950
2951 Tue Mar  2 07:44:56 1999  Mark Mitchell  <mark@markmitchell.com>
2952
2953         * tree.c (save_tree_status): Don't treat functions with no context
2954         as nested.
2955
2956 Tue Mar  2 09:37:05 1999  Robert Lipe  <robertlipe@usa.net>
2957
2958         * Makefile.in (MAKEINFO): Use makeinfo built from sibling
2959         tree when available.
2960
2961 Tue Mar  2 10:12:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2962
2963         * alpha.c (alpha_cpu_name, alpha_cpu_string, alpha_tp_string,
2964         alpha_fprm_string, alpha_fptm_string, alpha_mlat_string,
2965         current_function_file): Add the `const' keyword.
2966         (normal_memory_operand): Mark parameter `mode' with
2967         ATTRIBUTE_UNUSED.
2968         (alpha_expand_unaligned_load): Add a default case to a switch.
2969
2970         * alpha.h (alpha_cpu_string, alpha_fprm_string, alpha_fptm_string,
2971         alpha_tp_string, alpha_mlat_string): Add the `const' keyword.
2972         (normal_memory_operand): Add prototype.
2973         
2974         * alpha.md: Cast an expression to `unsigned HOST_WIDE_INT' when
2975         comparing against one.
2976
2977 Tue Mar  2 10:00:21 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2978
2979         * mips.c (abort_with_insn): Make function static, add a prototype,
2980         constify 2nd parameter and mark with ATTRIBUTE_NORETURN.
2981         (current_function_file, mips_cpu_string, mips_isa_string,
2982         mips_abi_string, mips_no_mips16_string, mips_entry_string,
2983         mips_move_1word, mips_move_2words, output_block_move, load_store,
2984         override_options, make_temp_file, mips16_fp_args): Qualify a char*
2985         with the `const' keyword.
2986
2987         * mips.h (current_function_file, mips_cpu_string, mips_isa_string,
2988         mips_abi_string, mips_entry_string, mips_no_mips16_string,
2989         mips_move_1word, mips_move_2words, output_block_move): Likewise.
2990         (abort_with_insn): Remove extern prototype.
2991
2992         * mips.md: Qualify a char* with the `const' keyword.
2993         Remove many unused variables named `label'.
2994
2995 Tue Mar  2 01:27:52 1999  H.J. Lu  (hjl@gnu.org)
2996
2997         * Makefile.in (cpp_install_dir, INSTALL_CPP, UNINSTALL_CPP): New
2998         variables.
2999         (install-cpp, uninstall-cpp): New targets.
3000         (install-normal): Depend on $(INSTALL_CPP).
3001         (uninstall): Depend on $(UNINSTALL_CPP).
3002         * configure.in (cpp_install_dir): New, substitute.
3003         (tmake_file): Added t-install-cpp for --enable-cpp.
3004         * configure: Rebuilt.
3005         * cpp.sh: New cpp script.
3006         * config/t-install-cpp: New target fragment.
3007
3008 Tue Mar  2 01:40:01 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3009                           Jeffrey A Law  (law@cygnus.com)
3010
3011         * cse.c (fold_rtx): Update comments for (const (minus (label) (label)))
3012         case.
3013         (cse_insn): Avoid creating a bogus REG_EQUAL note for
3014         (const (minus (label) (label)))
3015         (record_jump_cond): Fix mismatched paren in comment.
3016
3017 Tue Mar  2 01:07:12 1999  Dan Nicolaescu  <dann@godzilla.ics.uci.edu>
3018
3019         * final.c (end_final): There are 11 words in the "main header"
3020         structure, not 10.
3021
3022 Tue Mar  2 00:09:18 1999  Marc Espie  <espie@cvs.openbsd.org>
3023
3024         * extend.texi: Reference __extension__ in the index.
3025
3026 Mon Mar  1 19:09:32 1999  Jim Wilson  <wilson@cygnus.com>
3027
3028         * Makefile.in (CROSS_FLOAT_H): Delete.
3029         (FLOAT_H): Use float_h_file.
3030         (rest.cross, stmp-int-hdrs): Delete gfloat.h dependency.
3031         (gfloat.h): Delete.
3032         (stmp-int-hdrs): Use FLOAT_H instead of gfloat.h.
3033         (mostlyclean): Delete gloat.h reference.
3034         (install-cross-rest, install-float-h-cross, stmp-headers): Update
3035         comments.
3036         * configure.in (sparcv9-*-solaris2*): Set float_format to none.
3037         (sparc-*-solaris2*): Set float_format to none for 2.5 and higher.
3038         (float_h_file): Set from float_format.  Substitute into Makefile.in.
3039         (float_format): No longer substitute into Makefile.in.  
3040         * cross-make (FLOAT_H): Delete.
3041         * config/mips/t-cross64 (FLOAT_H): Delete.
3042         * configure: Rebuilt.
3043         
3044 Mon Mar  1 16:36:18 1999  Jeffrey A Law  (law@cygnus.com)
3045
3046         * mips.md (div_trap_normal, div_trap_mips16): Require the dependent
3047         insn to be an INSN before looking at its pattern.
3048
3049 Mon Mar  1 15:03:51 1999  Jim Wilson  <wilson@cygnus.com>
3050
3051         * config/m68k/lb1sf68.asm (udivsi3): Change jmi to jcs.  Fix comments.
3052         * config/m68k/m68k.h (LEGITIMATE_INDEX_REG_P): Reject SIGN_EXTEND of
3053         HImode reg when TARGET_5200.
3054
3055 Mon Mar  1 21:44:30 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
3056
3057         From Toshiyasu Morita:
3058         * sh.h (CACHE_LOG): SH2 has cache, too.
3059
3060 Mon Mar  1 14:23:36 1999  Catherine Moore  <clm@cygnus.com>
3061
3062         * toplev.c (compile_file): Disable -ffunction-sections and
3063         debugging warning if the object format is elf.
3064
3065 Mon Mar  1 11:46:25 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
3066
3067         * config/h8300/h8300.c (print_operand): Use 16 bit addressing
3068         when the data in 8-bit area and can not be addressed by 8-bit.
3069
3070 Sun Feb 28 16:40:00 1999  Richard Henderson  <rth@cygnus.com>
3071
3072         * flow.c (create_basic_block): Disregard integrated bb notes.
3073
3074 Sun Feb 28 15:57:06 1999  Richard Henderson  <rth@cygnus.com>
3075
3076         * sparc.md (blockage, nonlocal_goto_receiver): Set length to 0.
3077
3078 Sun Feb 28 14:47:53 1999  Arturo Montes  <mitosys@colomsat.com.co>
3079
3080         * config/i386/t-sco5gas (crti.o): New target.
3081
3082 Sun Feb 28 15:10:17 1999  David Edelsohn  <edelsohn@gnu.org>
3083
3084         * rs6000.md (elf_high, movsi_got, *movsi_got_internal,
3085         *movsi_got_internal_mem, GOT splitter, movdf_hardfloat32,
3086         movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64,
3087         load_multiple, allocate_stack, call_indirect_aix32,
3088         call_indirect_aix64, call_value_indirect_aix32,
3089         call_value_indirect_aix64, call_indirect_nt,
3090         call_value_indirect_nt): Use gpc_reg_operand instead of
3091         register_operand.
3092
3093 Sun Feb 28 15:10:17 1999  Michael Meissner  <meissner@cygnus.com>
3094
3095         * rs6000.md (one_cmplsi2, andsi3, iorsi3, xorsi3, *eqvsi3,
3096         *andcsi3, *iorcsi3, *nandsi3, *norsi3): Add alternatives to use CR
3097         other than cr0.
3098         * rs6000.c (and{,64}_operand): If the user did -ffixed-cr0, don't
3099         allow andi. or andis. which always set cr0.
3100
3101 Sun Feb 28 01:15:04 1999  Jeff Law  (law@cygnus.com)
3102
3103         * version.c: Bump for snapshot.
3104
3105 Sun Feb 28 02:00:38 1999  Jeffrey A Law  (law@cygnus.com)
3106
3107         * invoke.texi: Update information for PA scheduling.
3108
3109 Sat Feb 27 23:21:47 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
3110                           Mike Stump  <mrs@wrs.com>
3111
3112         * pa.c (override_options): Change default to 7100LC.
3113
3114         * pa.h (REG_ALLOC_ORDER): Change order to allocate left half of
3115         float regs before right half of float regs.
3116
3117 Sat Feb 27 22:48:38 1999  H.J. Lu  (hjl@gnu.org)
3118                           Jeffrey A Law  (law@cygnus.com)
3119
3120         * frame.h: Update some comments.
3121         * defaults.h (TARGET_ATTRIBUTE_WEAK): Define.
3122         * crtstuff.c (__register_frame_info, __deregister_frame_info): Declare
3123         using TARGET_WEAK_ATTRIBUTE.
3124         (__do_global_dtors_aux): Check if __deregister_frame_info is
3125         zero before calling it.
3126         (__do_global_dtors): Likewise.
3127         (frame_dummy): Check if __register_frame_info is zero before
3128         calling it.
3129         (__frame_dummy): Likewise.
3130
3131 Sat Feb 27 19:18:24 1999  Jeffrey A Law  (law@cygnus.com)
3132
3133         * SERVICE: Update from the FSF.
3134
3135 Sat Feb 27 14:31:22 1999  Arturo Montes  <mitosys@colomsat.com.co>
3136
3137         * config/i386/t-sco5 (crti.o): New target.
3138         * config/i386/sco5.h (STARTFILE_SPEC): Include crti.o when
3139         linking -shared.
3140         * configure.in (i[34567]86-*-sco3.2v5*): Add crti.o.
3141
3142 Sat Feb 27 01:12:40 1999  Jeffrey A Law  (law@cygnus.com)
3143
3144         * md.texi (prologue,epilogue): Document named patterns.
3145
3146 Fri Feb 26 19:31:25 1999  Dave Love  <fx@gnu.org>
3147
3148         * md.texi, invoke.texi: Fix unterminated @xrefs.
3149
3150 Fri Feb 26 15:33:45 1999  Richard Henderson  <rth@cygnus.com>
3151
3152         * genattrtab.c (simplify_knowing): Fix uninitialized read
3153         in Feb 21 change.
3154
3155         * genextract.c (main): Clear recog_operands before extracting.
3156
3157 Fri Feb 26 02:24:57 1999  Jeffrey A Law  (law@cygnus.com)
3158
3159         * c-pragma.c (add_weak); Delete.  Moved into...
3160         * varasm.c (add_weak): New external function.
3161         (declare_weak): If HANDLE_PRAGMA_WEAK, then add the function to
3162         the list of weak functions.
3163         * c-pragma (add_weak): Declare.
3164
3165 Thu Feb 25 23:43:59 1999  Richard Henderson  <rth@cygnus.com>
3166
3167         Flow rewrite to use basic block structures and edge lists:
3168
3169         * basic-block.h (x_basic_block_head, x_basic_block_end): Kill.
3170         (basic_block_computed_jump_target, basic_block_live_at_start): Kill.
3171         (struct edge_def): New.
3172         (struct basic_block_def): New.
3173         (basic_block_info): New.
3174         (BLOCK_HEAD, BLOCK_END): Update.
3175         (ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): New.
3176         (uid_block_number): Kill.
3177         (basic_block_for_insn, BLOCK_FOR_INSN): New.
3178         (BLOCK_NUM): Update.
3179         * flow.c (XNMALLOC): Kill.
3180         (max_uid_for_flow): Kill.
3181         (uid_block_number): Kill.
3182         (uid_volatile): Turn into a bitmap.
3183         (SET_INSN_VOLATILE): New.
3184         (basic_block_info): New.
3185         (entry_exit_blocks): New.
3186         (x_basic_block_head, x_basic_block_end): Kill.
3187         (basic_block_computed_jump_target, basic_block_live_at_start): Kill.
3188         (flow_int_list_blocks, basic_block_succ, basic_block_pred): Kill.
3189         (basic_block_loop_depth): Kill.
3190         (basic_block_for_insn): New.
3191         (find_basic_blocks): Split out initial block counting into
3192         count_basic_blocks.  Call functions split out of find_basic_blocks_1.
3193         (count_basic_blocks): New.
3194         (find_basic_blocks_1): Split out edge recognition, unreachable
3195         block deletion.
3196         (create_basic_block): New.
3197         (compute_bb_for_insn): New.
3198         (clear_edges): New.
3199         (free_bb_memory): Kill.
3200         (add_edge, add_edge_to_label): Kill.
3201         (mark_label_ref): Kill.
3202         (make_edges): Rewrite to use edge lists.
3203         (make_edge, make_label_edge): New.
3204         (mark_critical_edges): New.
3205         (split_edge, insert_insn_on_edge): New.
3206         (commit_one_edge_insertion, commit_edge_insertions): New.
3207         (delete_unreachable_blocks): Rewrite to use edge lists.
3208         Split out EH region manipulation into delete_eh_regions.
3209         Call tidy_fallthru_edge and merge_blocks.
3210         (delete_eh_regions): New.
3211         (delete_note_p): New.
3212         (delete_insn_chain): New.
3213         (delete_block): Split out code into delete_insn_chain and
3214         tidy_fallthru_edge.  Update edge lists.
3215         (expunge_block): New.
3216         (flow_delete_insn): New?
3217         (can_delete_label_p): New?
3218         (merge_blocks_nomove, merge_blocks): New.
3219         (tidy_fallthru_edge): New.
3220         (calculate_loop_depth): New.
3221         (life_analysis): Allocate and free uid_volatile.
3222         (free_basic_block_vars): Update for new structures.
3223         (record_volatile_insns): Use SET_INSN_VOLATILE.
3224         (mark_regs_live_at_end): Tidy EXIT_IGNORE_STACK usage.
3225         (mark_used_regs): Likewise.
3226         (life_analysis_1): Use bb global_live_at_start, global_live_at_end,
3227         local_set regsets.  Use bb->aux to store new_live_at_end.  Begin
3228         life propagation from EXIT_BLOCK rather than last block.  Clear
3229         regs_ever_live after mark_regs_live_at_end.
3230         (allocate_for_life_analysis): Update for new structures.
3231         (propagate_block): Split out loop depth calculation to
3232         calculate_loop_depth.
3233         (regno_uninitialized): Use bb->global_live_at_start.
3234         (regno_clobbered_at_setjmp): Likewise.
3235         (dump_bb_data): Likewise.
3236         (find_auto_inc): Use BLOCK_FOR_INSN instead of BLOCK_NUM.
3237         (dump_flow_info): Update for new structures.
3238         (dump_edge_info): New.
3239         (print_rtl_with_bb): Update for new structures.
3240         (compute_preds_succs): Do no work -- convert edge lists.
3241         (set_block_for_insn): From corpse of old set_block_num.
3242         (set_block_num): Call it.
3243
3244         * rtl.c (note_insn_name): Add NOTE_INSN_BASIC_BLOCK.
3245         * rtl.h (rtunion_def): Add bb entry.
3246         (NOTE_BASIC_BLOCK): New.
3247         (NOTE_INSN_BASIC_BLOCK): New.
3248
3249         * varray.h (varray_data_tag): Add bb entry.
3250         (VARRAY_BB_INIT, VARRAY_BB): New.
3251
3252         * emit-rtl.c (emit_label_before): New.
3253
3254         * except.c (expand_rethrow): Delete insns following the call to
3255         rethrow.  Put the REG_EH_RETHROW on the call.
3256
3257         * jump.c (returnjump_p, returnjump_p_1): New.
3258
3259         * expr.h (nonlocal_goto_handler_labels): New declaration.
3260         * function.c (nonlocal_goto_handler_labels): Define it.
3261         (push_function_context_to): Save it.
3262         (pop_function_context_from): Restore it.
3263         (init_function_start): Clear it.
3264         (nonlocal_label_rtx_list): Kill.
3265         * function.h (struct function): Add storage space for it.
3266         * stmt.c (expand_nl_handler_label): Return the new label.
3267         (expand_nl_goto_receivers): Collect a list of them in
3268         nonlocal_goto_handler_labels.
3269
3270         * Makefile.in (print-rtl.o): Depend on basic-block.h.
3271         (flow.o): Depend on insn-flags.h.
3272
3273         * function.c (thread_prologue_and_epilogue_insns): Do not
3274         half-heartedly update bb structures.
3275
3276         * toplev.c: Add flow2 dump as -dw.
3277         (rest_of_compilation): Finish .greg before flow2.
3278
3279         * graph.c (draw_edge): Handle class 3.
3280         (print_rtl_graph_with_bb): Make abnormal edges red class 2,
3281         change non-fall-thru but adjacent to green class 3.  Update
3282         to use new structures.
3283
3284         * print-rtl.c (print_rtx): Handle NOTE_INSN_BASIC_BLOCK.
3285
3286         * reg-stack.c (BLOCK_NUM): Convert to function.  Abort if
3287         block_number is -1.
3288         (reg_to_stack): Initialize block_num to -1.
3289
3290         * combine.c (set_nonzero_bits_and_sign_copies): Update reference
3291         to basic_block_live_at_start to bb->global_live_at_start.
3292         (try_combine): Likewise.
3293         (reg_dead_at_p): Likewise.
3294         * global.c (global_conflicts): Likewise.
3295         Handle stack regs on all abnormal edges, not just computed jumps.
3296         (mark_elimination): Update reference to basic_block_live_at_start.
3297         (build_insn_chain): Likewise.
3298         * haifa-sched.c (haifa_edge): Rename from edge for conflict.
3299         (is_cfg_nonregular): Look at nonlocal_goto_handler_labels instead
3300         of nonlocal_label_rtx_list.
3301         (check_live_1): Update reference to basic_block_live_at_start.
3302         (update_live_1): Likewise.
3303         (find_pre_sched_live): Likewise.
3304         (find_post_sched_live): Likewise.
3305         * local-alloc.c (update_equiv_regs): Likewise.
3306         (block_alloc): Likewise.
3307         * reload1.c (reload, reload_combine): Likewise.
3308         * regmove.c (mark_flags_life_zones): Likewise.
3309         * resource.c (mark_target_live_regs): Likewise.
3310         * sched.c (schedule_block): Likewise.
3311
3312         * regclass.c (regset_release_memory): Don't free
3313         basic_block_live_at_start.
3314
3315         * unroll.c (copy_loop_body): Don't duplicate NOTE_INSN_BASIC_BLOCK.
3316
3317 Thu Feb 25 21:32:34 1999  Jason Merrill  <jason@yorick.cygnus.com>
3318
3319         * fixinc.wrap: Also handle struct queue in sys/stream.h.
3320         * fixinc.svr4: Likewise.
3321
3322         * dwarf2out.c (scope_die_for): Set scope_die to comp_unit_die
3323         rather than asserting it.
3324
3325 Thu Feb 25 23:33:06 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3326
3327         * cppexp.c (left_shift, right_shift, parse_charconst, COMPARE,
3328         cpp_parse_expr): Replace uses of long/HOST_BITS_PER_LONG with
3329         HOST_WIDEST_INT/HOST_BITS_PER_WIDEST_INT.
3330
3331         * Makefile.in (cppmain.o, cpplib.o, cpphash.o, cppalloc.o,
3332         cpperror.o, cppexp.o, cppfiles.o, cppinit.o, fix-header.o,
3333         scan-decls.o): Don't depend on machmode.h.
3334         
3335         * cppexp.c: Don't define CHAR_BIT or HOST_BITS_PER_WIDE_INT anymore.
3336         Replace all instances of HOST_WIDE_INT with HOST_WIDEST_INT.
3337         
3338         * cppfiles.c: Likewise.
3339
3340         * cpplib.c: Likewise.
3341         
3342         * cpplib.h: Likewise.  Also don't include machmode.h anymore.
3343
3344 Thu Feb 25 18:46:26 1999  Richard Henderson  <rth@cygnus.com>
3345
3346         * gcc.c (default_compilers): Define __FAST_MATH__ when appropriate.
3347         * objc/lang-specs.h: Likewise.
3348
3349 Thu Feb 25 16:19:43 1999  Jeffrey A Law  (law@cygnus.com)
3350
3351         * pa.md (call patterns): Lose unused argument to output_call.
3352
3353         * print-rtl.c (print_rtl): Print /j and /c for the jump/call flags.
3354
3355 1999-02-25  Zack Weinberg  <zack@rabi.columbia.edu>
3356
3357         * cpphash.c (install): Rename to cpp_install, add cpp_reader*
3358         first argument.  All callers changed.
3359         (hashtab): Removed.
3360         (cpp_lookup, cpp_install): Change all refs to hashtab to
3361         pfile->hashtab.
3362         (cpp_hash_cleanup): Removed.
3363         * cpphash.h: Adjust prototypes.
3364         * cpplib.h (struct cpp_reader): Add hashtab pointer.
3365         * cppinit.c (cpp_reader_init): Also allocate space for the
3366         hashtab.
3367         (cpp_cleanup): Delete all macros and free the hashtab.
3368
3369 Thu Feb 25 21:52:54 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
3370
3371         * sh.h (PASS_IN_REG_P): For TARGET_HITACHI, don't pass structures
3372         in registers.
3373
3374         * expr.h (PRETEND_OUTGOING_VARARGS_NAMED): Provide default definition.
3375         * function.c (assign_parms): Honour PRETEND_OUTGOING_VARARGS_NAMED.
3376         * calls.c (expand_call): Likewise.
3377
3378         * sh.c (sh_expand_prologue): For TARGET_HITACHI, don't push varargs /
3379         stdarg arguments.
3380         * sh.h (CPP_SPEC): Add -D__HITACHI__ for -mhitachi.
3381         (FUNCTION_ARG): For TARGET_HITACHI, don't pass unnamed
3382         arguments in registers.
3383         (PRETEND_OUTGOING_VARARGS_NAMED): Define.
3384         * va-sh.h (entire file): If __HITACHI__ is defined, use sh[123]
3385         flavor varargs.
3386
3387 Thu Feb 25 14:32:40 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3388
3389         * cse.c (dump_class): Revert last change and make the prototype
3390         extern.
3391
3392 Thu Feb 25 19:13:42 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
3393
3394         * rtl.h (insn_first_p): Don't declare.
3395         * rtlanal.c (insn_first_p): Delete.
3396         * loop.c (loop_insn_first_p): Faster implementation.
3397
3398 Thu Feb 25 10:44:35 1999  Richard Earnshaw  (rearnsha@arm.com)
3399
3400         * arm.h (TARGET_SWITCHES): Delete deprecated switches -m[236].
3401         (TARGET_3, TARGET_6): Delete.
3402         (ARM_FLAG_ARM[36]): Delete.
3403         (CPP_CPU_ARCH_SPEC): No need to handle -m[236] any more.
3404         (CC1_SPEC): Don't expand -m[236] into new equivalents.
3405         (CPP_APCS_PC_SPEC): No need to handle -m[236] any more.
3406         * arm.c (arm_override_options): Delete warnings about deprecated
3407         options -m[236].
3408
3409         * arm.c (arm_finalize_pic): Build the label into the special pic
3410         adjustment insn instead of issuing it separately.
3411         * arm.md (pic_add_dot_plus_eight): Rework to contain the label
3412         that is needed.
3413
3414         * arm.md (*zeroextractqi_compare0_scratch): Delete.
3415         (*ne_zeroextractsi): New pattern.
3416
3417 Thu Feb 25 18:40:06 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
3418
3419         * stmt.c (expand_end_loop): Grok code emitted by
3420         expand_exit_loop_if_false.
3421
3422 Thu Feb 25 10:17:32 1999  Nick Clifton  <nickc@cygnus.com>
3423
3424         * config/arm/arm.c (return_in_memory): Float fields in unions
3425         force a return in memory.
3426         (load_multiple_sequence): Add comment explaining why two LDR
3427         instructions can be better than an LDMIA instruction.
3428
3429         * config/arm/arm.h (TARGET_SHORT_BY_BYTES): Add comment
3430         describing the real meaning of this option.
3431         (FIXED_REGISTERS): Default r10 to not-fixed.
3432         (CALL_USED_REGISTERS): Default r10 to not-call-used.
3433         (SUBTARGET_CONDITIONAL_REGISTER_USAGE): If not defined, define
3434         as empty.
3435         (CONDITIONAL_REGISTER_USAGE): Fix r10 if TARGET_APCS_STACK is
3436         true.  Invoke SUBTARGET_CONDITIONAL_REGISTER_USAGE after
3437         performing other checks.
3438
3439         * config/arm/arm.md (zero_extendhisi2): Undo previous change.
3440         (extendhisi2): Undo previous change.
3441         Also add comments describing why TARGET_SHORT_BY_BYTES can be
3442         ignored for armv4(t) architectures.
3443
3444         * config/arm/riscix.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE):
3445         Define to fix r10.
3446
3447         * config/arm/riscix1-1.h
3448         (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define to fix r10.
3449
3450 Thu Feb 25 12:09:04 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3451
3452         * cse.c (dump_class): Make the function definition static to match
3453         the prototype.
3454
3455 Wed Feb 24 17:47:28 1999  Jim Wilson  <wilson@cygnus.com>
3456
3457         * dbxout.c (gstab.h): Use if CROSS_COMPILE.
3458
3459         * dwarf2out.c (add_location_or_const_value_attribute): Add big
3460         endian correction for parms passed in regs but living on the stack.
3461
3462 Wed Feb 24 14:03:54 1999  Jeffrey A Law  (law@cygnus.com)
3463
3464         * calls.c (initialize_argument_information): New function extracted
3465         from expand_call.
3466         (expand_call): Use initialize_argument_information.  Remove variables
3467         which are no longer used due to cleanups.
3468
3469         * calls.c (compute_argument_block_size): New function, extracted from
3470         expand_calls.
3471         (expand_calls): Use compute_argument_block_size.  Delete
3472         original_args_size, use unadjusted_args_size instead.
3473
3474         * calls.c (precompute_arguments): New function, extracted from
3475         expand_call.
3476         (expand_call): Use precompute_arguments.
3477
3478         * calls.c (finalize_must_preallocate): New function, extracted from
3479         expand_call.
3480         (expand_call): Use finalize_must_preallocate.
3481
3482         * calls.c (store_one_arg): Mark "variable_size" as possibly unused.
3483
3484         * regclass.c (record_reg_classes, case 'p'): Set classes appropriately.
3485         An alternative always fails if it needs a pseudo and no suitable
3486         register class can be found.
3487
3488 Wed Feb 24 19:47:56 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
3489
3490         * loop.h (loop_insn_first_p): Declare.
3491         * loop.c (loop_insn_first_p): No longer static.
3492         * unroll.c (iteration_info): Fix comparison to
3493         reg_iv_type->num_elements.
3494         Before accessing reg_biv_class, check index against
3495         max_reg_before_loop.
3496         Fix and enable code for giv iterators.
3497         (loop_iterations): Compare with reg_iv_type->num_elements instead
3498         of with max_reg_before_loop.
3499
3500 Wed Feb 24 19:17:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
3501
3502         * unroll.c (unroll_loop): Avoid out-of-bounds index for local_regno.
3503
3504 Wed Feb 24 11:26:41 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
3505
3506         * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Don't use
3507         PIC_OFFSET_TABLE_REGNUM for register allocation when -fPIC.
3508
3509 Tue Feb 23 16:24:19 1999  Marc Lehmann  <pcg@goof.com>
3510
3511         * config/i386/i386.md: Fix typo.
3512
3513 Mon Feb 22 19:36:33 1999  Andrew Cagney  <cagney@b1.cygnus.com>
3514
3515         * config/mips/mips.c (mips_debugger_offset): When TARGET_MIPS16 &&
3516         frame_pointer_needed adjust frame size.
3517         (function_prologue): Don't MIPS16 .mask GPOFFSET. Already adjusted
3518         in .frame pseudo-op.
3519         Frm Jim Wilson  <wilson@cygnus.com>:
3520         * mips.c (function_prologue): Adjust frame size in .frame pseudo-op
3521         when TARGET_MIPS16 && frame_pointer_needed.
3522
3523 1999-02-22  Nick Clifton  <nickc@cygnus.com>
3524
3525         * config/arm/arm.h: Add TARGET_CPU_strongarm1100.
3526         Add -mno-sched command line switch to disable scheduling of
3527         instructions into the function's prologue.
3528         (enum processor_type): Remove.
3529         (TARGET_OPTIONS): Add "fpe=" option to match documentation.
3530         (struct arm_cpu_select): Replace 'set_tune_p' and 'set_arch_p'
3531         fields with 'processors' field.
3532         (CONDITIONAL_REGISTER_USAGE): Allow r10 to be used if stack
3533         checking is not enabled.
3534         (RETURN_IN_MEMORY): Always call arm_return_in_memory.
3535         
3536         * config/arm/arm.c (arm_cpu): Remove.
3537         (tune_flags): Remove.
3538         (arm_is_strong): New variable: true iff the target processor is a
3539         StrongARM.
3540         (arm_is_6_or_7): New variable: true iff the target processor is an
3541         ARM6 or and ARM7.
3542         (arm_select): Fields reorganised.
3543         (struct processors): processor_type field removed.
3544         (all_procs): Remove.
3545         (all_cores): New array: Definitions of all known ARM cpu cores.
3546         (all_architectures): New array: Definitions of all known ARM
3547         architectures.
3548         (streq): New macro.
3549         (FL_SCHED): New processor flag: processor required load
3550         scheduling.
3551         (FL_STRONG): New processor flag: processor is a StrongARM.
3552         (arm_override_options): Reorganized to make code clearer.
3553         (use_return_insn): Test for "not (TARGET_APCS and
3554         frame_pointer_needed)".
3555         (arm_return_in_memory): Improve handling of structures.
3556         
3557         * config/arm/arm.md: Remove "cpu" attribute.  Replace with
3558         "is_strongarm" and "is_arm_6_or_7" attributes.
3559         (zero_extendhisi2): Check for TARGET_SHORT_BY_BYTES before
3560         arm_arch4.
3561         (extendhisi2): Check for TARGET_SHORT_BY_BYTES before arm_arch4.
3562
3563         * invoke.texi (ARM Options): Document -mtune= and -mfp= options.
3564         
3565 1999-02-22  Philip Blundell  <philb@gnu.org>
3566
3567         * config/arm/linux-gas.h (INITIALIZE_TRAMPOLINE): Replace default
3568         definition with one including cache synchronization.
3569         (CLEAR_INSN_CACHE): Correct syscall number and enable definition.
3570         Move definition of inhibit_libc to...
3571         * config/arm/xm-linux.h: ... here.
3572
3573         * config/arm/t-linux: Disable multilib configurations since the
3574         only effect for most people is to cause builds to fail.
3575         
3576         * config/arm/elf.h (ASM_FILE_START): Add .file directive.
3577         (ASM_SPEC): Translate -mapcs-float to -mfloat for the assembler.
3578
3579         * config/arm/linux-elf.h (DEFAULT_VTABLE_THUNKS): Define.
3580         (HANDLE_SYSV_PRAGMA): Likewise.
3581         (LIB_SPEC): Copy definition from generic Linux files.
3582         (LIBGCC_SPEC): Include -lfloat if -msoft-float was given.
3583         (FP_DEFAULT): Set to SOFT3 on 32-bit targets.
3584         (DWARF2_DEBUGGING_INFO): Define.
3585         (PREFERRED_DEBUGGING_TYPE): Define as DBX_DEBUG.
3586
3587 Mon Feb 22 16:54:18 1999  Andrew MacLeod  <amacleod@cygnus.com>
3588
3589         * loop.c (libcall_other_regs): Make extern.
3590         * rtl.h (find_last_value): Add parameter to prototype.
3591         (libcall_other_reg): Add extern declaration.
3592         * rtlanal.c (find_last_value): Add another parameter to allow
3593         a definition using a hardware register to be found as well.
3594
3595 Mon Feb 22 13:33:47 1999  Mark Mitchell  <mark@markmitchell.com>
3596
3597         * cse.c (dump_class): New function.
3598         (invalidate_memory): Fix typo in comment.
3599         * function.c (temp_slot): Add an alias set field.
3600         (assign_stack_temp): Only reuse slots if they will have the
3601         same alias set as before.
3602         (combine_temp_slots): Don't combine if -fstrict-aliasing;
3603         that's unsafe.
3604         * rtl.c (copy_rtx): Copy all the flags (in particular,
3605         MEM_SCALAR_P).
3606
3607 Mon Feb 22 14:13:23 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
3608
3609         * configure.in (i[34567]86-*-linux-gnu*,
3610         i[34567]86-*-linux-gnulibc1, i[34567]86-*-linux-gnuaout*,
3611         i[34567]86-*-linux-gnuoldld*): Use fixinc.x86-linux-gnu as
3612         fixincludes.
3613
3614         * configure: Rebuilt.
3615
3616         * fixinc.x86-linux-gnu: New script for fixing asm-statements bug
3617         on x86 linux.
3618
3619         * fixinc/fixinc.x86-linux-gnu: Copy of the previous one.
3620
3621         * fixinc/mkfixinc.sh (i[34567]86-*-linux-gnu*,
3622         i[34567]86-*-linux-gnulibc1, i[34567]86-*-linux-gnuaout*,
3623         i[34567]86-*-linux-gnuoldld*): Use fixinc.x86-linux-gnu as
3624         fixincludes.
3625
3626 Mon Feb 22 08:55:05 1999  Ovidiu Predescu  <ovidiu@cup.hp.com>
3627
3628         * objc/objc-act.c (encode_type): Temporary revert to the old
3629         behavior of encoding types as the new one seems to break the
3630         encoding of bitfields.
3631
3632 Mon Feb 22 11:40:44 1999  Craig Burley  <craig@jcb-sc.com>
3633 Sat Feb 20 09:59:36 1999  Craig Burley  <craig@jcb-sc.com>
3634
3635         * Makefile.in (all.internal, all.cross): Depend on `doc'
3636         target, to ensure docs get made before installation.
3637
3638         Decrease spurious warnings from -fsyntax-only:
3639         * stmt.c (expand_expr_stmt): Expand expr even when -fsyntax-only.
3640
3641 Mon Feb 22 10:55:00 1999  Gavin Romig-Koch  <gavin@cygnus.com>
3642
3643         * c-lex.c (yylex): Replace warning about integer constants being
3644         larger than long-longs, with a warning about integer constants
3645         being larger than the largest target integer.
3646
3647 Mon Feb 22 08:35:38 1999  Craig Burley  <craig@jcb-sc.com>
3648
3649         Fix -fsyntax-only ICEs:
3650         * varasm.c (assemble_zeros, assemble_variable,
3651         output_constant_def): Do nothing when -fsyntax-only.
3652
3653 Fri Feb 19 18:18:56 1999  Don Bowman  <don@pixstream.com>
3654
3655         * configure.in (mips*-*-vxworks*): Enable gthreads vxworks support.
3656         * configure: Rebuilt.
3657
3658 Sun Feb 21 20:34:44 1999  Jeff Law  (law@cygnus.com)
3659
3660         * version.c: Bump for snapshot.
3661
3662 Sun Feb 21 20:35:10 1999  Jeffrey A Law  (law@cygnus.com)
3663
3664         * config/aoutos.h (ASM_OUTPUT_CONSTRUCTOR): Delete.
3665         (ASM_OUTPUT_DESTRUCTOR, ASM_OUTPUT_GC_ENTRY): Likewise.
3666         * tm.texi: Update docs for constructors and destructors.
3667
3668 Sun Feb 21 17:11:18 1999  Richard Henderson  <rth@cygnus.com>
3669
3670         * genattrtab.c (check_attr_value): Allow negative const_int if
3671         negative_ok.  Accept integral arithmetic operators.  Accept
3672         direct references to other attributes.  Accept symbol_ref in
3673         non-constant attributes.
3674         (max_attr_value): Add new argument `unknownp'.  Update all callers.
3675         (or_attr_value): Likewise.
3676         (simplify_knowing): Don't optimize if max_attr_value unknown.
3677         (write_length_unit_log): Likewise with or_attr_value.
3678         (find_and_mark_used_attributes): Don't fallthru case.
3679         (write_attr_set): Pass thru all non-cond expressions.
3680         (write_attr_value): Handle symbol_ref, attr, and arithmetic.
3681
3682 Sun Feb 21 13:16:44 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3683
3684         * regmove.c (discover_flags_reg): Use word_mode instead of SImode.
3685
3686 Sun Feb 21 13:15:40 1999  Richard Henderson  <rth@cygnus.com>
3687
3688         * regmove.c (discover_flags_reg): Remove cc0 code.
3689         (mark_flags_life_zones) [HAVE_cc0]: Force use of cc0; bail if
3690         a potential flags register was identified.
3691
3692 Sat Feb 20 16:16:07 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3693
3694         * rs6000.md (scc plus ltu): Fix typo in last change.
3695
3696 Sat Feb 20 09:08:44 1999  Richard Earnshaw  (rearnsha@arm.com)
3697
3698         * xm-arm.h (HOST_BITS_PER_LONGLONG): Define.
3699
3700 Fri Feb 19 23:02:02 1999  Richard Henderson  <rth@cygnus.com>
3701
3702         * regmove.c (discover_flags_reg): New function.
3703         (flags_set_1, mark_flags_life_zones): New functions.
3704         (regmove_optimize): Call them.
3705         (fixup_match_1): Use insn modes rather than sets_cc0_p.
3706
3707 Fri Feb 19 22:47:01 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
3708
3709         * rtlanal.c (insn_first_p): Fix return value for insn == reference.
3710
3711         * loop.c (strength_reduce, check_final_value, check_dbra_loop):
3712         Use loop_insn_first_p.
3713
3714 Fri Feb 19 15:49:26 1999  Michael Meissner  <meissner@cygnus.com>
3715                           David Edelsohn  <edelsohn@gnu.org>
3716
3717         * rs6000.md (scc plus eq): Fix output template.
3718         (scc plus ltu): Fix output template and collapse variants
3719         correcting early clobbers.
3720         (scc plus geu): Fix output template.
3721         (scc plus gt): Fix output template.
3722         (scc plus gtu): Fix output template and collapse variants.
3723
3724 Fri Feb 19 15:43:59 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3725
3726         * cppinit.c (print_help): Remove unescaped newline in string.
3727
3728 Fri Feb 19 19:55:06 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
3729
3730         * loop.c (strength_reduce): Check for intervening jumps when
3731         converting biv increment to giv.
3732
3733 Thu Feb 18 16:36:58 1999  Per Bothner  <bothner@cygnus.com>
3734
3735         * tree.def (TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR): New tree nodes,
3736         * expr.c (expand_expr): Support new tree nodes.
3737
3738 Fri Feb 19 10:17:56 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
3739
3740         * config/m68k/m68k.c (m68k_align_loops_string,
3741         m68k_align_jumps_string, m68k_align_funcs_string): Add const.
3742         * config/m68k/m68k.h (m68k_align_loops_string,
3743         m68k_align_jumps_string, m68k_align_funcs_string): Likewise.
3744
3745 Thu Feb 18 23:28:35 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3746
3747         * bitmap.c (bitmap_print): Qualify a char* with the `const' keyword.
3748         
3749         * bitmap.h (bitmap_print): Likewise.
3750         
3751         * c-decl.c (builtin_function, grokdeclarator, grokfield): Likewise.
3752         
3753         * c-lang.c (build_objc_string): Likewise.
3754         
3755         * c-lex.c (yyerror, extend_token_buffer): Likewise.  Don't include
3756         limits.h or ctype.h.  Remove unused variable `p'.
3757         
3758         * c-lex.h (yyerror): Qualify a char* with the `const' keyword.
3759         
3760         * c-pragma.c (handle_pragma_token): Likewise.
3761         
3762         * c-pragma.h (handle_pragma_token): Likewise.
3763         
3764         * c-tree.h (build_objc_string, builtin_function, grokfield,
3765         build_indirect_ref, lvalue_or_else, readonly_warning, error_init,
3766         pedwarn_init): Likewise.
3767         
3768         * c-typeck.c (convert_for_assignment, warn_for_assignment,
3769         push_string, warning_init, incomplete_type_error,
3770         build_indirect_ref, lvalue_or_else, readonly_warning,
3771         build_c_cast, spelling, push_member_name, print_spelling,
3772         error_init, pedwarn_init, start_init): Likewise.
3773         
3774         * objc/objc-act.c (build_objc_string): Likewise.
3775         
3776         * print-tree.c (print_node_brief, print_node): Likewise.
3777         
3778         * tree.h (lvalue_or_else, print_node, print_node_brief): Likewise.
3779
3780 Thu Feb 18 20:44:21 1999  David Edelsohn  <edelsohn@gnu.org>
3781
3782         * regclass.c (record_reg_classes): Correctly handle 'p' constraint.
3783
3784 Thu Feb 18 19:59:37 1999  Marc Espie  <espie@cvs.openbsd.org>
3785
3786         * configure.in :Handle OpenBSD platforms.
3787         * configure: Rebuilt.
3788         * config/openbsd.h: New file.
3789         * config/xm-openbsd.h: New file.
3790         * config/t-openbsd: New file.
3791         * config/t-openbsd-thread: New file.
3792
3793 Thu Feb 18 18:47:09 1999  Jeffrey A Law  (law@cygnus.com)
3794
3795         * function.c (assign_stack_temp_for_type): Round SIZE before calling
3796         assign_stack_local for BLKmode slots.
3797
3798 Fri Feb 19 01:45:06 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
3799
3800         * loop.c (strength_reduce): For derived givs, replace the
3801         giv this was derived from with its new_reg.
3802         (recombine_givs): Don't set new_reg for derived giv.
3803         And don't print it, print SUM instead.
3804
3805 Thu Feb 18 15:52:49 1999  Jim Wilson  <wilson@cygnus.com>
3806
3807         * m68kelf.h (ASM_RETURN_CASE_JUMP): Add 5200 support.
3808
3809 1999-02-18  Zack Weinberg  <zack@rabi.columbia.edu>
3810
3811         * cpplib.c: Kill define of STDC_VALUE.  Don't include output.h
3812           or prefix.h. Change CPP_IS_MACRO_BUFFER to not refer to
3813           macro_cleanup.
3814           (GET_ENV_PATH_LIST, PATH_SEPARATOR, STANDARD_INCLUDE_DIR,
3815           predefs, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
3816           CPP_WCHAR_TYPE, USER_LABEL_PREFIX, REGISTER_PREFIX, struct
3817           cpp_pending, version_string, struct default_include,
3818           include_defaults_array, path_include, cpp_options_init,
3819           dump_special_to_buffer, initialize_builtins, cpp_start_read,
3820           cpp_reader_init, nreverse_pending, push_pending, print_help,
3821           cpp_handle_option, cpp_handle_options, cpp_finish,
3822           cpp_cleanup): Move to cppinit.c.
3823           (macro_cleanup, struct arglist, collect_expansion,
3824           create_definition, compare_defs, comp_def_part, ARG_BASE,
3825           struct argdata, macarg, change_newlines, timestamp,
3826           monthnames, special_symbol, unsafe_chars, macroexpand,
3827           push_macro_expansion): Move to cpphash.c.
3828           (quote_string, check_macro_name, cpp_expand_to_buffer,
3829           output_line_command, cpp_undef): Export.
3830           (null_underflow, null_cleanup, handle_directive): Make static.
3831
3832         * cpplib.h: Prototype now-exported functions.  Adjust decls of
3833           syntax tables so we can include cpplib.h in cppinit.c.
3834         * cpphash.h: Prototype all functions exported by cpphash.c.
3835         * cppinit.c: Make syntax tables initialized data if possible
3836           (uses GCC designated-initializer extension).
3837         * cppexp.c: Make cpp_lex static.
3838         * Makefile.in: Move -D switches for the various include dirs
3839           from cpplib.o rule to cppinit.o rule.  Adjust dependencies.
3840
3841 Thu Feb 18 13:15:56 1999  Marc Espie  <espie@cvs.openbsd.org>
3842
3843         * alpha/openbsd.h: New file.
3844         * alpha/xm-openbsd.h: New file.
3845         * sparc/openbsd.h: New file.
3846         * sparc/xm-openbsd.h: New file.
3847         * m68k/openbsd.h: New file.
3848         * m68k/xm-openbsd.h: New file.
3849         * i386/openbsd.h: New file, originally from netbsd.
3850         * i386/xm-openbsd.h: New file.
3851
3852 1999-02-17  Zack Weinberg  <zack@rabi.columbia.edu>
3853
3854         * Makefile.in: Correct dependencies for cpplib object files.
3855
3856 Wed Feb 17 14:04:18 1999  Michael Meissner  <meissner@cygnus.com>
3857
3858         * rs6000.md ({add,sub}si3 `.'): Add alternatives to use CR other
3859         than cr0.
3860
3861 Wed Feb 17 16:59:28 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
3862
3863         * loop.c (strength_reduce): Don't move giv insn for biv turned giv
3864         below scan_start.
3865
3866 Wed Feb 17 10:56:24 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3867
3868         * tree.c (tree_node_kind_names, print_obstack_name,
3869         get_identifier, maybe_get_identifier, build_string,
3870         build_expr_wfl, is_attribute_p, lookup_attribute,
3871         print_obstack_statistics, get_file_function_name_long, tree_check,
3872         tree_class_check, expr_check): Qualify a char* with the `const'
3873         keyword.
3874
3875         * tree.h (get_identifier, maybe_get_identifier, build_string,
3876         build_expr_wfl, is_attribute_p, lookup_attribute,
3877         print_obstack_statistics, print_obstack_name, tree_check,
3878         tree_class_check, expr_check): Likewise.
3879
3880 Tue Feb 16 21:29:38 1999  Jeffrey A Law  (law@cygnus.com)
3881
3882         * i386/freebsd-elf.h, i386/gas.h, i386/linux.h: Fix minor spacing
3883         errors.
3884
3885         * calls.c (store_one_arg): Mark any slots used for the argument
3886         as in-use immediately after we're done saving any slots which
3887         will be overwritten by this argument.
3888
3889 Tue Feb 16 21:02:07 1999  Anton Hartl  <toni@devsoft.com>
3890
3891         * rs6000.md (call_value): Fix typo.
3892
3893 Wed Feb 17 01:29:07 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
3894
3895         * loop.c (strength_reduce): Calculate maybe_dead before
3896         calling recombine_givs.
3897
3898 Wed Feb 17 00:43:12 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
3899
3900         * loop.c (strength_reduce): Dump biv increment -> giv conversions.
3901
3902 Tue Feb 16 15:31:39 1999  Ovidiu Predescu  <ovidiu@cup.hp.com>
3903
3904         * objc/objc-act.c (encode_type): Encode the type instead of
3905         encoding the mode of the type (patch from Richard Frith-Macdonald
3906         <richard@brainstorm.co.uk>).
3907
3908 Tue Feb 16 10:53:51 1999  Richard Earnshaw  (rearnsha@arm.com)
3909
3910         * config/arm/arm.md (*zeroextractqi_compare0_scratch): Re-add load
3911         instruction killed in previous change.  Simplify mask generation.
3912         (*zeroextractsi_compare0_scratch): Simplify mask generation.
3913
3914 Tue Feb 16 09:52:26 1999  Nick Clifton  <nickc@cygnus.com>
3915
3916         * config/arm/arm.md (zeroextractqi_compare0_scratch): Ensure that
3917         bitfield does not overflow a byte boundary.
3918
3919 Tue Feb 16 01:37:33 1999  Charles G Waldman  <cgw@alum.mit.edu>
3920
3921         * c-common.c (shorten_compare): Get the min/max value from the
3922         underlying type of an enumeration, not the enumerated type itself.
3923
3924 Mon Feb 15 23:04:48 1999  Jeffrey A Law  (law@cygnus.com)
3925
3926         * jump.c: Include insn-attr.h.
3927         (delete_computation): If reload has completed and insn scheduling
3928         after reload is enabled, then do not depend on REG_DEAD notes.
3929         * Makefile.in (jump.o): Depend on insn-attr.h.
3930
3931 Mon Feb 15 16:57:38 1999  Richard Henderson  <rth@cygnus.com>
3932
3933         * i386.md (addsi3): Allow lea for any constant_p.
3934
3935 1999-02-15  Zack Weinberg  <zack@rabi.columbia.edu>
3936
3937         * toplev.c (documented_lang_options): Remove -fident and
3938           -fnoident, which are now handled by the language independent
3939           option parser.
3940
3941 1999-02-15  Zack Weinberg  <zack@rabi.columbia.edu>
3942
3943         * c-common.c (UNGETC [USE_CPPLIB=1]): Do nothing if c is EOF.
3944         * c-lex.c: Likewise.
3945         * cpplib.c (cpp_push_buffer, cpp_pop_buffer): Use a linked
3946         list in malloced memory for the buffer stack.
3947         (cpp_get_token): Don't pop the last buffer off the stack.
3948         Calls after CPP_EOF has been returned produce CPP_EOF with no
3949         state change.
3950         (cpp_finish): Pop last buffer here.
3951         (do_line): Don't free ip->last_nominal_fname if it is equal to
3952         ip->fname.
3953         (special_symbol): If a T_CONST is the empty string, push a
3954         single `@ ' escape instead.
3955         (macroexpand): Special symbol buffers have escapes too.
3956         * cpplib.h (struct cpp_buffer): Remove unused fields, add prev
3957         buffer pointer.
3958         (struct cpp_reader): Remove buffer_stack.  Add
3959         buffer_stack_depth.
3960         (CPP_PREV_BUFFER, CPP_NULL_BUFFER): Buffer stack is now a
3961         linked list.
3962
3963 Mon Feb 15 14:44:53 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3964
3965         * cccp.c: Don't define HOST_WIDE_INT.  Replace all occurrences of
3966         WIDE_INT with WIDEST_INT.
3967
3968         * cexp.y: Likewise.
3969         Don't define unsigned_HOST_WIDE_INT, CHAR_BIT or
3970         HOST_BITS_PER_WIDE_INT.  Replace occurrences of PRINTF_PROTO_1()
3971         style with PVPROTO() ATTRIBUTE_PRINTF_1 style macros.  Replace
3972         occurrences of "unsigned_HOST" with "unsigned HOST".  Provide a
3973         definition of variable `c89' when compiling a test binary and set it.
3974
3975         * system.h: Don't define the PRINTF_PROTO_* macros.
3976
3977 Mon Feb 15 11:33:51 1999  Jeffrey A Law  (law@cygnus.com)
3978
3979         * loop.c (mark_loop_jump): Handle LO_SUM.  If we encounter something
3980         we do not understand, mark the loop and containing loops as invalid.
3981
3982 Mon Feb 15 00:40:45 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
3983
3984         * alias.c (init_alias_analysis): Avoid self-referential value
3985         when setting reg_known_value from REG_EQUAL notes.
3986
3987 Sun Feb 14 23:12:10 1999  Richard Henderson  <rth@cygnus.com>
3988
3989         * i386.c (legitimate_address_p): Verify modes of base and index.
3990
3991 Sun Feb 14 23:01:28 1999  Richard Henderson  <rth@cygnus.com>
3992
3993         * i386.c (legitimate_pic_address_disp_p): Remove static.
3994         * i386.h (LEGITIMATE_PIC_OPERAND_P): Use it instead of
3995         open-coding cases.
3996
3997 Sun Feb 14 21:03:28 1999  Jeffrey A Law  (law@cygnus.com)
3998
3999         * except.c (start_catch_handler): Use emit_cmp_and_jump_insns.
4000         * explow.c (probe_stack_range): Likewise.
4001         * expmed.c (do_cmp_and_jump): Likewise.
4002         * expr.c (store_expr, expand_expr, expand_builtin): Likewise.
4003         (do_tablejump): Likewise.
4004         * stmt.c (expand_expr_stmt, expand_end_case): Likewise.
4005         (do_jump_if_equal, emit_case_nodes): Likewise.
4006         * optabs.c (emit_cmp_and_jump_insns): Clarify comments.  If UNSIGNEDP,
4007         then convert comparison to an unsigned code before emitting the jump.
4008         (expand_float, expand_fix): Use emit_cmp_and_jump_insns.
4009
4010 Sun Feb 14 02:24:15 1999  Jeff Law  (law@cygnus.com)
4011
4012         * version.c: Bump for snapshot.
4013
4014 Sun Feb 14 01:15:04 1999  Jeff Law  (law@cygnus.com)
4015
4016         * version.c: Bump for snapshot.
4017
4018 Sun Feb 14 00:45:50 1999  Jeffrey A Law  (law@cygnus.com)
4019
4020         * loop.c: Disable recent loop changes.  Temporary as Joern
4021         continues to fix problems.
4022
4023 Sat Feb 13 23:29:42 1999  Richard Henderson  <rth@cygnus.com>
4024
4025         * loop.c (combine_givs_used_by_other): Delete.
4026         (combine_givs_benefit_from): Delete.
4027         (combine_givs): Deny combination of givs only used once.  Simplify
4028         code with the death of combine_givs_benefit_from.
4029
4030 Sun Feb 14 11:24:05 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4031
4032         * loop.c (scan_loop): Call reg_in_basic_block_p before
4033         loop_reg_used_before_p.
4034
4035 Sat Feb 13 05:32:00 1999  Richard Earnshaw  (rearnsha@arm.com)
4036
4037         * arm.md: Use gen_rtx_FOO instead of gen_rtx (FOO, ...).
4038         * arm.h: Likewise.
4039         * arm.c: Likewise.
4040
4041         * arm.h (TARGET_OPTIONS): Reformat for clarity.
4042         (GO_IF_LEGITIMATE_ADDRESS): When generating PIC, references to symbols
4043         in the constant pool aren't valid.
4044         (LEGITIMATE_PIC_OPERAND_P): Likewise.
4045
4046         * arm.c: Include "system.h", not stdio.h and string.h.
4047
4048 Fri Feb 12 13:06:28 1999  Jim Wilson  <wilson@cygnus.com>
4049
4050         * stmt.c (expand_return): Return if optimize_tail_recursion succeeded.
4051         (optimize_tail_recursion): Change return type from void to int.
4052         Add return statements.
4053         * tree.h (optimize_tail_recursion): Change prototype to match.
4054
4055 Fri Feb 12 21:09:51 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4056
4057         * reload.c (find_reloads_subreg_address): New function, broken out of
4058         find_reloads_toplev.
4059         (find_reloads_toplev, find_reloads_address_1): Use it.
4060
4061 Fri Feb 12 13:20:52 1999  Jeffrey A Law  (law@cygnus.com)
4062
4063         * h8300.md (zero_extendhisi2 H8/300 variant): Correctly handle
4064         extending a CONST_INT.
4065
4066         * h8300.md (peephole for combining memrefs): Delete incorrect peephole.
4067
4068 Fri Feb 12 18:29:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4069
4070         * loop.c (loop_insn_first_p, biv_elimination_giv_has_0_offset):
4071         New functions.
4072         (maybe_eliminate_biv_1): Use biv_elimination_giv_has_0_offset.
4073
4074 Fri Feb 12 16:56:10 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4075
4076         * loop.c (load_mems): Don't guess how to do a load / store, use
4077         emit_move_insn.
4078
4079 Fri Feb 12 09:24:26 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4080
4081         * system.h: Provide a definition for HOST_WIDEST_INT, etc.
4082
4083 Fri Feb 12 23:37:26 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4084
4085         * config/c4x/c4x.c (c4x_address_cost): Revert 9 Feb change.
4086
4087 Fri Feb 12 00:51:26 1999  Jeffrey A Law  (law@cygnus.com)
4088
4089         * reload.c (find_reloads_address_1): Fix handling of an autoincremented
4090         pseudo which is homed in the stack.
4091
4092         * mips.c (save_restore_insns): Fix loop to save/restore FP registers.
4093         (compute_frame_size): Change loop over FP regs to be consistent
4094         with the loop in save_restore_insns.
4095
4096 Thu Feb 11 17:38:40 1999  Jim Wilson  <wilson@cygnus.com>
4097
4098         * i960/i960.h (OVERRIDE_OPTIONS): Warn if -mlong-double-64 is used.
4099         (LONG_DOUBLE_TYPE_SIZE): Undef then unconditionally define to 96.
4100
4101 Thu Feb 11 15:11:35 1999  Jeffrey A Law  (law@cygnus.com)
4102
4103         * mn10200.md (bset); Re-enable.
4104
4105 Thu Feb 11 15:20:49 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4106
4107         * sh.md (is_sfunc): New attribute.
4108         * sh.h (INSN_SETS_ARE_DELAYED, INSN_REFERENCES_ARE_DELAYED): Use it.
4109
4110 Thu Feb 11 01:06:49 1999  Nathan Sidwell  <nathan@acm.org>
4111
4112         * fold-const.c (range_binop): Take account of the bounded nature
4113         of fixed length arithmetic when comparing unbounded ranges.
4114
4115 Thu Feb 11 00:08:17 1999  John Wehle  (john@feith.com)
4116
4117         * function.c (assign_stack_temp_for_type): Clear best_p
4118         when an exact match is found.
4119
4120         * i386.h (LOCAL_ALIGNMENT): Define.
4121         * function.c (assign_stack_local, assign_outer_stack_local): Use it.
4122         (assign_stack_temp_for_type): New function based on assign_stack_temp.
4123         (assign_stack_temp): Call it.
4124         (assign_temp): Use assign_stack_temp_for_type, not assign_stack_temp.
4125         * stmt.c: Use assign_temp, not assign_stack_temp.
4126         * tm.texi: Document LOCAL_ALIGNMENT.
4127
4128 Wed Feb 10 23:28:28 1999  Jeffrey A Law  (law@cygnus.com)
4129
4130         * reorg.c: Finish deleting half-deleted comment.
4131
4132 Wed Feb 10 17:12:21 1999  Jim Wilson  <wilson@cygnus.com>
4133
4134         * emit-rtl.c (operand_subword): Sign extend REAL_VALUE_TO_TARGET_SINGLE
4135         result.
4136         * final.c (split_double): Sign extend REAL_VALUE_TO_TARGET_DOUBLE
4137         result.
4138         * real.c (endian): Delete sign extension code.
4139         * config/m32r/m32r.md (movsf_insn+1): REAL_VALUE_TO_TARGET_SINGLE call
4140         replaced with operand_subword call.
4141
4142 Wed Feb 10 15:16:39 1999  Richard Henderson  <rth@cygnus.com>
4143
4144         * alpha.md (cmov compound patterns): Delete.  Jump can now
4145         create the correct constructs in the first place.
4146
4147 Wed Feb 10 11:03:22 1999  Richard Henderson  <rth@cygnus.com>
4148
4149         * configure.in (alphaev6*): Fix typo in target_cpu_default2.
4150
4151 Wed Feb 10 13:59:18 1999  Dave Brolley  <brolley@cygnus.com>
4152
4153         * mbchar.c (local_mb_cur_max): Handle the case where MB_CUR_MAX is 0.
4154
4155 Wed Feb 10 10:35:05 1999  Jim Wilson  <wilson@cygnus.com>
4156
4157         * tmp-emsgids.c: Delete.
4158
4159 Wed Feb 10 09:57:08 1999  Mark Mitchell  <mark@markmitchell.com>
4160
4161         * rtlanal.c (for_each_rtx): Fix declaration to conform to GNU
4162         coding standards.
4163
4164 Wed Feb 10 10:09:41 1999  Jeffrey A Law  (law@cygnus.com)
4165
4166         * mn10200.md (bset, bclr): Operand 0 is a read/write operand.
4167
4168         * reload1.c (reload_combine_note_store): Second argument is no
4169         longer unused/ignored.  Handle multi-register hard regs.
4170         (move2add_note_store): Simplify.
4171
4172 Wed Feb 10 10:05:23 1999  Mumit Khan  <khan@xraylith.wisc.edu>
4173
4174         * collect2.c (collect_execute): Remove cygwin-specific code.
4175
4176 Tue Feb  9 17:27:29 1999  Nathan Sidwell  <nathan@acm.org>
4177
4178         * system.h (_, N_): Remove dummy i18n macros.
4179         * protoize.c: Move inclusion of intl.h to after system.h.
4180         * cexp.y: Include intl.h.
4181         * cexp.c: Rebuilt.
4182
4183 Tue Feb  9 16:52:22 1999  Mumit Khan  <khan@xraylith.wisc.edu>
4184
4185         * i386/cygwin.h (SUBTARGET_OVERRIDE_OPTIONS): New macro to ignore
4186         fpic/fPIC for windows32 targets.
4187         * i386/xm-cygwin.h (GET_ENV_PATH_LIST): Replace '\\' in windows32
4188         paths with '/'.
4189         * i386/mingw32.h (CPP_SPEC): Define.
4190         (CPP_PREDEFINES): Add MINGW32 version id.
4191         * i386/crtdll.h (CPP_PREDEFINES): Likewise.
4192
4193         * Makefile.in (collect2$(exeext)): Delete redundant dependency and
4194         add missing exeext to target.
4195
4196         * gcc.c (convert_filename): Handle null filename argument.
4197
4198 Wed Feb 10 15:46:10 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4199
4200         * config/c4x/c4x.md (*movhf_noclobber, *movhi_noclobber): Use
4201         m constraint instead of QT.
4202
4203 1999-02-09  Brendan Kehoe  <brendan@cygnus.com>
4204
4205         * cpplib.c (special_symbol): Move IP to be declared in function
4206         scope, rather than individual case statements.
4207
4208 1999-02-09  Zack Weinberg  <zack@rabi.columbia.edu>
4209
4210         * cppfiles.c (finclude): Handle pipes properly under old BSD
4211           derivatives.
4212
4213 1999-02-09  Melissa O'Neill  <oneill@cs.sfu.ca>
4214
4215         * system.h: Provide fallback definitions for S_ISCHR,
4216           S_ISSOCK, S_ISFIFO, O_NONBLOCK, and O_NOCTTY.
4217
4218 1999-02-09  Zack Weinberg  <zack@rabi.columbia.edu>
4219
4220         * cpplib.c (do_define): Allow redefining __STDC__ with -D.
4221
4222 1999-02-09  Jim Blandy  <jimb@zwingli.cygnus.com>
4223
4224         * configure.in: For PowerPC configurations, accept "401", "ec603e",
4225         "740", and "750" as valid arguments to --with-cpu.
4226         * configure: Rebuilt.
4227
4228 Tue Feb  9 00:00:14 1999  Mark Kettenis  <kettenis@gnu.org>
4229
4230         * configure.in (i[34567]86-*gnu*): Set float_format to i386.
4231         * configure: Rebuilt.
4232
4233 Mon Feb  8 22:38:24 1999  Jeffrey A Law  (law@cygnus.com)
4234
4235         * rs6000.md: Revert "alternate use of crs if cr0 not available"
4236         patches from 01-22-1999, 01-24-1999, 01-26-1999, and 02-08-1999.
4237
4238 Mon Feb  8 21:36:44 1999  Richard Henderson  <rth@cygnus.com>
4239
4240         * output.h (current_function_has_computed_jump): Rename from
4241         current_function_addresses_labels.
4242         * function.h (struct function): Likewise for addresses_labels member.
4243         * rtl.h (FUNCTION_FLAGS_HAS_COMPUTED_JUMP): Likewise.
4244         * function.c (current_function_has_computed_jump): Likewise.
4245         Update all references.
4246         * integrate.c (function_cannot_inline_p):
4247         Test current_function_has_computed_jump instead of addresses_labels.
4248         (initialize_for_inline): Likewise save.
4249         (output_inline_function): Likewise restore.
4250
4251         * expr.c (expand_expr): Don't reference addresses_labels variables.
4252         * stmt.c (expand_computed_goto): Set has_computed_jump.
4253
4254 1999-02-08  Michael Meissner  <meissner@cygnus.com>
4255
4256         This is being installed only to get it into the repository to help
4257         with the revert, resubmit & review process for the massive rs6000.md
4258         changes.
4259         * rs6000.md (andsi3_internal1 splitter): Don't split if using the
4260         rlwinm instruction.
4261         (anddi3_internal1): Likewise.
4262         (andsi3_internal{2,3}): Correct some insn lengths.
4263         (anddi3*): Restore missing TARGET_POWERPC64, and don't emit old
4264         mnemonics.
4265
4266 Mon Feb  8 21:31:06 1999  Richard Henderson  <rth@cygnus.com>
4267
4268         * loop.c (reg_single_usage): New file-scope variable ...
4269         (scan_loop): ... moved out of here.  Always initialize.
4270         Test loop_has_call instead of reg_single_usage not zero.
4271         Free reg_single_usage after strength reduction.
4272         (count_loop_regs_set): Assume single_usage non-zero.
4273         (combine_givs_used_by_other): Test reg_single_usage.
4274         (load_mems_and_recount_loop_regs_set): Remove reg_single_usage
4275         as a parameter.  Assume non-zero.
4276         
4277 1999-02-08  Zack Weinberg  <zack@midnite.ec.rhno.columbia.edu>
4278
4279         * cpplib.c (special_symbol): Rewrite.  Don't copy things
4280           multiple times.  Handle __STDC__ specially.  T_CONST
4281           indicates a constant /string/.  Don't handle T_*_TYPE and
4282           T_SPEC_DEFINED.  Use cpp_buf_line_and_col instead of
4283           adjust_position.  Determine the file buffer only if needed.
4284           (initialize_builtins): Handle __SIZE_TYPE__,
4285           __PTRDIFF_TYPE__, __WCHAR_TYPE__, __USER_LABEL_PREFIX__, and
4286           __REGISTER_PREFIX__ with T_CONST special hashtab entries.
4287           Don't provide __OBJC__; the driver does that.  Provide
4288           __STDC_VERSION__, using T_CONST.  Use T_STDC for
4289           __STDC__.  Give install the length of all symbols defined.
4290           (eval_if_expression): Drop code to insert and remove the
4291           "defined" special symbol.
4292
4293         * cpplib.h: Remove SELF_DIR_DUMMY (no longer used).  Remove
4294           T_*_TYPE and T_SPEC_DEFINED from enum node_type; add T_STDC.
4295
4296         * cpphash.c (install): Drop the `ivalue' parameter.  Constify
4297           the `value' parameter.  All callers changed.
4298         * cpphash.h (install): Change prototype to match.
4299           (union hashval): Remove `ival' member.
4300         * cppexp.c (cpp_lex): Handle `defined' here.
4301
4302 Mon Feb  8 17:29:42 1999  Jeffrey A Law  (law@cygnus.com)
4303
4304         * pa.h (EXTRA_CONSTRAINT): Fix comment.
4305
4306 Mon Feb  8 18:57:45 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
4307
4308         * c-typeck.c (check_init_type_bitfields): Use nonincremental
4309         initialization of unions whose first member is a bitfield.
4310         Remove unnecessary code for checking the declaration mode
4311         after DECL_C_BIT_FIELD.
4312
4313         * varasm.c (output_constructor): Additional comment about the
4314         constructor of bitfield union initialization.
4315
4316 Tue Feb  9 11:55:04 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4317
4318         * config/c4x/c4x.md (*movhi_stik): New pattern.
4319         (movhi): Allow some immediate constants to be directly
4320         stored in memory.
4321
4322 Tue Feb  9 11:34:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4323
4324         * config/c4x/c4x.md (all call patterns): Add constraints "Ur".
4325         (call, call_value): Force address into a register if not valid
4326         for a call instruction.
4327         (load_immed_address): Emit a USE of the SYMBOL_REF that is
4328         forced into memory.
4329         * config/c4x/c4x.c (c4x_print_operand): Fix 'C' and 'U' modifiers.
4330
4331 Tue Feb  9 11:08:41 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4332
4333         * config/c4x/c4x.c (call_address_operand, symbolic_address_operand):
4334         Rename from call_operand and symbolic_operand respectively.  All
4335         callers changed.
4336         * config/c4x/c4x.md (call_address_operand, symbolic_address_operand):
4337         Likewise.
4338         * config/c4x/c4x.h (call_address_operand, symbolic_address_operand):
4339         Likewise.
4340         (PREDICATE_CODES): Allow CONST, LABEL_REF for call_address_operand.
4341
4342 Tue Feb  9 10:52:27 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4343
4344         * config/c4x/c4x.c (c4x_legitimize_address): Don't generate a
4345         LO_SUM address for HImode or HFmode but instead force address into
4346         a register so that it is offsettable.
4347         (c4x_emit_move_sequence): Handle LO_SUM immediate address.
4348
4349 Tue Feb  9 10:46:42 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4350
4351         * config/c4x/c4x.c (c4x_address_cost): Return cost of 1 for
4352         REG+REG addressing if strength reduction enabled.
4353
4354 Tue Feb  9 10:10:31 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4355
4356         * config/c4x/t-c4x  (LIBGCC2_CFLAGS): Delete.
4357         (TARGET_LIBGCC2_CFLAGS): Define.
4358         
4359 1999-02-08  Nick Clifton  <nickc@cygnus.com>
4360
4361         * config/v850/v850.md: Replace \\n\\t with \\;
4362         
4363         * config/v850/v850.md: Enforce TARGET_LONG_CALLS option.
4364         * config/v850/v850.c (construct_restore_jr, construct_save_jarl):
4365         Enforce TARGET_LONG_CALLS option.
4366
4367 Mon Feb  8 11:43:07 1999  Donn Terry  <donn@interix.com>
4368
4369         * real.c (PUT_REAL) [XFmode]: Zero the balance of the structure.
4370
4371 Mon Feb  8 11:37:24 1999  Marc Espie  (espie@cvs.openbsd.org)
4372
4373         * m88k/t-luna-gas: Remove bash dependency.
4374
4375 Mon Feb  8 11:34:44 1999  Graham  <grahams@rcp.co.uk>
4376
4377         * collect2.c (xrealloc): Fix typo in last change.
4378
4379 Mon Feb  8 09:13:38 1999  Jeff Law  (law@cygnus.com)
4380
4381         * version.c: Bump for snapshot.
4382
4383 Sun Feb  7 22:18:42 1999  Robert Lipe  <robertlipe@usa.net>
4384
4385         * tree.h (TYPE_CHECK): Make it clear to the preprocessor
4386         that we do not want macro replacement within a character constant.
4387         (TYPE_CHECK1): Likewise.
4388
4389 Sun Feb  7 15:37:10 1999  Jason Merrill  <jason@yorick.cygnus.com>
4390
4391         * tree.h (DECL_P): New macro.
4392
4393 Sun Feb  7 01:15:04 1999  Jeff Law  (law@cygnus.com)
4394
4395         * version.c: Bump for snapshot.
4396
4397 Sat Feb  6 18:14:46 1999  Jeffrey A Law  (law@cygnus.com)
4398
4399         * mn10300.md (reload_insi): Do not earlyclobber the output operand.
4400
4401         * README.g77, gcc.c, gcc.texi: Update email addresses.
4402         * invoke.texi system.h: Likewise.
4403
4404 Sat Feb  6 11:04:08 1999  Jim Wilson  <wilson@cygnus.com>
4405
4406         * unroll.c (find_splittable_givs): After express_from, call replace_rtx
4407         to convert dest_reg to new_reg.
4408
4409 Sat Feb  6 10:31:35 1999  Jeffrey A Law  (law@cygnus.com)
4410
4411         * reload1.c (reload_combine_note_store): Be more careful with
4412         STRICT_LOW_PART, ZERO_EXTRACT and SIGN_EXTRACT.
4413         (move2add_note_store): Likewise.
4414
4415 Sat Feb  6 10:18:01 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4416
4417         * cppfiles.c (read_and_prescan): Cast the result of `xrealloc' to
4418         U_CHAR* when assigning to one.  Ensure the values of a ?: operator
4419         have the same type.
4420
4421         * cppinit.c (initialize_char_syntax): Use K&R function definition.
4422
4423 Sat Feb  6 11:17:03 1999  Richard Earnshaw  <rearnsha@arm.com>
4424
4425         Support for ARM9
4426         * config/arm/arm.c (all_procs): Add arm9 and arm9tdmi.
4427         * config/arm/arm.h ((TARGET_CPU_arm9, TARGET_CPUD_arm9tdmi): Define.
4428         (TARGET_CPU_DEFAULT): Rework to support ARM9.
4429         (CPP_CPU_ARCH_SPEC): Likewise.
4430         (enum processor_type): Likewise.
4431         * config/arm/arm.md (attr cpu): Add arm9.
4432
4433         General scheduling changes
4434         * config/arm/arm.c (MAX_INSNS_SKIPPED): Delete.
4435         (max_insns_skipped): New variable.
4436         (arm_override_options): If generating hard floating point code for
4437         the FPA, emit code for version 3.
4438         When optimizing for space, don't synthesize constants.
4439         Reword several flags based on the requested processor and optimization
4440         level.
4441         (use_return_insn): New argument iscond, all callers changed.  Don't
4442         use a return insn if it will be conditional and that would be
4443         expensive; eg on StrongARM.
4444         (arm_adjust_cost): Anti- and output- dependencies normally have no
4445         cost.
4446         (load_multiple_sequence): Newer ARMs don't benefit from ldm if
4447         the sequence is short.
4448         (final_prescan_insn): Use max_insns_skipped instead of
4449         MAX_INSNS_SKIPPED.  Note whether we will make a return instruction
4450         conditional, and aviod this if it would be expensive.
4451         * config/arm/arm.md (scheduling attributes and function units):
4452         Rewrite to better describe ARM8, 9 and StrongARM.
4453
4454         * config/arm/arm.md (*movhi_insn_littleend): Make op0 predicate
4455         s_register_operand.
4456         (*ifcompare_plus_move): Use arm_rhs_operand in place of
4457         arm_rhsm_operand.  Rework constraints.
4458         (*if_plus_move): Likewise.
4459         (*ifcompare_move_plus): Likewise.
4460         (*if_move_plus): Likewise.
4461         (*ifcompre_arith_move): Likewise.
4462         (*if_arith_move): Likewise.
4463         (*ifcompare_move_arith): Likewise.
4464         (*if_move_arith): Likewise.
4465
4466         * config/arm/xm-netbsd.h: Don't include arm/xm-arm.h.
4467         
4468 1999-02-05  Michael Meissner  <meissner@cygnus.com>
4469
4470         * loop.c (check_dbra_loop): A store using an address giv for which
4471         we have no life information is not reversible.
4472
4473 Fri Feb  5 17:08:01 1999  Dave Brolley  <brolley@cygnus.com>
4474
4475         * function.c (fixup_var_refs): Scan catch_clauses too.
4476
4477 Fri Feb  5 11:49:49 1999  Benjamin Kosnik  <bkoz@loony.cygnus.com>
4478
4479         * c-common.c (decl_attributes): Fix reserved space for init_priority.
4480         * tree.h (MAX_RESERVED_INIT_PRIORITY): New macro.
4481
4482 Fri Feb  5 12:37:05 1999  Jeffrey A Law  (law@cygnus.com)
4483
4484         * loop.c (strength_reduce): Clear not_every_iteration when
4485         passing the NOTE_INSN_LOOP_CONT note.
4486
4487         * haifa-sched.c (add_dependence): Do not add a dependency on a
4488         note.
4489
4490 Fri Feb  5 10:55:43 1999  Nick Clifton  <nickc@cygnus.com>
4491
4492         * recog.c (split_block_insns): Only call update_flow_info if
4493         instruction scheduling is enabled.
4494
4495 1999-02-05  Zack Weinberg  <zack@rabi.columbia.edu>
4496
4497         * Makefile.in (gen-protos): Use libcpp.a like everyone else.
4498
4499 Fri Feb  5 07:09:29 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4500
4501         * loop.c (first_loop_store_insn): New file-scope variable.
4502         (prescan_loop): Set it.
4503         (check_dbra_loop): Check if a store depends on a register
4504         that is set after the store.
4505
4506 Fri Feb  5 06:55:15 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4507
4508         * unroll.c (entire file): Remove tabs / spaces at end of lines.
4509         Replace spaces with tabs where appropriate.
4510
4511 Thu Feb  4 15:12:41 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4512
4513         * loop.c (scan_loop): New argument loop_cont.  Changed caller.
4514         (strength_reduce): New argument loop_cont. Changed caller.
4515         Before clearing not_every_iteration after a label, check if
4516         we are not already past LOOP_CONT.
4517
4518 1999-02-04  Zack Weinberg  <zack@rabi.columbia.edu>
4519
4520         * cpperror.c (cpp_print_containing_files): Fix formatting
4521         bug induced by merge.
4522
4523 1999-02-04  Zack Weinberg  <zack@rabi.phys.columbia.edu>
4524
4525         * cpplib.c (initialize_char_syntax): Move to cppinit.c.
4526         (cpp_define): Remove redundant syntax checks.
4527         (make_assertion): Rename cpp_assert, remove redundant syntax
4528         checks, export.
4529         (cpp_options_init): Don't init things to zero twice.
4530         (cpp_expand_to_buffer): Use memcpy, not a char-by-char loop.
4531         (do_include): Kill excessively verbose #import warning that
4532         snuck back in in the gcc2 merge.
4533         (convert_string): Removed.
4534         (do_line): Rewrite with simple last-name-used cache instead of
4535         private hashtable.
4536         (cpp_start_read): Call initialize_char_syntax here, not...
4537         (cpp_reader_init): ...here.
4538         (cpp_handle_options): Support the -std switch.
4539         * cpplib.h (cpp_buffer): Add last_nominal_fname member.
4540         (cpp_options): Add c9x flag.
4541         Declare all the is_* tables and trigraph table here, as const.
4542         Prototype cpp_assert and initialize_char_syntax.
4543         * cppinit.c: New file.
4544         * cppfiles.c (read_and_prescan): Optimize.
4545         * Makefile.in (LIBCPP_OBJS): Add cppinit.o.
4546
4547 Thu Feb  4 10:46:30 1999  Gavin Romig-Koch  <gavin@cygnus.com>
4548
4549         * config/mips/mips.md ([u]divmodsi4,[u]divmoddi4,[u]divsi3,[u]divdi3,
4550         [u]modsi3,[u]moddi3) : Don't copy the "zero" argument to a register
4551         before calling gen_div_trap.
4552
4553 Wed Feb  3 21:56:27 1999  Jeffrey A Law  (law@cygnus.com)
4554
4555         * configure.in (hppa1.1-*-*, hppa2*-*): Use symbolic value rather
4556         than numeric value for target_cpu_default..
4557         * configure: Rebuilt.
4558
4559 Wed Feb  3 21:55:56 1999  Marc Espie  <Marc.Espie@liafa.jussieu.fr>
4560
4561         * Makefile.in (xgcc$(exeext)): Remove choose-temp, pexecute and
4562         mkstemp.  Get them from libiberty.
4563         (COLLECT2_OBJS): Similarly for choose-temp, cplus-dem and mkstemp.
4564         (PROTO_OBJS): Similarly for choose-temp, getopt, getopt1 and pexecute.
4565         (cplus-dem.o, pexecute.o, choose-temp.o): Remove build rules.
4566         (mkstemp.o, getopt1.o, getopt.o): Likewise.
4567
4568         * pa-gas.h (TARGET_DEFAULT): Use symbolic values rather than numeric
4569         values.
4570         * pa-hpux.h (LINK_SPEC): Likewise.
4571         * pa-hpux10.h (LINK_SPEC): Likewise.
4572         * pa-hpux9.h (LINK_SPEC): Likewise.
4573         * pa-osf.h (LINK_SPEC): Likewise.
4574         * pa-pro.h (TARGET_DEFAULT): Likewise.
4575         * pa1.h (TARGET_DEFAULT): Likewise.
4576         * pa.h (MASK_*): New defines.
4577         (TARGET_*): Use symbolic values rather than numeric values.
4578         (TARGET_SWITCHES): Likewise.
4579         (TARGET_DEFAULT): Likewise.
4580         (CPP_SPEC): Likewise.
4581
4582 Wed Feb  3 21:07:38 1999  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
4583
4584         * reload1.c (reload_cse_regs_1): Undo Jan 16 patch.
4585         * reload.c (find_reusable_reload): New function, broken out of
4586         push_reload.  Add code to verify that none of the involved
4587         outputs are subject to earlyclobbers.
4588         (push_reload): Break out new function find_reusable_reload.
4589         Delete "register" keyword for IN, OUT args.
4590
4591 Wed Feb  3 15:51:04 1999  Gavin Romig-Koch  <gavin@cygnus.com>
4592
4593         * config/mips/mips.c (true_reg_or_0_operand) : New function.
4594         * config/mips/mips.h (PREDICATE_CODES): Add true_reg_or_0_operand.
4595         * config/mips/mips.md (div_trap,div_trap_normal,div_trap_mips16):
4596         Use true_reg_or_0_operand for div_trap.
4597
4598 Wed Feb  3 20:44:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4599
4600         * loop.h (express_from): Declare.
4601         (struct induction): Replace derived flag with derived_from pointer.
4602         * loop.c (strength_reduce, record_giv, recombine_givs): Likewise.
4603         (express_from): No longer static.
4604         * unroll.c (find_splittable_givs): Replace derived with derived_from.
4605         When processing an address giv with which another giv has been
4606         combined that has also been derived from a third giv, handle like
4607         having combined with the third giv.
4608         Set splittable_regs_updates appropriately for derived givs.
4609
4610 Wed Feb  3 15:26:58 1999  Gavin Romig-Koch  <gavin@cygnus.com>
4611
4612         * config/mips/mips.md (div_trap_mips16): Remove nop's after branches.
4613
4614 Wed Feb  3 11:56:23 1999  Jeffrey A Law  (law@cygnus.com)
4615
4616         * pa.c (insn_sets_and_refs_are_delayed): New function.
4617         * pa.h (INSN_SETS_ARE_DELAYED): Use it.
4618         (INSN_REFERENCES_ARE_DELAYED): Likewise.
4619
4620 Wed Feb  3 06:24:49 1999  Richard Earnshaw  (rearnsha@arm.com)
4621
4622         * config/arm/t-arm-elf (LIBGCC2_CFLAGS): Delete.
4623         * config/arm/t-linux (LIBGCC2_CFLAGS): Delete.
4624         (TARGET_LIBGCC2_CFLAGS): Define.
4625         (LIBGCC2_DEBUG_CFLAGS): Define.
4626         * config/arm/t-netbsd: Likewise.
4627         * config/arm/t-semi: Likewise.
4628         * config/arm/t-semiaof: Likewise.
4629         * config/arm/t-riscix: Likewise.
4630
4631 Wed Feb  3 10:59:07 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
4632
4633         * config/m68k/m68k.c (print_operand_address): When printing a
4634         SYMBOL_REF that ends in `.<letter>' put parentheses around it.
4635
4636 Tue Feb  2 23:38:35 1999  David O'Brien  <obrien@FreeBSD.org>
4637
4638         * i386/freebsd*.h now allows '$' in label names and does not use the
4639         PCC struct return method.
4640
4641 Tue Feb  2 22:38:23 1999  Jim Wilson  <wilson@cygnus.com>
4642
4643         * Makefile.in: Change all uses of AR to AR_FOR_TARGET.  Change all uses
4644         of HOST_AR to AR.  Likewise for AR_FLAGS, RANLIB, and RANLIB_TEST.
4645         (RANLIB_TEST): Test to see if ranlib exists.  Only test absolute file
4646         names if host == target.
4647         (HOST_AR, HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Delete.
4648         (AR_FLAGS_FOR_TARGET): Renamed from AR_FOR_TARGET_FLAGS.
4649         (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Delete rules
4650         setting them to *_FOR_TARGET.
4651         * cross-make (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST):
4652         Delete.
4653
4654 Tue Feb  2 22:38:19 1999  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
4655
4656         * toplev.h (read_integral_parameter): Declare.
4657         * toplev.c (read_integral_parameter): New function.
4658
4659 Fri Jan 29 21:00:56 1999  Bob Manson  <manson@charmed.cygnus.com>
4660
4661         * resource.c, resource.h: New files.
4662         * Makefile.in (OBJS): Add it.
4663
4664         * haifa-sched.c (regno_use_in): Moved to rtlanal.c.
4665         (split_block_insns): Moved to recog.c.
4666         (update_flow_info): Make public.
4667         * rtl.h: Declare them.
4668
4669         * reorg.c: Moved the functions dealing with computing resource
4670         usage to resource.c.
4671
4672         * sched.c (regno_use_in): Moved to rtlanal.c.
4673         (update_flow_info): Make public.
4674         (schedule_insns): Use split_block_insns.
4675
4676         * recog.c (split_block_insns): New function.
4677
4678 Tue Feb  2 22:03:26 1999  David Edelsohn  <edelsohn@gnu.org>
4679
4680         * rs6000/linux.h (LINK_START_DEFAULT_SPEC): Delete, unused.
4681         (LINK_OS_DEFAULT_SPEC): Delete, unused.
4682
4683 Tue Feb  2 20:29:34 1999  Catherine Moore  <clm@cygnus.com>
4684
4685         * configure.in (arm-*-oabi): Support.
4686         * configure: Regenerate.
4687         * config/arm/unknown-elf-oabi.h: New file.
4688
4689 Tue Feb  2 19:43:59 1999  Jeffrey A Law  (law@cygnus.com)
4690
4691         * i386.md (ashlsi3): Turn into a define_expand an anonymous pattern.
4692         Make the anonymous pattern match when ! optimize_size.
4693         (ashlsi3 size optimizer): New pattern.
4694
4695         * intl/Makefile.in (uninstall): Add missing "; \".
4696
4697 Tue Feb  2 18:21:23 1999  Stan Cox  <scox@cygnus.com>
4698
4699         * sparc.h (TARGET_CPU_sparc86x): Added. TARGET_CPU_sparclite86x
4700         synonym.
4701
4702 Tue Feb  2 20:24:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4703
4704         * loop.c (loop_optimize): Fix value max_uid_for_loop is reset
4705         to after find_and_verify_loops call.
4706
4707 Tue Feb  2 19:48:29 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4708
4709         * (recombine_givs): Don't use a giv that's likely to be dead to
4710         derive others.
4711
4712         * loop.c (recombine_givs): Fix test for lifetime overlaps / loop
4713         wrap around when deriving givs.
4714
4715 Mon Feb  1 20:00:40 1999  Richard Henderson  <rth@cygnus.com>
4716
4717         * recog.c (check_asm_operands): Treat indeterminate operand ok
4718         results as success.  Try harder to resolve a matching constraint.
4719         * stmt.c (expand_asm_operands): Recognize when an output operand's
4720         constraint does not allow memory.  Treat indeterminate operand ok
4721         results as failure.  Try harder to resolve a matching constraint.
4722         
4723 Mon Feb  1 15:00:02 1999  Ken Raeburn  <raeburn@cygnus.com>
4724
4725         Use varrays for constant-equivalence data:
4726
4727         * varray.h (struct const_equiv_data): New type.
4728         (union varray_data_tag): New element const_equiv.
4729         (VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV): New macros.
4730         (VARRAY_SIZE): New macro, returns number of elements.
4731         * integrate.h: Include varray.h.
4732         (struct inline_remap): Replace const_equiv_map, const_age_map and
4733         const_equiv_map_size with a const_equiv_varray element.
4734         (MAYBE_EXTEND_CONST_EQUIV_VARRAY): New macro; grows varray if
4735         needed.
4736         (SET_CONST_EQUIV_DATA): New macro; sets rtx and age fields
4737         simultaneously, growing the varray if needed.
4738
4739         * integrate.c (global_const_equiv_map,
4740         global_const_equiv_map_size): Deleted, replaced by....
4741         (global_const_equiv_varray): New variable.
4742         (expand_inline_function): References changed.
4743         * integrate.h: Update declarations.
4744
4745         * integrate.c (process_reg_parm, expand_inline_function,
4746         copy_rtx_and_substitute, try_constants, subst_constants,
4747         mark_stores): Use varray allocation and accessor macros, new
4748         integrate.h macros, and global_const_equiv_varray.  Don't
4749         conditionalize non-NULL stores on array size; instead, expand the
4750         array as needed.
4751         * unroll.c (unroll_loop): Likewise.
4752
4753         * unroll.c (unroll_loop): Initialize const_equiv_varray element to
4754         zero.  After allocating varray, always exit through bottom of
4755         function, where it can be deallocated if needed.  Don't explicitly
4756         reallocate const_equiv_map storage; instead, just ensure the
4757         varray has been initialized, and update the global reference.
4758
4759 Mon Feb  1 09:40:25 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4760
4761         * system.h (inline, const): Handle these for stage2 (and later) gcc.
4762
4763         * dwarf2out.c (inline): Don't define.
4764
4765         * dwarfout.c (inline): Likewise.
4766
4767 Sun Jan 31 22:04:37 1999  Richard Henderson  <rth@cygnus.com>
4768
4769         * loop.c (recombine_givs): Dump recombination and derivation data.
4770
4771 Sun Jan 31 20:34:29 1999  Zack Weinberg  <zack@rabi.columbia.edu>
4772
4773         * flags.h: Declare flag_no_ident.
4774         * toplev.c: Define flag_no_ident.  Process -f(no-)ident here.
4775         * c-tree.h: Don't declare flag_no_ident.
4776         * c-decl.c: Don't define flag_no_ident.  Don't process
4777           -f(no-)ident switches here.
4778
4779         * config/elfos.h (ASM_FILE_END): Output final .ident directive
4780           only if !flag_no_ident.
4781         * config/ptx4.h: Likewise.
4782         * config/svr4.h: Likewise.
4783         * config/alpha/elf.h: Likewise.
4784         * config/arm/linux-elf.h: Likewise.
4785         * config/i386/sco5.h: Likewise.
4786         * config/i860/fx2800.h: Likewise.
4787         * config/mips/gnu.h: Likewise.
4788         * config/i386/osfrose.h: Likewise.
4789
4790         * gcc.c (C specs): Map -Qn to -fno-ident.
4791         * objc/lang-specs.h: Likewise.
4792
4793 Mon Feb  1 10:52:07 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4794
4795         * configure.in: Don't remove loop.o and unroll.o when
4796         enable-haifa is selected.
4797         * configure: Rebuilt.
4798
4799 Sun Jan 31 13:22:02 1999  John Wehle  (john@feith.com)
4800
4801         * i386.md (movsicc, movhicc, movsfcc, movdfcc,
4802         movxfcc, movdicc): Delete unconstrained alternatives.
4803         * i386.c (output_fp_conditional_move,
4804         output_int_conditional_move): Delete unused case.
4805
4806 Sun Jan 31 01:15:04 1999  Jeff Law  (law@cygnus.com)
4807
4808         * version.c: Bump for snapshot.
4809
4810 Sun Jan 31 00:52:37 1999  Richard Henderson  <rth@cygnus.com>
4811
4812         * alpha.md (mov patterns): Emit the assembler aliases mov and fmov
4813         instead of bis and cpys.  Combine alternatives where possible.
4814
4815 Sat Jan 30 23:14:13 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4816
4817         * gcov.c (fnotice): Add missing FILE* parameter.
4818         (function_summary): Fix format specifiers in calls to `fnotice'.
4819         (output_data): Likewise.
4820
4821         * toplev.c (fnotice): Constify char* parameter.
4822
4823         * toplev.h (fnotice): Add prototype.
4824         Wrap prototype with BUFSIZ to protect FILE* usage.
4825         
4826 Sun Jan 31 15:33:09 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4827
4828         * config/c4x/c4x.h (RTX_COSTS): Explicitly define c4x costs.
4829         
4830 Sat Jan 30 08:27:23 1999  Jeffrey A Law  (law@cygnus.com)
4831
4832         * combine.c (distribute_notes): Handle REG_EH_REGION notes.
4833
4834         * alias.c (fixed_scalar_and_varying_struct_p): Add "static" to
4835         function definition.
4836         (aliases_everything_p, write_dependence_p):Likewise.
4837
4838         * install.texi: Fix merge lossages.
4839
4840         * cccp.c (main): Only call setlocale (LC_MESSAGES, ...) if LC_MESSAGES
4841         is defined.
4842         * collect2.c (main): Likewise.
4843         * cppmain.c (main): Likewise.
4844         * gcc.c (main): Likewise.
4845         * gcov.c (main): Likewise.
4846         * protoize.c (main): Likewise.
4847         * toplev.c (main): Likewise.
4848
4849         * pa.md (parallel shift and shiftadd): Mark output of shift as an
4850         earlyclobber.
4851
4852         * loop.c: Disable recent loop changes.  Temporary as Joern
4853         continues to fix problems.
4854
4855 Sat Jan 30 03:24:37 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4856
4857         * loop.c (strength_reduce): Size reg_map according to reg_iv_type.
4858
4859 Fri Jan 29 18:26:07 1999  Dave Brolley  <brolley@cygnus.com>
4860
4861         * emit-rtl.c (remove_insn): New function.
4862         * rtl.h (remove_insn): Add prototype.
4863         * function.c (reposition_prologue_and_epilogue_notes): Call remove_insn.
4864
4865 Fri Jan 29 22:34:41 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4866
4867         * loop.c (recombine_givs): Don't try to derive givs that have combined.
4868
4869 Fri Jan 29 15:00:39 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4870
4871         * toplev.c (notice, fnotice): Check ANSI_PROTOTYPES, not __STDC__,
4872         when declaring arguments and calling va_arg() to initialize them.
4873
4874         * collect2.c (notice): Likewise.
4875
4876         * loop.c (find_life_end): Use PROTO() macro in the prototype.
4877
4878 Fri Jan 29 14:36:11 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4879
4880         * collect2.c (error): Fix typo in declaration.
4881
4882         * cpperror.c (cpp_message): Likewise.
4883
4884         * cpplib.c (cpp_warning): Likewise.
4885
4886         * cpplib.h (cpp_notice): Use PVPROTO not VPROTO, also add
4887         ATTRIBUTE_PRINTF_1.
4888
4889         * toplev.c (error): Fix typo in declaration.
4890
4891 Fri Jan 29 15:44:13 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4892
4893         * loop.c (strength_reduce): Fix HAVE_cc0 handling when scanning
4894         forward from cont dominator.
4895
4896 Fri Jan 29 07:10:27 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4897
4898         * cccp.c (eprint_string): Constify a char*.
4899         (notice): Likewise.  Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
4900         (vnotice): Constify a char*.
4901         (error): Likewise.  Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
4902         (verror): Constify a char*.
4903         (warning): Likewise.  Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
4904         (vwarning): Constify a char*.
4905         (error_with_line): Likewise.  Use PVPROTO not VPROTO, add
4906         ATTRIBUTE_PRINTF_2.
4907         (verror_with_line): Constify a char*.
4908         (vwarning_with_line): Likewise.
4909         (warning_with_line): Likewise.  Use PVPROTO not VPROTO, add
4910         ATTRIBUTE_PRINTF_2.
4911         (pedwarn): Constify a char*.  Use PVPROTO not VPROTO, add
4912         ATTRIBUTE_PRINTF_1.
4913         (pedwarn_with_line): Likewise with ATTRIBUTE_PRINTF_2.
4914         (pedwarn_with_file_and_line): Likewise with ATTRIBUTE_PRINTF_4.
4915         Also correct typo in parameter name declaration.
4916         (make_assertion): Constify a char*.
4917         (quote_string_for_make): Likewise.
4918         (deps_output): Likewise.
4919         (fatal): Likewise.  Use PVPROTO not VPROTO, add
4920         ATTRIBUTE_PRINTF_1.  Use ATTRIBUTE_NORETURN not an explicit
4921         "__attribute__ ((noreturn))".
4922         (fancy_abort): Likewise for ATTRIBUTE_NORETURN.
4923         (pfatal_with_name): Likewise.
4924         (pipe_closed): Likewise.
4925         (memory_full): Likewise.
4926
4927 Fri Jan 29 00:14:55 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4928
4929         * loop.c (strength_reduce): Grow set_in_loop / n_times_set /
4930         may_not_optimize to proper size when converting biv increments
4931         into givs.
4932         If necessary, reallocate reg_iv_type / reg_iv_info before calling
4933         recombine_givs.
4934
4935 Thu Jan 28 23:24:08 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4936
4937         * loop.c (recombine_givs): New parameter unroll_p.  If set, don't
4938         generate complex adds.  Changed caller.
4939         Don't generate adds that cost more than the original one.
4940         (strength_reduce): Warning fixes.
4941
4942 Thu Jan 28 09:41:11 1999  Jeffrey A Law  (law@cygnus.com)
4943
4944         * configure.in (hppa1.0-hp-hpux10*): Use t-pa.
4945         * configure: Rebuilt.
4946
4947 Wed Jan 27 23:39:53 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4948
4949         * rtl.h (insn_first_p, no_jumps_between_p): Declare.
4950         * rtlanal.c (insn_first_p, no_jumps_between_p): New function.
4951         * loop.h (varray.h): Include.
4952         (struct induction): Change combined_with to unsigned.
4953         New members derived, ix and last_use.
4954         (reg_iv_type, reg_iv_info): Now varray_type.  All references changed.
4955         (REG_IV_TYPE, REG_IV_INFO): Define.
4956         (first_increment_giv, last_increment_giv): Declare.
4957         * loop.c (loop_number_loop_cont): New static variable.
4958         (loop_number_cont_dominator): Likewise.
4959         (reg_iv_type, reg_iv_info): Now varray_type.
4960         (first_increment_giv, last_increment_giv): New variables.
4961         (compute_luids, verify_dominator, find_life_end): New functions.
4962         (cmp_recombine_givs_stats, recombine_givs): Likewise.
4963         (loop_optimize): Allocate loop_number_loop_cont and
4964         loop_number_cont_dominator.  Use compute_luids.
4965         (find_and_verify_loops): Initialize loop_number_loop_cont and
4966         loop_number_cont_dominator.
4967         (strength_reduce): Try to find bivs that can be expressed as givs
4968         of another biv, and to convert biv increments into givs.
4969         Call recombine_givs.  Handle derived givs.
4970         (record_biv): New argument location.  All callers changed.
4971         (record_giv): Initialize derived and last_use fields.
4972         (basic_induction_var): New argument location.  All callers changed.
4973         (combine_givs): Don't combine a DEST_REG giv with a DEST_ADDR giv.
4974         Increment combined_with instead of setting to 1.
4975         * unroll.c (derived_regs): New static variable.
4976         (unroll_loop): Initialize it.
4977         Allocate local_regno according to max_reg_num.
4978         (copy_loop_body): Cope with derived givs.
4979         (find_splittable_givs): Check for Givs made from biv increments.
4980         Set derived_regs for givs.
4981         * Makefile.in (stmt.o, loop.o, unroll.o): Depend on loop.h .
4982
4983 Wed Jan 27 19:31:36 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
4984
4985         * function.c (purge_addressof_1): Handle case when a register
4986         has been used in a wider mode.
4987
4988 1999-01-27  Bruce Korb  <autogen@linuxbox.com>
4989
4990         * fixinc/fixincl.c, fixinc/server.[ch]:
4991         Removed the last of the capitalized variable and proc names.
4992
4993         * fixinc/server.c: Removed the process open code.
4994         * fixinc/procopen.c: New file containing the proc open code.
4995         * fixinc/inclhack.tpl: Added code to bypass a readability test
4996         when a file is not present.  A problem on some systems.
4997         * fixinc/inclhack.sh, fixinc/fixincl.sh: Regenerated.
4998
4999 Wed Jan 27 11:58:18 1999  Dave Brolley  <brolley@cygnus.com>
5000
5001         * cpplib.h (cpp_notice): Add prototype.
5002
5003 Wed Jan 27 02:20:48 1999  Jeffrey A Law  (law@cygnus.com)
5004
5005         * Merge gcc2 snapshot 19980929.
5006
5007         * cccp.c (PRINTF_PROTO): Remove.
5008         (PRINTF_PROTO_{1,2,3,4}: Likewise.
5009         * cexp.y: Likewise.
5010         * system.h: Add PRINTF_PROTO and PRINTF_PROTO_{1,2,3,4}.
5011
5012         * fix-header.c (cpp_file_lin_for_message): Delete.  In libcpp.
5013         (cpp_print_containing_files, v_cpp_message, cpp_message): Likewise.
5014         (cpp_fatal, cpp-Pfatal_with_name): Likewise.
5015
5016         * gen-protos.c (hashf): Delete in cpphash.o.
5017         * gen-protos.c (hashf): Delete in cpphash.o.
5018
5019         * expr.c: Do not merge SAVE_STACKAREA_MODE changes.
5020         * expmed.c: Likewise.
5021         * rs6000.md: Likewise.
5022
5023         * rs6000.c, rs6000.md: Do not merge formatting changes yet.
5024
5025 Wed Jan 27 01:13:42 1999  Richard Henderson  <rth@cygnus.com>
5026
5027         * rs6000.c (input_operand): Don't expect CONST around CONSTANT_P_RTX.
5028         * rs6000.md (movsi, movdi): Likewise.
5029
5030 Tue Jan 26 13:31:38 1999  Jim Wilson  <wilson@cygnus.com>
5031
5032         * function.c (expand_function_end): Pass arg_pointer_save_area to
5033         validize_mem before using it.  Emit code into a sequence.
5034
5035 Tue Jan 26 13:41:38 1999  David Edelsohn  <edelsohn@gnu.org>
5036
5037         * rs6000.md (doz + set cr and or + set cr patterns): Add missing
5038         '#' to split patterns.  Correct indentation of some new patterns.
5039
5040 1999-01-26  Zack Weinberg  <zack@midnite.ec.rhno.columbia.edu>
5041
5042         * cppfiles.c (safe_read): Deleted.
5043         (read_and_prescan): New function, replaces safe_read, converts
5044         and/or warns about trigraphs, silently converts odd line
5045         terminators (\r, \n\r, \r\n).  Warns about no newline at EOF.
5046         (finclude): Use read_and_prescan; turn off nonblocking mode on
5047         the input descriptor; remove file-size-examination and
5048         no-newline-at-EOF gunk which is longer necessary; be more
5049         careful about checking that we've been handed a legitimate
5050         file to read (only real files, pipes, and ttys are acceptable).
5051         * cpplib.h (cpp_options): Rename no_trigraphs flag to
5052         `trigraphs' and invert its sense.
5053         (trigraph_table): Declare.
5054         (cpp_warning_with_line): Prototype.
5055         * cpplib.c: Remove all references to trigraph_pcp. Define
5056         trigraph_table; initialize it in initialize_char_syntax.  Open
5057         files in nonblocking mode.  s/no_trigraphs/trigraphs/
5058         throughout, and invert sense.  Put cpp_warning_with_line back
5059         in and export it.
5060
5061 Tue Jan 26 23:21:49 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5062
5063         * config/c4x/c4x.h (COUNTER_REGS): New register class.
5064         * config/c4x/c4x.md (*rptb_init): Change constraints.
5065         (rptb_end): Emit alternate looping instructions if
5066         RC register not allocated for loop counter.
5067         (decrement_and_branch_on_count): Allow other registers
5068         for loop counter.
5069
5070 1999-01-25  Zack Weinberg  <zack@rabi.columbia.edu>
5071
5072         * cppexp.c (struct arglist): Removed.
5073         (parse_number): Use HOST_WIDE_INT for the accumulator.
5074         Allow two `l' suffixes unless C89.  Clean up.  Make static.
5075         (parse_charconst): New function broken out of cpp_lex.
5076         Code cleaned up drastically.  Don't use a token_buffer.
5077         (token_buffer): Removed.
5078         (cpp_lex): Don't call parse_number on a constant string.
5079         Use parse_charconst.
5080         (cpp_parse_expr): Properly handle an ERROR op returned by
5081         cpp_lex.
5082
5083 1999-01-25  Zack Weinberg  <zack@rabi.phys.columbia.edu>
5084
5085         * cpplib.c: Don't include signal.h, sys/times.h, or
5086         sys/resource.h. Don't declare localtime.
5087         (macroexpand): Handle special symbols here.
5088         (push_macro_expansion): Chop off the trailing '@ ' if possible
5089         here.
5090         (cpp_get_token): Don't do either of the above two things here.
5091         Move `string' label just after case '"' so that wide strings
5092         don't crash the preprocessor.
5093
5094 Sun Jan 24 20:13:45 1999  David Edelsohn  <edelsohn@gnu.org>
5095
5096         * rs6000.md (left shift + set cr patterns): Add missing '#' to
5097         split patterns.
5098         (move register + set cr pattern): Likewise.
5099         (movdi, !TARGET_POWERPC64 splitters): Add back in Jan. 15th patch,
5100         inadvertently deleted.
5101
5102 Sun Jan 24 08:07:59 1999  Jeffrey A Law  (law@cygnus.com)
5103
5104         * stmt.c (stmt_loop_nest_empty): New function.
5105         * tree.h (stmt_loop_nest_empty): Declare it.
5106         * rtl.def (CALL_PLACEHOLDER): New rtx code.
5107
5108 Sun Jan 24 21:24:43 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5109
5110         * config/c4x/c4x.c (c4x_emit_move_sequence, c4x_encode_section_info):
5111         New functions.
5112         (c4x_check_legit_addr): Remove USE and PLUS, allow
5113         LO_SUM, and disable SYMBOL_REF, LABEL_REF, and CONST cases.
5114         (c4x_legitimize_address): Penalize SYMBOL_REF, LABEL_REF, and
5115         CONST cases.  Add LO_SUM.
5116         (c4x_print_operand): Modified 'C' and 'R' cases for calls.
5117         Added 'U' case.  Remove dependence on SYMBOL_REF_FLAG.
5118         (c4x_print_operand_address): Handle LO_SUM.
5119         (c4x_scan_for_ldp): Delete.  Hooray!
5120         (c4x_process_after_reload): Remove call to c4x_scan_for_ldp.
5121         Split all insns.
5122         (c4x_immed_int_constant): Renamed from c4x_int_constant.  All callers
5123         changed.
5124         (c4x_immed_float_constant): Renamed from c4x_float_constant.  All
5125         callers changed.
5126         (c4x_T_constraint): Allow LO_SUM, disable SYMBOL_REF, LABEL_REF,
5127         and CONST.
5128         (c4x_U_constraint, symbolic_operand): New functions.
5129         (src_operand): Allow 'I' constants in HImode.  Allow LO_SUM,
5130         disable SYMBOL_REF, LABEL_REF, and CONST.
5131         (lsrc_operand, tsrc_operand): Call src_operand instead of
5132         general_operand.
5133         (c4x_operand_subword): Update comments.
5134
5135         * config/c4x/c4x.c (TARGET_LOAD_ADDRESS): New macro.
5136         (LEGITIMATE_CONSTANT_P): Allow SYMBOL_REF, LABEL_REF, CONST,
5137         plus HIGH and LO_SUM for the C40.
5138         (ENCODE_SECTION_INFO): Define macro.
5139         (symbolic_operand, c4x_U_constraint, c4x_emit_move_sequence): New
5140         prototypes.
5141         (PREDICATE_CODES): Add symbolic_operand.
5142
5143         * config/c4x/c4x.md (movqi, movgqf, movhi, movhi): Call
5144         c4x_emit_move_sequence.
5145         (floatunsqiqf2, fixuns_truncqfqi2): Rework emitted RTL
5146         to avoid symbol references.
5147         (all patterns with g constraint): Replace 'g' constraint with 'rIm'.
5148         (set_high): Renamed from set_high_use.
5149         (set_lo_sum): Renamed from set_ior_lo_use.
5150         (all call patterns): Make MEM explicit in call address operands.
5151         Modified output templates to use 'U' modifier.
5152         
5153 Sun Jan 24 01:15:05 1999  Jeff Law  (law@cygnus.com)
5154
5155         * version.c: Bump for snapshot.
5156
5157 Sat Jan 23 22:34:57 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5158
5159         * final.c (bb_str): Qualify a char* with the keyword `const'.
5160         (add_bb_string, final_scan_insn, output_asm_insn): Likewise.
5161
5162         * fix-header.c (read_scan_file): Likewise.
5163
5164         * genoutput.c (output_epilogue, process_template): Likewise.
5165         
5166         * local-alloc.c (requires_inout, block_alloc): Likewise.
5167
5168         * output.h (output_asm_insn, assemble_string): Likewise.
5169
5170         * recog.c (recog_constraints, check_asm_operands,
5171         decode_asm_operands, extract_insn, preprocess_constraints,
5172         constrain_operands): Likewise.
5173
5174         * recog.h (operand_alternative, recog_constraints, insn_template,
5175         insn_outfun, insn_operand_constraint, insn_name): Likewise.
5176
5177         * regclass.c (record_reg_classes, scan_one_insn): Likewise.
5178
5179         * regmove.c (find_matches): Likewise.
5180
5181         * reload.c (alternative_allows_memconst): Likewise.
5182
5183         * reload1.c (constraint_accepts_reg_p,
5184         reload_cse_simplify_operands): Likewise.
5185
5186         * rtl.h (decode_asm_operands): Likewise.
5187
5188         * scan.h (fn_decl): Likewise.
5189
5190         * varasm.c (assemble_string): Likewise.
5191
5192 Sat Jan 23 01:37:36 1999  Jeffrey A Law  (law@cygnus.com)
5193
5194         * configure.in (gcc_tooldir): Handle case where exec_prefix has
5195         not been explicitly set.
5196         * configure: Rebuilt.
5197
5198         * fold-const.c (lshift_double): Mark 'prec' arguments as possibly
5199         unused.
5200
5201         * bitmap.h (bitmap_head_def): Make indx field unsigned.
5202
5203         * configure.in (gcc_tooldir): When not making a relative gcc_tooldir,
5204         use $exec_prefix/$target_alias for gcc_tooldir.
5205         * configure: Rebuilt.
5206
5207 Fri Jan 22 11:48:56 1999  Richard Henderson  <rth@cygnus.com>
5208
5209         * cppp.c (xrealloc): Fix typo last change.
5210         * cppalloc.c, gcc.c, genattr.c, genattrtab.c, gencodes.c: Likewise.
5211         * genconfig.c, genemit.c, genextract.c, genflags.c: Likewise.
5212         * genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise.
5213
5214 1999-01-22  Michael Meissner  <meissner@cygnus.com>
5215
5216         * rs6000.h (CR0_REGNO_P): New macro to test if cr0.
5217         (CR_REGNO_NOT_CR0_P): New macro to test if cr, but not cr0.
5218         (PREDICATE_CODES): Add cc_reg_not_cr0_operand.
5219         (cc_reg_not_cr0_operand): Add declaration.
5220
5221         * rs6000.c (cc_reg_not_cr0_operand): Return true if register is a
5222         pseudo register, or a control register that is not CR0.
5223
5224         * rs6000.md (all combiner patterns building . instructions): For
5225         all `.' instructions that do something and set cr0, add an
5226         alternative that does the operation, and then sets a different
5227         flag, in order to avoid using the costly mcrf instruction and also
5228         allow cr0 to be clobbered in asm statements.  Also fix a few
5229         patterns that used the wrong register.
5230
5231         * rs6000.h (rs6000_cpu_select): Make string, names be const char *.
5232         (rs6000_debug_name): Make const char *, not char *.
5233
5234         * sysv4.h (rs6000_{abi,sdata}_name): Make const char *.
5235         
5236         * rs6000.c (rs6000_{debug,abi,sdata}_name): Make const char *.
5237         (rs6000_select): Use const char * in casts.
5238
5239 Fri Jan 22 07:43:01 1999  Jeffrey A Law  (law@cygnus.com)
5240         
5241         * Makefile.in (gcc_tooldir): Move before first reference.
5242         Let autoconf substitute in a value.
5243         * configure.in (gcc_tooldir): Only use a relative path to the
5244         tool directory if $exec_prefix == $prefix.
5245         * configure: Rebuilt.
5246
5247         * Makefile.in (tooldir): Replace with gcc_tooldir.
5248
5249 Thu Jan 21 23:21:57 1999  Jeffrey A Law  (law@cygnus.com)
5250
5251         * m68k.md (ashldi_const): Disable for !TARGET_5200.  Fix indentation.
5252         (ashldi3 expander): Similarly.  Update comments.
5253         (ashrdi_const, lshrdi_const): Fix indentation.
5254         (ashrdi3, lshrdi3): Fix indentation.  Update comments.
5255
5256 Thu Jan 21 21:53:36 1999  Richard Henderson  <rth@cygnus.com>
5257
5258         * emit-rtl.c (try_split): Don't try to split non-instructions.
5259
5260 Thu Jan 21 23:47:30 1999  Andrew MacLeod  <amacleod@cygnus.com>
5261
5262         * expr.c (emit_push_insn): Fix dumb typo.
5263
5264 Thu Jan 21 20:24:02 1999  Richard Henderson  <rth@cygnus.com>
5265
5266         * rs6000.h (LEGITIMIZE_RELOAD_ADDRESS): Recognize and accept
5267         transformations that we have performed earlier.
5268         * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
5269
5270         * alpha.md (prologue_stack_probe_loop): Don't do our own label
5271         handling, call gen_label_rtx instead.
5272
5273 Thu Jan 21 17:45:18 1999  Richard Henderson  <rth@cygnus.com>
5274
5275         * configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): Add missing `then'.
5276
5277         * cccp.c (xrealloc): Call malloc given a NULL old pointer.
5278         * collect2.c, cppalloc.c, gcc.c, genattr.c, genattrtab.c: Likewise.
5279         * gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise.
5280         * genflags.c, genopinit.c, genoutput.c, genpeep.c: Likewise.
5281         * genrecog.c, mips-tfile.c, protoize.c: Likewise.
5282
5283 Thu Jan 21 19:44:55 1999  Michael Meissner  <meissner@cygnus.com>
5284
5285         * configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): If
5286         --with-gnu-ld, use x-aix41-gld instead of x-aix41 to suppress
5287         adding -Wl,-bbigtoc to BOOT_LDFLAGS.
5288         * configure: Regenerate.
5289
5290         * config/rs6000/x-aix41-gld: New file, don't set BOOT_LDFLAGS.
5291
5292 Thu Jan 21 15:48:03 1999  Dave Brolley  <brolley@cygnus.com>
5293
5294         * cppexp.c (cpp_lex): Allocate token_buffer dynamically.
5295
5296 Thu Jan 21 14:18:04 1999  Andrew MacLeod  <amacleod@cygnus.com>
5297
5298         * expr.c (MOVE_BY_PIECES_P): Define condition for deciding to use
5299         move_by_pieces.
5300         (MOVE_MAX_PIECES): Define maximum number of bytes to move at once.
5301         (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT): Define defaults.
5302         (USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define defaults.
5303         (move_by_pieces): Use new macros.
5304         (emit_block_move): Use new macros.
5305         (clear_by_pieces): Use new macros.
5306         (clear_storage): Use new macros.
5307         (emit_push_insn): Use new macros.
5308         (expand_expr): Use new macros.
5309         * config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT):
5310         Define.
5311         (USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define.
5312         (MOVE_BY_PIECES_P): Define based on alignment and TARGET_SMALLCODE.
5313         (MOVE_MAX_PIECES): Move 8 bytes on SH4.
5314         * tm.texi(MOVE_BY_PIECES_P, MOVE_MAX_PIECES, USE_LOAD_POST_INCREMENT,
5315         USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT,
5316         USE_STORE_PRE_DECREMENT): Describe new macros.
5317
5318 Thu Jan 21 14:13:31 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
5319
5320         * varasm.c (output_constant_pool): Use floor_log2 instead of
5321         exact_log2 for ASM_OUTPUT_ALIGN.
5322
5323         * stor-layout.c (layout_type): Do machine-dependent extra alignment.
5324
5325         * emit-rtl.c (operand_subword): Handle case when a subword outside
5326         the operand.
5327
5328         * tm.texi (ROUND_TYPE_{SIZE,ALIGN}): More accurate descriptions of
5329         the macros.
5330
5331 Thu Jan 21 01:59:30 1999  Richard Henderson  <rth@cygnus.com>
5332
5333         * cse.c (fold_rtx): Revert 29 Dec change.
5334         (cse_insn): Revert 12 Jan change.
5335         * expr.c (expand_builtin): Don't emit CONST around CONSTANT_P_RTX.
5336         * regclass.c (reg_scan_mark_refs): Revert 29 Dec change.
5337         * rtl.def: Likewise.
5338         * rtl.h (CONSTANT_P): Likewise.
5339
5340         * expr.c (emit_move_insn): Never try to flush CONSTANT_P_RTX
5341         to memory.
5342         * recog.c (immediate_operand): Accept CONSTANT_P_RTX.
5343         * alpha.c (input_operand): Likewise.
5344         * c4x.c (const_operand): Likewise.
5345
5346         * explow.c (allocate_dynamic_stack_space): Use register_operand
5347         instead of arith_operand, which does not exist.
5348
5349         * 1750a.h: Fix comment closure.
5350         * a29k.c (a29k_set_memflags): Fix typo in 19 Jan change.
5351         * arc.md (one_cmplsi2_set_cc_insn): Fix set mode mismatch.
5352         * arm.h (TARGET_SWITCHES): Fix typo.
5353         * i370.md (anon mult and div patterns): Fix set mode mismatch.
5354         * i860.c (output_delayed_branch): Fix operands to constrain_operands.
5355         (output_delay_insn): Likewise.
5356         * m88k.md (anon rotate insns): Fix set mode mismatch.
5357         (anon BLKmode moves): Commonize and fix set mode mismatches.
5358         * ns32k.md (udivmoddi[shq]i4_internal): Fix mode mismatch.
5359         * romp.md (movdf): Fix typo.
5360
5361 Thu Jan 21 00:29:35 1999  Nathan Sidwell  <nathan@acm.org>
5362
5363         * Makefile.in (install-common): Remove extraneous chmod for gcov
5364         install.
5365
5366 Wed Jan 20 18:15:08 1999  Dave Brolley  <brolley@cygnus.com>
5367
5368         * function.c (assign_parms): Save and restore setting of
5369         TREE_USED (parm).
5370
5371 Wed Jan 20 12:51:42 1999  Mark Mitchell  <mark@markmitchell.com>
5372
5373         * arm.md: Use MEM_COPY_ATTRIBUTES where appropriate throughout.
5374         Pass MEM_SCALAR_P to arm_gen_store_multiple where appropriate.
5375
5376 Tue Jan 19 21:20:52 1999  Richard Henderson  <rth@cygnus.com>
5377
5378         * recog.c (pop_operand): New function.
5379         * recog.h (pop_operand): Declare it.
5380         * genrecog.c (preds): Define it.
5381
5382         * expr.c (do_jump_for_compare): Handle conditional branch expanders
5383         emitting multiple jump instructions.
5384         * jump.c (condjump_label): New function.
5385         * rtl.h (condjump_label): Declare it.
5386
5387 Tue Jan 19 21:08:20 1999  Richard Henderson  <rth@cygnus.com>
5388
5389         * expr.c (emit_move_insn_1): Revert 17 Dec change.  Don't emit
5390         clobber during or after reload.
5391
5392 Tue Jan 19 16:56:03 1999  Richard Henderson  <rth@cygnus.com>
5393
5394         * genoutput.c (name_for_index): New function.
5395         (scan_operands, validate_insn_alternatives): Use it.
5396         * genrecog.c (insn_name_ptr_size): New variable.
5397         (make_insn_sequence): Fill in insn_name_ptr.
5398         (merge_trees): Use it.
5399
5400 Tue Jan 19 16:37:36 1999  Richard Henderson  <rth@cygnus.com>
5401
5402         * i386/isc.h (TARGET_DEFAULT): Define symbolicly.
5403         * i386/isccoff.h, i386/next.h, i386/sco.h, i386/sco5.h: Likewise.
5404         * i386/scodbx.h, i386/sequent.h, i386.unix.h: Likewise.
5405
5406 Tue Jan 19 15:00:10 1999  Jeffrey A Law  (law@cygnus.com)
5407
5408         * loop.c (NUM_STORES): Delete.
5409         (loop_store_mems): Turn into an EXPR_LIST of MEMs.
5410         (prescan_loop): Properly initialize loop_mems_idx.
5411         (note_addr_stored): Simplify using list structure instead of
5412         fixed sized array.
5413         (invariant_p, check_dbra_loop, load_mems): Similarly.
5414
5415         * flow.c (invalidate_from_autoinc): New function.
5416         (mark_set_1, mark_used_regs): Use it.
5417
5418         * Makefile.in (protoize.o, unprotoize.o): Depend on Makefile.
5419
5420 1999-01-19  Vladimir N. Makarov  <vmakarov@cygnus.com>
5421
5422         * invoke.texi (-mlong-double-64): New option description.
5423
5424 1999-01-19  Jim Wilson  <wilson@cygnus.com>
5425
5426         * libgcc2.c: Change all uses of LONG_DOUBLE_TYPE_SIZE to
5427         LIBGCC2_LONG_DOUBLE_TYPE_SIZE.
5428         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New.  Set to LONG_DOUBLE_TYPE_SIZE
5429         if not defined.
5430         * i960/i960.h (MULTILIB_DEFAULTS): Define to mnumerics.
5431         (CPP_SPECS): Add -mlong-double-64 support.
5432         (TARGET_FLAG_LONG_DOUBLE_64, TARGET_LONG_DOUBLE_64): New.
5433         (TARGET_SWITCHES): Add -mlong-double-64 support.
5434         (LONG_DOUBLE_TYPE_SIZE): Likewise.
5435         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
5436         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Define to msoft-float.
5437         (CPP_SPECS): Add -mlong-double-64 support.
5438         * i960/t-960bare (MULTILIB_OPTIONS): Add mlong-double-64.
5439         (MULTILIB_DIRNAMES): Add ld64.
5440         * i960/t-vxworks960 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Likewise.
5441
5442 Tue Jan 19 11:54:04 1999  Jason Merrill  <jason@yorick.cygnus.com>
5443
5444         * calls.c (expand_call): Strip a TARGET_EXPR if we're passing by
5445         invisible reference.
5446
5447 Tue Jan 19 14:51:36 1999  David Edelsohn  <edelsohn@gnu.org>
5448
5449         * rs6000.c (offsettable_addr_operand): Delete.
5450         (offsettable_mem_operand): New function.
5451         * rs6000.h (PREDICATE_CODES): Reflect function change.
5452         (RS6000_SAVE_TOC): Represent address as MEM.
5453         * win-nt.h (RS6000_SAVE_TOC): Same.
5454         * rs6000.md (indirect calls): Change offsettable address parameter
5455         to offsettable memory parameter.
5456
5457 Tue Jan 19 10:24:53 1999  Mark Mitchell  <mark@markmitchell.com>
5458
5459         * rtl.h (rtx_def): Update documentation.
5460         (MEM_IN_STRUCT_P): Likewise.
5461         (MEM_SCALAR_P): New macro.
5462         (MEM_COPY_ATTRIBUTES): Likewise.
5463         (MEM_SET_IN_STRUCT_P): Likewise.
5464         * rtl.texi (MEM_SCALAR_P): Document.
5465         * alias.c (canon_rtx): Use MEM_COPY_ATTRIBUTES.
5466         (fixed_scalar_and_varying_struct_p): New function.  Use
5467         MEM_SCALAR_P rather than !MEM_IN_STRUCT_P.
5468         (aliases_everything_p): Likewise.
5469         (true_dependence): Use them.
5470         (write_dependence_p): New function, containing code common to
5471         anti_dependence and output_dependence.
5472         (anti_dependence): Use it.
5473         (output_dependence): Likewise.
5474         * calls.c (save_fixed_argument_area): Don't clear
5475         MEM_IN_STRUCT_P.
5476         (expand_call): Use MEM_SET_IN_STRUCT_P.
5477         (emit_library_call): Don't clear MEM_IN_STRUCT_P.
5478         (emit_library_call_value): Likewise.
5479         (store_one_arg): Use MEM_SET_IN_STRUCT_P.
5480         * combine.c (simplify_rtx): Use MEM_COPY_ATTRIBUTES.
5481         (make_extraction): Likewise.
5482         (simplify_shift_const): Likewise.
5483         (gen_lowpart_for_combine): Likewise.
5484         * cse.c (gen_lowpart_if_possible): Use MEM_COPY_ATTRIBUTES.
5485         * emit-rtl.c (operand_subword): Likewise.
5486         (change_address): Likewise.
5487         * explow.c (stabilize): Use MEM_COPY_ATTRIBUTES.
5488         * expr.c (protect_from_queue): Use MEM_COPY_ATTRIBUTES.
5489         (emit_group_store): Use MEM_SET_IN_STRUCT_P.
5490         (copy_blkmode_from_reg): Likewise.
5491         (store_field): Likewise.
5492         (expand_expr): Remove bogus guesswork setting MEM_IN_STRUCT_P
5493         heuristically.  Use MEM_SET_IN_STRUCT_P.
5494         (get_memory_rtx): Likewise.
5495         * final.c (alter_subreg): Use MEM_COPY_ATTRIBUTES.
5496         * function.c (assign_stack_temp): Clear MEM_SCALAR_P and
5497         MEM_ALIAS_SET on newly returned MEMs.
5498         (assign_temp): Use MEM_SET_IN_STRUCT_P.
5499         (put_reg_into_stack): Likewise.
5500         (fixup_var_refs1): Use MEM_COPY_ATTRIBUTES.
5501         (gen_mem_addressof): Use MEM_SET_IN_STRUCT_P.
5502         (assign_parms): Likewise.
5503         (expand_function): Likewise.
5504         * integrate.c (expand_inline_function): Likewise.
5505         (copy_rtx_and_substitute): Use MEM_COPY_ATTRIBUTES.
5506         * loop.c (note_addr_stored): Remove check on MEM_IN_STRUCT_P.
5507         * optabs.c (gen_move_insn): Use MEM_COPY_ATTRIBUTES.
5508         * print-rtl.c (print_rtx): Print /f for frame_related.
5509         * recog.c (validate_replace_rtx_1): Use MEM_COPY_ATTRIBUTES.
5510         * reload1.c (reload): Copy MEM_SCALAR_P as well.
5511         * stmt.c (expand_decl): Use MEM_SET_IN_STRUCT_P.
5512         (expand_anon_union_decl): Use MEM_COPY_ATTRIBUTES.
5513         * varasm.c (make_decl_rtl): Use MEM_SET_IN_STRUCT_P.
5514         (output_constant_def): Likewise.
5515         * a29k.c (a29k_set_memflags_1): Take scalar_p.
5516         Set MEM_SCALAR_P.
5517         (a29k_set_memflags): Use it.
5518         * alpha.c (get_aligned_mem): Use MEM_COPY_ATTRIBUTES.
5519         * c4x.c (c4x_scan_for_ld): Likewise.
5520         * h8300.c (fix_bit_operand): Likewise.
5521         * m88k.c (legitimize_address): Likewise.
5522         (block_move_loop): Likewise.
5523         (block_move_no_loop): Likewise.
5524         (block_move_sequence): Likewise.
5525         (m88k_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
5526         * mips/abi64.h (SETUP_INCOMING_VARARGS): Likewise.
5527         * rs6000.c (expand_block_move_insn): Use MEM_COPY_ATTRIBUTES.
5528         * sh.c (sh_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
5529         * arm.h (arm_gen_load_multiple): Take scalar_p.
5530         (arm_store_load_multiple): Likewise.
5531         * arm.c (arm_gen_load_multiple): Likewise.
5532         (arm_gen_store_multiple): Likewise.
5533         (arm_gen_movstrqi): Treat MEM_SCALAR_P like MEM_IN_STRUCT_P.
5534         
5535 Tue Jan 19 12:30:37 1999  Andrew MacLeod  <amacleod@cygnus.com>
5536
5537         * optabs.c (emit_libcall_block): Add a REG_EH_REGION reg note to all
5538         calls within a libcall block to indicate no throws are possible.
5539         * flow.c (find_basic_blocks, find_basic_blocks_1): Don't look for
5540         libcall blocks. Don't add edges to exception handlers if we see
5541         a REG_EH_REGION note with a value of 0.
5542         (make_edges): Override active_eh_region vector if the call has a note
5543         indicating the call does not throw.
5544
5545 1999-01-19  Vladimir N. Makarov  <vmakarov@cygnus.com>
5546
5547         * config/rs6000/sysv4.h (CC1_SPEC): Fix correct numbers of {}.
5548
5549 Tue Jan 19 06:26:30 1999  Jeffrey A Law  (law@cygnus.com)
5550
5551         * Makefile.in (cccp.o, cpplib.o): Depend on Makefile.
5552
5553 Mon Jan 18 09:56:41 1999  Jason Merrill  <jason@yorick.cygnus.com>
5554
5555         * invoke.texi (C++ Dialect Options): Document -fno-rtti.
5556
5557 1999-01-18  Vladimir N. Makarov  <vmakarov@cygnus.com>
5558
5559         *  invoke.texi (-mcpu=740, -mcpu=750): New options.
5560         (-m(no-)multiple, -m(no-)string): Describe cases for PPC740 &
5561         PPC750.
5562
5563 1999-01-18  Michael Meissner  <meissner@cygnus.com>
5564
5565         * rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
5566         supported with -mcpu=xxx.
5567         (processor_type): Add PROCESSOR_PPC750.
5568         (ADJUST_PRIORITY): Call rs6000_adjust_priority.
5569         (RTX_COSTS): Supply costs for 750 multiply/divide operations.
5570         (rs6000_adjust_priority): Add declaration.
5571         
5572         * rs6000.c (rs6000_override_options): -mcpu={750,740} now sets the
5573         processor type as 750, not 603.  Allow -mmultiple and -mstring on
5574         little endian 750 systems.
5575         (rs6000_adjust_priority): Stub for now.
5576         (get_issue_rate): The PowerPC 750 can issue 2 instructions/cycle.
5577
5578         * rs6000.md (function/cpu attributes): Add initial ppc750 support.
5579
5580         * sysv4.h (STRICT_ALIGNMENT): Don't force strict alignment if
5581         little endian.
5582         (CC1_SPEC): Pass -mstrict-align if little endian, and not
5583         overridden.
5584         (CC1_ENDIAN_{LITTLE,BIG,DEFAULT}_SPEC): Endian specific configs.
5585         (SUBTARGET_EXTRA_SPECS): Add cc1 endian specs.
5586
5587         * {sysv4,eabi}le.h (CC1_ENDIAN_DEFAULT_SPEC): Override, default is
5588         little endian.
5589
5590         * t-ppcgas (MULTILIB_*): Delete obsolete Solaris multilibs.
5591
5592 Mon Jan 18 12:03:08 1999  Gavin Romig-Koch  <gavin@cygnus.com>
5593
5594         * config/mips/mips.md (div_trap): Split div_trap_mips16
5595         from div_trap.
5596         (div_trap_normal,div_trap_mips16): Correct the length attributes.
5597
5598 Mon Jan 18 11:48:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5599
5600         * cpplib.c (special_symbol): Qualify a char* with the `const' keyword.
5601         Instead of writing to const char *buf directly, use a non-const
5602         variable `wbuf' to allocate and write a string, then set buf = wbuf.
5603
5604         * cppulp.c (user_label_prefix): Qualify a char* with the `const'
5605         keyword.
5606
5607         * dyn-string.c (dyn_string_append): Likewise.
5608
5609         * dyn-string.h (dyn_string_append): Likewise.
5610
5611         * final.c (end_final, output_operand_lossage, asm_fprintf): Likewise.
5612
5613         * output.h (end_final, output_operand_lossage, asm_fprintf,
5614         named_section, decode_reg_name, make_decl_rtl, user_label_prefix):
5615         Likewise.
5616
5617         * profile.c (init_branch_prob): Likewise.
5618
5619         * toplev.c (set_target_switch, vmessage,
5620         v_message_with_file_and_line, v_message_with_decl,
5621         v_error_with_file_and_line, v_error_with_decl, v_error_for_asm,
5622         verror, vfatal, v_warning_with_file_and_line, v_warning_with_decl,
5623         v_warning_for_asm, vwarning, vpedwarn, v_pedwarn_with_decl,
5624         v_pedwarn_with_file_and_line, vsorry, v_really_sorry,
5625         open_dump_file, dump_rtl, clean_dump_file,
5626         print_version, print_single_switch, print_switch_values,
5627         dump_base_name, debug_args, lang_independent_options,
5628         user_label_prefix, documented_lang_options, target_switches,
5629         target_options, print_time, pfatal_with_name, fatal_io_error,
5630         fatal_insn, default_print_error_function, print_error_function,
5631         report_error_function, error_with_file_and_line, error_with_decl,
5632         error_for_asm, error, fatal, warning_with_file_and_line,
5633         warning_with_decl, warning_for_asm, warning, pedwarn,
5634         pedwarn_with_decl, pedwarn_with_file_and_line, sorry,
5635         really_sorry, botch, output_quoted_string, output_file_directive,
5636         open_dump_file, rest_of_decl_compilation, display_help, main):
5637         Likewise.
5638
5639         * toplev.h (print_time, fatal, fatal_io_error, pfatal_with_name,
5640         fatal_insn, warning, error, pedwarn, pedwarn_with_file_and_line,
5641         warning_with_file_and_line, error_with_file_and_line, sorry,
5642         really_sorry, default_print_error_function, report_error_function,
5643         rest_of_decl_compilation, pedwarn_with_decl, warning_with_decl,
5644         error_with_decl, error_for_asm, warning_for_asm, output_quoted_string,
5645         output_file_directive, botch): Likewise.
5646
5647         * tree.h (make_decl_rtl): Likewise.
5648
5649         * varasm.c (strip_reg_name, named_section, decode_reg_name,
5650         make_decl_rtl): Likewise.
5651         
5652 Mon Jan 18 11:35:49 1999  Gavin Romig-Koch  <gavin@cygnus.com>
5653
5654         * Makefile.in (TCL_LIBRARY): Use 'cd' to find the library
5655         directory logically rather than physically.
5656
5657 Mon Jan 18 09:05:37 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5658
5659         * loop.c (insert_bct): Hide the definition of variables
5660         `increment_direction', `compare_direction', `add_iteration' and
5661         `loop_var_mode'.
5662
5663         * recog.c (mode_dependent_address_p): Mark parameter `addr' with
5664         ATTRIBUTE_UNUSED.  Mark label `win' with ATTRIBUTE_UNUSED_LABEL.
5665         (mode_independent_operand): Mark label `lose' with
5666         ATTRIBUTE_UNUSED_LABEL.
5667
5668         * regclass.c (n_occurrences): Remove prototype and definition.
5669
5670         * reload.c (find_reloads_address_1): Mark variable `tem' with
5671         ATTRIBUTE_UNUSED.
5672
5673         * reload1.c (reload): Cast the first two arguments of `bcopy' to PTR.
5674
5675         * sbitmap.c (sbitmap_copy): Likewise.
5676
5677         * scan-decls.c (scan_decls): Hide label `handle_comma'.
5678
5679         * toplev.c (output_lang_identify): Mark prototype with
5680         ATTRIBUTE_UNUSED.
5681
5682         * tree.c (make_node): Cast the first argument of `bzero' to PTR.
5683         (make_tree_vec): Likewise.
5684         (build1): Likewise.
5685
5686         * varasm.c (assemble_static_space): Mark variable `tem' with
5687         ATTRIBUTE_UNUSED.
5688
5689 Mon Jan 18 04:28:36 1999  Nathan Sidwell  <nathan@acm.org>
5690
5691         * Makefile.in (GCOV_INSTALL_NAME): New macro.
5692         (install-common): Use it.
5693         (uninstall): Use it.
5694         (uninstall): Use correct names for protoize and unprotoize.
5695
5696 Mon Jan 18 03:52:56 1999  Christian Bruel  <Christian.Bruel@st.com>
5697                           Jeffrey A Law  (law@cygnus.com)
5698
5699         * flow.c (last_mem_set): Delete variable.  References removed.
5700         (mem_set_list): New variable.
5701         (life_analysis): Initialize and finalize alias analysis.
5702         (propagate_block); Initialize mem_set_list.  Clear for CALL_INSNs.
5703         (insn_dead_p): For a store to memory, search the entire mem_set_list
5704         for a match.
5705         (mark_set_1): Kill entries on the mem_set_list for aliased writes or
5706         changes to their addresses.  Add new entries to the mem_set_list for
5707         memory writes writes.
5708         (mark_used_regs): Kill entries on the mem_set_list which may be
5709         referenced by a load operation.
5710
5711 Mon Jan 18 01:01:02 1999  Jeffrey A Law  (law@cygnus.com)
5712
5713         * alias.c (base_alias_check): Add missing return for differing
5714         symbols case.
5715
5716 Mon Jan 18 00:36:13 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5717
5718         * mips-tdump.c (print_file_desc): Handle unknown filenames and
5719         missing local symbols.
5720
5721 Sun Jan 17 21:04:31 1999  Richard Henderson  <rth@cygnus.com>
5722
5723         * jump.c (rtx_renumbered_equal_p): Special case CODE_LABEL.
5724
5725         * system.h (bcopy): Implement with memmove not memcpy.
5726
5727 Sun Jan 17 19:23:20 1999  Jeffrey A Law  (law@cygnus.com)
5728
5729         * Makefile.in (cppulp.o): Add dependencies.
5730
5731         * i386.md (integer conditional moves): Add missing earlyclobbers.
5732
5733         * regmove.c (optimize_reg_copy_1): Undo Aug 18 change.  Update
5734         REG_N_CALLS_CROSSED and REG_LIVE_LENGH if and only if we change
5735         where a register is live.
5736
5737 Sun Jan 17 03:20:47 1999  H.J. Lu  (hjl@gnu.org)
5738
5739         * reg-stack.c (subst_stack_regs_pat): Abort if the destination
5740         of a FP conditional move is not on the FP register stack.
5741
5742 Sun Jan 17 01:15:04 1999  Jeff Law  (law@cygnus.com)
5743
5744         * version.c: Bump for snapshot.
5745
5746 Sat Jan 16 23:40:33 1999  Jeffrey A Law  (law@cygnus.com)
5747
5748         * reload1.c (reload_cse_regs_1): Do not call
5749         reload_cse_simplify_operands for an insn with asm operands.
5750
5751         * cccp.c (print_help): Fix typos.
5752         * cpplib.c (print_help): Fix typos.
5753         * toplev.c (f_optiosn): Fix typos.
5754         (documented_lang_options): Fix typos.
5755
5756 Sat Jan 16 21:48:17 1999  Marc Espie  (Marc.Espie@openbsd.org)
5757
5758         * gcc.c (do_spec_1): Fix obvious typo.
5759
5760 Sat Jan 16 19:31:07 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5761
5762         * c-decl.c (duplicate_decls): If `warn_traditional', warn when
5763         a non-static function declaration follows a static one.
5764
5765         * invoke.texi (-Wtraditional): Document the extra check now done
5766         by this flag.
5767
5768 Sat Jan 16 15:13:46 1999  Jeffrey A Law  (law@cygnus.com)
5769
5770         * pa.md (shadd): Create shadd insns, even if the result of the shift is
5771         needed without the addition.
5772
5773 Sat Jan 16 10:48:16 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
5774
5775         * sh.md (movdf, movsf): Temporary workaround for no_new_pseudos lossage.
5776
5777 Fri Jan 15 23:44:37 1999  Richard Henderson  <rth@cygnus.com>
5778
5779         * sparc.c (sparc_issue): Add hypersparc/sparclite86x entries.
5780
5781 Fri Jan 15 22:30:04 1999  David Edelsohn  <edelsohn@gnu.org>
5782
5783         * rs6000.h (CONST_OK_FOR_LETTER_P): Do not assume 32-bit CONST_INT.
5784         * rs6000.c (u_short_cint_operand, add_operand, logical_operand,
5785         non_add_cint_operand, non_logical_cint_operand): Likewise.
5786         (get_issue_rate): Add CPU_PPC604E case.
5787         * rs6000.md (movdi, !TARGET_POWERPC64 splitters): Handle 64-bit hosts.
5788         
5789 Fri Jan 15 18:42:12 1999  Richard Henderson  <rth@cygnus.com>
5790
5791         * expr.c (queued_subexp_p): Make public.
5792         * expr.h (queued_subexp_p): Declare it.
5793         * recog.c (asm_operand_ok): New function.
5794         (check_asm_operands): Use it.  After reload, use constrain_operands
5795         instead.
5796         * recog.h (asm_operand_ok): Declare it.
5797         * stmt.c (expand_asm_operands): Use it to try harder to make
5798         asms initially satisfy their constraints.
5799
5800 Fri Jan 15 17:43:59 1999  Jeffrey A. Law  <law@rtl.cygnus.com>
5801
5802         * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do not create
5803         (mem (lo_sum (...)) for TFmode unless TARGET_V9.
5804
5805 Sat Jan 16 12:47:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5806
5807         * config/c4x/c4x.md (not_repeat_reg): Allow ldp instruction
5808         in delay slot of RPTBD.
5809
5810 Sat Jan 16 12:26:40 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5811
5812         * config/c4x/libgcc.S (___divhi3, ___modhi3): Fix long long
5813         divide and modulo sign problem.
5814
5815 Fri Jan 15 11:02:31 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5816
5817         * unroll.c (loop_iterations): Return 0 if the last loop insn
5818         is not a jump insn or if the loop has multiple back edges.
5819
5820 1999-01-15  Manfred Hollstein  <manfred@s-direktnet.de>
5821
5822         * configure.in (fixinc_defs): Do not define for m[68]8k-motorola-sysv{,3};
5823         it's working properly now.  Remove comment saying "see m68k-motorola-sysv
5824         as an example".
5825         * configure: Regenerate using autoconf.
5826
5827         * fixinc/fixincl.c (main): Do not ignore SIGCHLD.
5828
5829 Thu Jan 14 22:38:41 1999  Jeffrey A Law  (law@cygnus.com)
5830
5831         * unroll.c (find_splittable_givs): For a DEST_ADDR giv, do not share
5832         a register with another DEST_ADDR giv if the address is not valid.
5833
5834         * pa.c (hppa_expand_epilogue): Save and restore the static chain
5835         around the call to mcount.
5836
5837         * h8300.h (ASM_OUTPUT_LABELREF): Use asm_fprintf, not fprintf.
5838
5839         * stmt.c (expand_end_case): Use emit_cmp_and_jump_insns to avoid
5840         generating non-canonical rtl.
5841
5842 1999-01-14  Vladimir N. Makarov  <vmakarov@cygnus.com>
5843
5844         * config/i960/i960.c (i960_output_move_double_zero,
5845         i960_output_move_quad_zero): New functions for moving zeros.
5846         (i960_output_move_double, i960_output_move_quad): Additional code
5847         for situation when moving unaligned register group.
5848         
5849         * config/i960/i960.h (i960_output_move_double_zero,
5850         i960_output_move_quad_zero): The function definitions.
5851
5852         * config/i960/i960.md (movdi+1, movti+1): Usage of the functions.
5853
5854 1999-01-13  Vladimir N. Makarov  <vmakarov@cygnus.com>
5855
5856         * config/i960/i960.c (i960_function_prologue): New code (optimal
5857         solution) for saving global registers in local registers.
5858         (form_reg_groups, reg_group_compare, split_reg_group): New
5859         functions used by the code.
5860         (reg_group): New structure definition for the new code.
5861
5862 1999-01-13  Manfred Hollstein  <manfred@s-direktnet.de>
5863
5864         * fixinc/fixincl.c (create_file): Pass file creation mask as
5865         third parameter to "open".  Use O_TRUNC flag to open instead of
5866         explicitly unlink'ing the file.
5867         (process): and forget about the "chmod" stuff.
5868
5869 Wed Jan 13 20:12:37 1999  Richard Henderson  <rth@cygnus.com>
5870
5871         * integrate.c (expand_inline_function): Recognize (mem (addressof))
5872         and substitute.  Copy the return value from there into a new pseudo.
5873
5874 Wed Jan 13 16:47:00 1999  Catherine Moore  <clm@cygnus.com>
5875
5876         * config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN
5877         before generating a call to abort for volatile functions.
5878         * config/arm.h (ARM_FLAG_ABORT_NORETURN): Define.
5879         (TARGET_ABORT_NORETURN): Define.
5880         (abort-on-noreturn): New option.
5881
5882 Thu Jan 14 13:52:42 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5883
5884         * config/c4x/c4x.md (in_annul_slot_3): Correctly allow unarycc
5885         and binarycc operations in 3rd annulled delay slot!
5886
5887 Wed Jan 13 16:16:44 1999  Catherine Moore  <clm@cygnus.com>
5888
5889         * config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN
5890         before generating a call to abort for volatile functions.
5891         * config/arm.h (ARM_FLAG_ABORT_NORETURN): Define.
5892         (TARGET_ABORT_NORETURN): Define.
5893         (abort-on-noreturn): New option.
5894
5895 Wed Jan 13 13:30:08 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5896
5897         * cccp.c (xstrdup): Renamed from `savestring'.  All callers changed.
5898         Remove prototype which we get from libiberty.h.
5899
5900         * collect2.c (xstrdup): Likewise.
5901
5902         * genextract.c (xstrdup): Likewise for `copystr'.
5903         (mybzero): Remove it and use `memset' instead.
5904
5905         * genoutput.c (mybcopy, mybzero): Remove these.  All callers changed
5906         to use `memcpy' and `memset' instead.
5907
5908         * genrecog.c (xstrdup): Renamed from `copystr'.  All callers
5909         changed.  Remove prototype.
5910         (mybcopy, mybzero): Remove these and use memcpy/memset.
5911
5912 Wed Jan 13 00:59:04 1999  Jeffrey A Law  (law@cygnus.com)
5913
5914         * mips.h (LOAD_EXTEND_OP): Correct for SImode and CCmode moves when
5915         generating code for TARGET_64BIT.
5916
5917 Tue Jan 12 14:05:37 1999  David Edelsohn  <edelsohn@gnu.org>
5918
5919         * rs6000.c (print_operand, cases 'm' and 'M'): Do not depend on
5920         HOST_WIDE_INT word-size.
5921         (rs6000_stack_info): Remove redundant alignment of fpmem.
5922
5923 Tue Jan 12 14:05:37 1999  Richard Henderson  <rth@cygnus.com>
5924
5925         * rs6000.c (short_cint_operand): Remove CONSTANT_P_RTX handling.
5926         (u_short_cint_operand, reg_or_cint_operand, logical_operand): Likewise.
5927         (input_operand): Adjust CONSTANT_P_RTX handling.
5928         * rs6000.h (PREDICATE_CODES): Remove CONSTANT_P_RTX references.
5929         * rs6000.md (movsi): Adjust CONSTANT_P_RTX handling.
5930         (movhi, movqi): Remove CONSTANT_P_RTX handling.
5931         (movdi): Adjust CONSTANT_P_RTX handling.
5932
5933 1999-01-12  Manfred Hollstein  <manfred@s-direktnet.de>
5934
5935         * configure: Regenerate using autoconf.
5936
5937         * fixinc/Makefile.in (INCLUDES): Add -I$(srcdir)/../../include.
5938         * fixinc/fixincl.c (SIGCHLD): Use SIGCLD on (very) old systems.
5939         (process): "fchmod" isn't available on all systems, use "chmod"
5940         instead.
5941         * fixinc/server.c: Add #include <sys/types.h>.
5942         (STDIN_FILENO): Add default definition if no include file defines
5943         it already.
5944         (STDOUT_FILENO): Likewise.
5945
5946 Tue Jan 12 10:23:24 1999  Stan Cox  <scox@cygnus.com>
5947
5948         * mips.md (call_value_internal3c): New pattern for -mips16 -mlong-calls.
5949
5950 1999-01-12  Manfred Hollstein  <manfred@s-direktnet.de>
5951
5952         * m68k/mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
5953         ensure all prototypes necessary for building libio will be available.
5954         * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Remove
5955         definitions here as they are not host specific.
5956         * m88k/sysv3.h, m88k/xm-sysv3.h: Likewise.
5957
5958 Tue Jan 12 02:53:46 1999  Richard Henderson  <rth@cygnus.com>
5959
5960         * cse.c (cse_insn): Never prefer (const (constant_p_rtx)).
5961
5962 Tue Jan 12 02:36:10 1999  Jeff Law  (law@cygnus.com)
5963
5964         * version.c: Bump for snapshot.
5965
5966 Tue Jan 12 01:30:19 1999  Richard Henderson  <rth@cygnus.com>
5967
5968         * rtl.c (rtx_alloc): Use memset instead of inline loop.
5969
5970         * recog.h (recog_op_alt): Declare extern.
5971
5972 Tue Jan 12 00:23:31 1999  Richard Henderson  <rth@cygnus.com>
5973
5974         * function.c (purge_addressof_1): If the note accesses a mem+addressof
5975         in a wider mode than any replacement, adjust the cached replacement.
5976         Cache trivial substitutions as well.
5977
5978 Tue Jan 12 00:06:00 1999  Richard Henderson  <rth@cygnus.com>
5979
5980         * Makefile.in (OBJECTS): Add sbitmap.o.
5981         (BASIC_BLOCK_H): Add sbitmap.h.
5982         * basic-block.h: Move simple bitmap code to sbitmap.h.
5983         * flow.c: Move simple bitmap code to sbitmap.c.
5984         * sbitmap.h, sbitmap.c: New files.
5985
5986 Mon Jan 11 23:51:50 1999  Richard Henderson  <rth@cygnus.com>
5987
5988         * alpha.h (TARGET_SWITCHES): Document switches.
5989         (TARGET_OPTIONS): Likewise.
5990
5991         * alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Use HOST_WIDE_INT_PRINT_DEC.
5992
5993 Mon Jan 11 22:54:14 1999  Richard Henderson  <rth@cygnus.com>
5994
5995         * tree.c (new_alias_set): Return zero if !flag_strict_aliasing.
5996
5997 Mon Jan 11 22:36:01 1999  Richard Henderson  <rth@cygnus.com>
5998
5999         * basic-block.h (basic_block_head): Rename to x_basic_block_head.
6000         (basic_block_end): Rename to x_basic_block_end.
6001         (BLOCK_HEAD, BLOCK_END): Update.
6002
6003         * caller-save.c: Change basic_block_head/end references to
6004         BLOCK_HEAD/END.
6005         * combine.c, flow.c, function.c, gcse.c, global.c: Likewise.
6006         * graph.c, haifa-sched.c, local-alloc.c, regclass.c: Likewise.
6007         * regmove.c, reload1.c, reorg.c, sched.c: Likewise.
6008
6009 Sat Jan  9 23:54:09 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6010
6011         * gcc.c (xstrerror): Renamed from my_strerror.  All callers
6012         changed.  Remove prototype since we get that from libiberty.h.
6013
6014         * protoize.c (xstrerror): Likewise.
6015
6016 Sat Jan  9 23:22:04 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6017
6018         * gcc.c (read_specs): Ensure format specifiers match their arguments.
6019
6020 Sat Jan  9 20:04:24 1999  Richard Henderson  <rth@cygnus.com>
6021
6022         * tree.c (copy_node): Oops.  That would be copy not zero
6023         in that last change.
6024
6025 Sun Jan 10 15:35:41 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6026
6027         * config/c4x/c4x.c: Include system.h.
6028         (c4x_caller_save_map): Disable caller save for RC.
6029         (c4x_optimization_options): Disable scheduling before reload.
6030         (valid_parallel_load_store) : Define return type as int.
6031         Remove unused variable regs.
6032         * config/c4x/c4x.h (REGISTER_MOVE_COST): Make independent of register
6033         class.
6034         * config/c4x/c4x.md (rotlqi3, rotrqi3): Fix up emitted RTL to
6035         handle rotations.
6036         (*db, decrement_and_branch_until_zero): Fix up constraints
6037         to keep reload happy.
6038
6039 Sat Jan  9 18:35:29 1999  Richard Henderson  <rth@cygnus.com>
6040
6041         * tree.c (make_node): Call bzero instead of inline clear.
6042         (copy_node, make_tree_vec, build1): Likewise.
6043         (get_identifier): Call strlen instead of inline count.
6044         (maybe_get_identifier): Likewise.
6045
6046 Sun Jan 10 14:04:51 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6047
6048         * config/c4x/c4x.md (in_annul_slot_3): Allow unarycc and binarycc
6049         operations in 3rd annulled delay slot.
6050         (*lshrqi3_const_set): Disallow c constraint for operand0.
6051         (modhi3+1, modhi3+2): Set attribute type to multi.
6052         * config/c4x/c4x.c (c4x_S_constraint): Removed space in middle of
6053         != operator.
6054
6055 Sat Jan  9 11:44:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6056
6057         * gansidecl.h: Allow attribute unused on labels only when we are
6058         version 2.93 or higher.  Not all versions of 2.92 have this feature.
6059
6060         * version.c: Bump minor number to 93.
6061
6062 Fri Jan  8 10:51:13 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
6063
6064         * config/m68k/m68k.h: Declare output_function_epilogue.
6065         * recog.h: Declare next_insn_tests_no_inequality.
6066
6067 Fri Jan  8 01:43:53 1999  Jeffrey A Law  (law@cygnus.com)
6068
6069         * stmt.c (optimize_tail_recursion): New function, extracted from ...
6070         (expand_return): Use optimize_tail_recursion.
6071         * tree.h (optimize_tail_recursion): Declare.
6072
6073         * toplev.c (compile_file): Move call to output_func_start_profiler
6074         to after the loop to emit deferred functions.
6075
6076 Thu Jan  7 19:52:53 1999  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6077
6078         * system.h (abort): Supply more detailed information on how to
6079         report an Internal Compiler Error.
6080
6081 Thu Jan  7 09:25:58 1999  Bruce Korb  (korb@datadesign.com)
6082
6083         * fixinc/fixincl.c (*): More decapitalization of variables
6084         plus some explanatory comments.
6085
6086         * fixinc/Makefile.in fixinc/mkfixinc.sh:
6087         When the fixincl program does not work for a certain system,
6088         we substitute a shell script.  Added user commentary when
6089         this happens.
6090
6091 Thu Jan  7 11:26:17 1999  Mark Mitchell  <mark@markmitchell.com>
6092
6093         * calls.c (store_unaligned_arguments_into_pseudos): Use xmalloc to
6094         allocate memory that will live beyond this function.
6095         (expand_call): Free it here.
6096
6097 Thu Jan  7 03:08:17 1999  Richard Henderson  <rth@cygnus.com>
6098
6099         * sparc.h (PREFERRED_RELOAD_CLASS): Select GENERAL_REGS for
6100         integer data not destined for fp regs.
6101         (LEGITIMIZE_RELOAD_ADDRESS): New.
6102
6103 Thu Jan  7 03:03:42 1999  Stan Cox  <scox@cygnus.com>
6104                           Richard Henderson  <rth@cygnus.com>
6105
6106         Support for Hypersparc and Sparclite86x:
6107         * sparc.h (TARGET_CPU_hypersparc, TARGET_CPU_sparclite86x): New.
6108         (CPP_CPU32_DEFAULT_SPEC): Fix up for the new targets.
6109         (ASM_CPU32_DEFAULT_SPEC): Likewise.
6110         (TARGET_CPU_DEFAULT): Likewise.
6111         (enum processor_type): Likewise.
6112         (CPP_ENDIAN_SPEC): Handle little endian data.
6113         (LIBGCC2_WORDS_BIG_ENDIAN): Likewise.
6114         (ADJUST_COST): Call sparc_adjust_cost.
6115         * sparc.c (sparc_override_options): Fix up for the new targets.
6116         (supersparc_adjust_cost): Make static.
6117         (hypersparc_adjust_cost): New.
6118         (ultrasparc_adjust_cost): Make static.
6119         (sparc_adjust_cost): New.
6120         * sparc.md (attr cpu): Add hypersparc and sparclite86x.
6121         (function_unit): Add hypersparc scheduling rules.
6122
6123         * configure.in (with_cpu handler): Recognize hypersparc.
6124
6125 Thu Jan  7 23:54:05 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6126
6127         * config/c4x/c4x.c: Added space after negation operator.
6128         * config/c4x/c4x.h: Likewise.
6129         * config/c4x/c4x.md: Likewise.
6130
6131 Thu Jan  7 23:39:27 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6132
6133         * config/c4x/c4x.c (c4x_preferred_reload_class): Always return class.
6134
6135 Thu Jan  7 00:29:25 1999  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
6136
6137         * combine.c (num_sign_bit_copies): In NEG, MULT, DIV and MOD cases,
6138         when a test can't be performed due to limited width of
6139         HOST_BITS_PER_WIDE_INT, use the more conservative approximation.
6140         Fix UDIV case for cases where the first operand has the highest bit
6141         set.
6142
6143 Thu Jan  7 00:01:38 1999  Lutz Vieweg  <lkv@mania.robin.de>
6144
6145         * pa.h (reg_class): Add FPUPPER_REGS.
6146         (REG_CLASS_NAMES): Similarly.
6147         (REG_CLASS_CONTENTS): Similarly.
6148         (REGNO_REG_CLASS): Handle FPUPPER_REGS.
6149         (FP_REG_CLASS_P): Likewise.
6150         (REG_CLASS_FROM_LETTER): Similarly.
6151         (CLASS_MAX_NREGS): Similarly.
6152
6153 1999-01-06  Brendan Kehoe  <brendan@cygnus.com>
6154
6155         * fixincludes: For HP/UX 10.20, also look in curses_colr/curses.h
6156         for a typedef of bool.  Make sure to have a copy of the file is
6157         in place before we look to fix it.  Fix typo in variable name to
6158         FILE.
6159
6160 Wed Jan  6 07:51:05 1999  Richard Henderson  <rth@cygnus.com>
6161
6162         * expr.c (expand_builtin) [case BUILT_IN_CONSTANT_P]: Use
6163         value_mode for the return mode.
6164
6165 Wed Jan  6 17:55:19 1999  Robert Lipe  <robertlipe@usa.net>
6166
6167         * configure.in: New flag --with-dwarf2.  If set, enables DWARF-2
6168         debugging as default.
6169
6170         * config/tm-dwarf2.h: New file.
6171
6172 Wed Jan  6 16:08:54 1999  Jeffrey A Law  (law@cygnus.com)
6173
6174         * h8300.h (ASM_OUTPUT_LABELREF): Define.
6175
6176         * pa.h (DONT_RECORD_EQUIVALENCE): Kill.
6177         * local-alloc.c (update_equiv_regs): Corresponding changes.
6178         * tm.texi (DONT_RECORD_EQUIVALENCE): Kill.
6179
6180         * calls.c (special_function_p): Push alloca test inside the large
6181         conditional which excludes functions not at file scope or not
6182         extern.
6183
6184         * calls.c (special_function_p): New function broken out of
6185         expand_call.
6186         (precompute_register_parameters): Likewise.
6187         (store_one_arg): Likewise.
6188         (store_unaligned_argumetns_into_pseudos): Likewise.
6189         (save_fixed_argument_area): Likewise.
6190         (restore_fixed_argument_area): Likewise.
6191         (expand_call): Corresponding changes.
6192
6193 Thu Jan  7 00:12:24 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6194
6195         * config/c4x/c4x.md (addqi3): If the destination operand is
6196         a hard register other than an extended precision register,
6197         emit addqi3_noclobber.
6198         (*addqi3_noclobber_reload): New pattern added so that reload
6199         will recognize a store of a pseudo, equivalent to the sum
6200         of the frame pointer and a constant, as an add insn.
6201
6202 1999-01-06  Manfred Hollstein  <manfred@s-direktnet.de>
6203
6204         * fixinc/fixincl.c: Re-indent according to the GNU standards.
6205         fixinc/server.c: Likewise.
6206         fixinc/server.h: Likewise.
6207
6208 Wed Jan  6 10:43:29 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
6209
6210         * config/m68k/m68k.c (const_uint32_operand): Remove CONSTANT_P_RTX
6211         handling.
6212         (const_sint32_operand): Likewise.
6213
6214 Wed Jan  6 09:44:51 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6215
6216         * toplev.h: In addition to checking _JBLEN, also check if `setjmp'
6217         is a macro when deciding if we can use `jmp_buf' in prototypes.
6218
6219 Wed Jan  6 03:18:53 1999  Mark Elbrecht  <snowball3@usa.net>
6220
6221         * configure.in (pc-msdosdjgpp): Set x_make to x-go32.
6222         * configure: Rebuilt.
6223         * i386/xm-go32.h: Define LIBSTDCXX.
6224         * i386/x-go32: New.
6225         * i386/go32.h (MD_EXEC_PREFIX): Define.
6226         (FILE_NAME_ABSOLUTE_P): Define.
6227         (LINK_COMMAND_SPEC): Define.
6228
6229 Wed Jan  6 02:23:36 1999  "Charles M. Hannum"  <root@ihack.net>
6230
6231         * expr.c (store_expr): If the lhs is a memory location pointed
6232         to be a postincremented (or postdecremented) pointer, always
6233         force the rhs to be evaluated into a pseudo.
6234
6235 Wed Jan  6 00:54:21 1999  Geoff Keating  <geoffk@ozemail.com.au>
6236
6237         * real.c (mtherr): Print more reasonable warning messages.
6238
6239 Tue Jan  5 21:57:42 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6240
6241         * Makefile.in (gcc.o, prefix.o, cccp.o, cpplib.o): Depend on prefix.h.
6242
6243         * cccp.c: Include prefix.h, don't prototype prefix.c functions.
6244         (new_include_prefix): Constify char* parameters.
6245
6246         * cppfiles.c (read_name_map): Likewise.
6247         (append_include_chain): Likewise.  Also, use a writable char* copy
6248         of parameter `dir' which we then modify, rather than using the
6249         parameter itself to store the new writable string.
6250         (remap_filename): Constify some variables.  Also, use a writable
6251         char* to store an allocated string which we will be modifying.
6252
6253         * cpplib.c: Include prefix.h, don't prototype prefix.c functions.
6254         (cpp_start_read): Constify variable `str'.
6255
6256         * cpplib.h (append_include_chain): Constify a char* parameter.
6257
6258         * gcc.c Include prefix.h, don't prototype prefix.c functions.
6259         (add_prefix, save_string): Constify char* parameters.
6260         (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
6261
6262         * prefix.c: Include prefix.h.
6263         (get_key_value, translate_name, save_string, update_path,
6264         set_std_prefix): Constify various char* parameters and variables.
6265         (save_string): Use xmalloc, not malloc.
6266         (translate_name): Use a writable temporary variable to create and
6267         modify a string before setting it to a const char*.
6268         
6269         * prefix.h: New file to prototype functions exported from prefix.c.
6270
6271 Tue Jan  5 08:52:18 1999  Bruce Korb  (korb@datadesign.com)
6272
6273         * fixinc/fixincl.c (various): Added debug code so
6274         Manfred can trace the processing.
6275
6276         * fixinc/inclhack.def (sys/utsname.h): Provide forward declaration of
6277         struct utsname on Ultrix V4.[35].
6278
6279         * fixinc/{fixincl.x|fixincl.sh|inclhack.sh} : Regenerated.
6280
6281 Mon Jan  4 15:37:30 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
6282
6283         * cpplib.c (skip_if_group): Split out the logic that handles
6284         directive recognition to its own function.  Don't use
6285         parse markers; use a bare pointer into the buffer.  Use
6286         copy/skip_rest_of_line instead of doing it by hand.  Remove
6287         `return on any directive' mode which was never used, and take
6288         only one argument.
6289         (consider_directive_while_skipping): New function, subroutine
6290         of skip_if_group.  Logic streamlined a bit.
6291         (conditional_skip, do_elif, do_else): Call skip_if_group with
6292         only one argument.
6293
6294 Mon Jan  4 15:27:30 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
6295
6296         * cpplib.c (do_undef): EOF immediately after '#undef FOO' is not an
6297         error.
6298
6299 Mon Jan  4 11:55:51 1999  Jason Merrill  <jason@yorick.cygnus.com>
6300
6301         * extend.texi (Bound member functions): Document.
6302
6303 Mon Jan  4 11:01:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6304
6305         * mips-tdump.c (st_to_string, sc_to_string, glevel_to_string,
6306         lang_to_string, type_to_string): Make return type const char*.
6307         (print_symbol): Apply `const' keyword to a char*.
6308         (print_file_desc): Cast structure member `crfd' to ulong when
6309         comparing against one.
6310
6311         * mips-tfile.c (pfatal_with_name): Apply `const' keyword to char*.
6312         (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
6313         (progname, input_name): Apply `const' keyword to a char*.
6314         Don't redundantly include sys/stat.h.
6315         (alloc_info): Apply `const' keyword to a char*.
6316         (st_to_string, sc_to_string): Likewise.
6317         (hash_string): Cast variable `hash_string' to a symint_t when
6318         comparing against one.
6319         (add_string): Cast PAGE_USIZE to Ptrdiff_t when comparing against one.
6320         Likewise cast it to long when comparing against one.
6321         (add_local_symbol): Apply `const' keyword to a char*.
6322         (add_ext_symbol): Likewise.
6323         (add_unknown_tag): Likewise.
6324         (add_procedure): Cast a printf-style field width to an int.
6325         (add_file): Cast PAGE_USIZE to long when comparing against one.
6326         (parse_begin): Cast a printf-style field width to an int.
6327         (parse_bend): Likewise.
6328         (parse_def): Likewise.
6329         (parse_end): Likewise.
6330         (mark_stabs): Mark parameter `start' with ATTRIBUTE_UNUSED.
6331         (parse_stabs_common): Fix format specifier.
6332         (parse_input): Change type of variable `i' to Size_t.
6333         (write_object): Fix arguments to match format specifiers.
6334         Cast variable `num_write' to long when comparing against one.
6335         (read_seek): Cast variable `sys_read' to symint_t when comparing
6336         against one.  Fix arguments to match format specifiers.  Cast
6337         variable `size' to long when comparing against one.
6338         (copy_object): Cast result of `sizeof' to int when comparing
6339         against one.  Fix arguments to match format specifiers.  Cast
6340         variable `ifd' to long when comparing against a signed value.
6341         Likewise, likewise.
6342         
6343 Mon Jan  4 10:30:33 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6344
6345         * c-common.c (decl_attributes): Allow applying attribute `unused'
6346         on a LABEL_DECL.
6347
6348         * c-parse.in (label): Parse attributes after a label, and call
6349         `decl_attributes' to handle them.
6350
6351         * gansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define.
6352
6353         * genrecog.c (OUTPUT_LABEL, write_tree_1, write_tree): When
6354         generating labels, mark them with ATTRIBUTE_UNUSED_LABEL.
6355
6356         * invoke.texi: Note that labels can be marked `unused'.
6357
6358 Sun Jan  3 23:32:18 1999  Jeff Law  (law@cygnus.com)
6359
6360         * version.c: Bump for snapshot.
6361
6362 Sun Jan  3 23:00:42 1999  Jeffrey A Law  (law@cygnus.com)
6363
6364         * optabs.c (emit_cmp_and_jump_insns): Use CONSTANT_P canonicalizing
6365         RTL for a compare/jump sequence.
6366         
6367 Sun Jan  3 22:58:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6368
6369         * optabs.c (emit_cmp_insn): Abort if asked to emit non-canonical RTL
6370         for a target with HAVE_cc0 defined.
6371         (emit_cmp_and_jump_insns): New function.
6372         * expr.h (emit_cmp_and_jump_insns): Prototype it.
6373         * loop.c (check_dbra_loop): Use it to replace calls
6374         to emit_cmp_insn and emit_jump_insn and to canonicalize
6375         the comparison if necessary.
6376         * unroll.c (unroll_loop): Likewise.
6377
6378 Sun Jan  3 21:01:04 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6379
6380         * fixincludes (sys/utsname.h): Provide forward declaration of
6381         struct utsname on Ultrix V4.[35].
6382
6383         * mips.md (div_trap): Use local labels instead of dot-relative
6384         branches.
6385
6386 Sun Jan  3 20:40:34 1999  Jeffrey A Law  (law@cygnus.com)
6387
6388         * pa.md (branch, negated branch): Handle (const_int 0) as first
6389         source operand.
6390         * pa.c (output_cbranch): Likewise.
6391
6392 Sun Jan  3 03:20:38 1999  David Edelsohn  <edelsohn@gnu.org>
6393
6394         * rs6000.c (rs6000_stack_info): Undo spurious part of last
6395         change.
6396
6397 1999-01-01  Manfred Hollstein  <manfred@s-direktnet.de>
6398
6399         * extend.texi (__builtin_constant_p): Add missing @smallexample.
6400
6401 Fri Jan  1 11:48:20 1999  Jeffrey A Law  (law@cygnus.com)
6402
6403         * i386.md (doubleword shifts): Fix dumb mistakes in previous change.
6404
6405 Wed Dec 30 23:38:55 1998  Jeffrey A Law  (law@cygnus.com)
6406
6407         * m68k.md (adddi_dilshr32): Allow all operands to be registers too.
6408         (adddi_dishl32): Similarly.
6409
6410         * cse.c (invalidate_skipped_block): Call invalidate_from_clobbers
6411         for each insn in the skipped block.
6412
6413         * reload1.c (reload_as_needed): Verify that the insn satisfies its
6414         constraints after replacing a register address with an autoincrement
6415         address for reload inheritance purposes.
6416
6417         * i386.md (doubleword shifts): Avoid namespace pollution.
6418
6419 Wed Dec 30 23:00:28 1998  David O'Brien  <obrien@NUXI.com>
6420
6421         * configure.in (FreeBSD ELF): Needs special crt files.
6422
6423 Wed Dec 30 22:50:13 1998  Geoffrey Noer  <noer@cygnus.com>
6424
6425         * i386/xm-cygwin.h: Change DIR_SEPARATOR to forward slash.
6426
6427 1998-12-30  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
6428
6429         * loop.c (check_dbra_loop): While reversing the loop, if the
6430         comparison value has a VOID mode use the mode of the other operand
6431         to compute the mask.
6432
6433 Wed Dec 30 22:24:00 1998  Michael Meissner  <meissner@cygnus.com>
6434
6435         * rs6000.md ({save,restore}_stack_function): Take 2 operands to
6436         avoid warnings in compiling explow.c.
6437
6438         (patch from Ken Raeburn, raeburn@cygnus.com)
6439         * rs6000.c (rs6000_stack_info): Force 8-byte alignment of
6440         fpmem_offset.  Compute total size after that, and then
6441         rs6000_fpmem_offset using both values.
6442
6443 Mon Dec 28 19:26:32 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6444
6445         * gcc.texi (Non-bugs): ``Empty'' loops will be optimized away in
6446         the future; indeed that already happens in some cases.
6447
6448 Tue Dec 29 11:58:53 1998  Richard Henderson  <rth@cygnus.com>
6449
6450         * sparc.c (input_operand): Recognize (const (constant_p_rtx)).
6451         (arith_operand): Remove constant_p_rtx handling.
6452         (const64_operand, const64_high_operand): Likewise.
6453         (arith11_operand, arith10_operand, arith_double_operand): Likewise.
6454         (arith11_double_operand, arith10_double_operand, small_int): Likewise.
6455         (small_int_or_double, uns_small_int, zero_operand): Likewise.
6456         * sparc.h (PREDICATE_CODES): Likewise.
6457
6458         * rtl.h (CONSTANT_P): Remove CONSTANT_P_RTX.
6459
6460 Tue Dec 29 11:32:54 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6461
6462         * rtl.def (CONSTANT_P_RTX): Clarify commentary.
6463         * expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
6464         consider constant CONSTRUCTOR constant and to defer some cases
6465         to cse.
6466         * cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
6467         * regclass.c (reg_scan_mark_refs, case CONST): Likewise.
6468
6469 Tue Dec 29 11:30:10 1998  Richard Henderson  <rth@cygnus.com>
6470
6471         * expr.c (init_expr_once): Kill can_handle_constant_p recognition.
6472         * cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code.
6473
6474         * alpha.c (reg_or_6bit_operand): Remove CONSTANT_P_RTX handling.
6475         (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
6476         (sext_add_operand, and_operand, or_operand): Likewise.
6477         (reg_or_cint_operand, some_operand, input_operand): Likewise.
6478         * alpha.h (PREDICATE_CODES): Likewise.
6479
6480 Sat Dec 26 23:26:26 1998  Jeff Law  (law@cygnus.com)
6481
6482         * version.c: Bump for snapshot.
6483
6484 Sat Dec 26 09:17:04 1998  Jeffrey A Law  (law@cygnus.com)
6485
6486         * gengenrtl.c (gencode): Always use bzero to clear memory instead
6487         of dangerous casts and stores.
6488
6489         * Makefile.in (compare, gnucompare): Add missing else true clauses.
6490
6491 Fri Dec 25 23:00:56 1998  Jeffrey A Law  (law@cygnus.com)
6492
6493         * alpha.md (builtin_longjmp): Add missing "DONE".
6494
6495 Thu Dec 24 10:39:57 1998  Stan Cox  <scox@cygnus.com>
6496
6497         * gcc.c (execute): Enable -pipe with win32.
6498
6499 Wed Dec 23 10:27:44 1998  Nick Clifton  <nickc@cygnus.com>
6500
6501         * config/arm/t-arm-elf: Add multiplib option for leading
6502         underscores.
6503
6504         * config/arm/thumb.h (ASM_OUTPUT_LABELREF): Use variable
6505         'user_label_prefix' rather than macro USER_LABEL_PREFIX.
6506
6507         (thumb_shiftable_const): Use macro 'BASE_REG_CLASS' rather
6508         than variable 'reload_address_base_reg_class'.  [Note this
6509         change is unrelated to the others in this patch].
6510
6511         * config/arm/unknown-elf.h (USER_LABEL_PREFIX): Default to no
6512         leading underscore.
6513
6514 Wed Dec 23 09:51:32 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6515
6516         * alias.c (record_alias_subset): Remove ignored `&'.
6517         (init_alias_once): Likewise.
6518
6519         * c-lex.c (UNGETC): Cast first argument of comma expression to void.
6520
6521         * config/mips/mips.c (mips_asm_file_end): Cast the result of
6522         fwrite to `int' when comparing against one.
6523
6524         * config/mips/mips.h (CAN_ELIMINATE): Add parens around && within ||.
6525         (INITIAL_ELIMINATION_OFFSET): Add braces to avoid ambiguous `else'.
6526
6527         * cse.c (rehash_using_reg): Change type of variable `i' to
6528         unsigned int.
6529
6530         * dwarf2out.c (initial_return_save): Cast -1 to unsigned before
6531         assigning it to one.
6532
6533         * except.c (duplicate_eh_handlers): Remove unused variable `tmp'.
6534
6535         * final.c (final_scan_insn): Likewise for variable `i'.
6536         (output_asm_insn): Cast a char to unsigned char when used as an
6537         array index.
6538
6539         * gcse.c (compute_pre_ppinout): Cast -1 to SBITMAP_ELT_TYPE when
6540         assigning it to one.
6541
6542         * loop.c (strength_reduce): Remove unused variables `count' and `temp'.
6543
6544         * recog.c (preprocess_constraints): Cast a char to unsigned char
6545         when used as an array index.
6546
6547         * regmove.c (find_matches): Likewise.
6548
6549         * reload1.c (calculate_needs): Add default case in switch.
6550         (eliminate_regs_in_insn): Initialize variable `offset'.
6551         (set_offsets_for_label): Change type of variable `i' to unsigned.
6552         (reload_as_needed): Wrap variable `i' in macro check on
6553         AUTO_INC_DEC || INSN_CLOBBERS_REGNO_P.
6554
6555         * scan-decls.c (scan_decls): Mark parameters `argc' and `argv'
6556         with ATTRIBUTE_UNUSED.  Cast variable `start_written' to size_t
6557         when comparing against one.
6558
6559         * stor-layout.c (layout_decl): Cast maximum_field_alignment to
6560         unsigned when comparing against one.  Likewise for
6561         GET_MODE_ALIGNMENT().
6562         (layout_record): Cast record_align to int when comparing against a
6563         signed value.
6564         (layout_type): Cast TYPE_ALIGN() to int when comparing against a
6565         signed value.
6566
6567         * tree.c (get_identifier): Cast variable `len' to unsigned when
6568         comparing against one.
6569         (maybe_get_identifier): Likewise
6570
6571 Wed Dec 23 00:10:01 1998  Jeffrey A Law  (law@cygnus.com)
6572
6573         * toplev.c (rest_of_compilation): Do not set reload_completed.
6574         * reload1.c (reload): Set reload_completed before calling
6575         cleanup_subreg_operands.
6576
6577 Tue Dec 22 23:58:31 1998  Richard Henderson  <rth@cygnus.com>
6578
6579         * reload1.c (emit_reload_insns): Check `set' not null before use.
6580
6581 Tue Dec 22 15:15:45 1998  Nick Clifton  <nickc@cygnus.com>
6582
6583         * rtlanal.c (multiple_sets): Change type of 'found' from 'rtx' to
6584         'int'.
6585
6586 Tue Dec 22 13:55:44 1998  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
6587
6588         * halfpic.c (half_pic_encode): Delete redundant code.
6589
6590 Tue Dec 22 13:02:22 1998  Michael Meissner  <meissner@cygnus.com>
6591
6592         * toplev.c (main): Delete handling of -dM as a preprocessor
6593         option.
6594
6595 Mon Dec 21 17:39:38 1998  Michael Meissner  <meissner@cygnus.com>
6596
6597         * toplev.c (main): Don't emit any warnings when using -dD, -dM, or
6598         -dI, which are handled by the preprocessor.
6599
6600 Sun Dec 20 16:13:44 1998  John F. Carr  <jfc@mit.edu>
6601
6602         * configure.in: Handle Digital UNIX 5.x the same as 4.x.
6603         * i386/sol2.h: Define LOCAL_LABEL_PREFIX as ".".
6604
6605 Sun Dec 20 07:39:52 1998  Jeff Law  (law@cygnus.com)
6606
6607         * version.c: Bump for snapshot.
6608
6609 Sat Dec 19 22:24:22 1998  Jeff Law  (law@cygnus.com)
6610
6611         * version.c: Bump for snapshot.
6612
6613 Sat Dec 19 21:41:32 1998  Jeff Law  (law@cygnus.com)
6614
6615         * version.c: Bump for snapshot.
6616
6617 Sat Dec 19 09:52:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6618
6619         * genattr.c (fatal): Qualify a char* with the `const' keyword.
6620         
6621         * genattrtab.c (fatal, attr_printf, attr_string, write_attr_set,
6622         write_unit_name, write_eligible_delay, expand_units,
6623         make_length_attrs, write_attr_case, find_attr,
6624         make_internal_attr): Likewise.
6625         * gencheck.c (tree_codes): Likewise.
6626         * gencodes.c (fatal): Likewise.
6627         * genconfig.c (fatal): Likewise.
6628         * genemit.c (fatal): Likewise.
6629         * genextract.c (fatal, walk_rtx, copystr): Likewise.
6630         * genflags.c (fatal): Likewise.
6631         * genopinit.c (fatal, optabs, gen_insn): Likewise.
6632         * genoutput.c (fatal, error, predicates): Likewise.
6633         * genpeep.c (fatal): Likewise.
6634         * genrecog.c (fatal, decision, pred_table, add_to_sequence,
6635         write_tree_1, write_tree, change_state, copystr, indents): Likewise.
6636
6637 Thu Dec 17 18:21:49 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6638
6639         * configure.in (with-fast-fixincludes): Fix whitespace.
6640         * configure: Rebuilt.
6641
6642         * fixincludes (c_asm.h): Wrap Digital UNIX V4.0B DEC C specific
6643         asm() etc. function declarations in __DECC.
6644
6645 Thu Dec 17 13:57:23 1998  Nick Clifton  <nickc@cygnus.com>
6646
6647         * expr.c (emit_move_insn_1): Only emit a clobber if the target
6648         is a pseudo register.
6649
6650 Thu Dec 17 13:50:29 1998  Nick Clifton  <nickc@cygnus.com>
6651
6652         * gcse.c: Include expr.h in order to get the prototype for
6653         get_condition() which is used in delete_null_pointer_checks().
6654
6655 Thu Dec 17 15:58:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6656
6657         * hwint.h: New file to consolidate HOST_WIDE_INT (etc) macros.
6658
6659 Thu Dec 17 12:31:12 1998  Jim Wilson  <wilson@cygnus.com>
6660
6661         * Makefile.in (INTERNAL_CFLAGS): Add SCHED_CFLAGS.
6662         (ALL_CFLAGS): Delete SCHED_CFLAGS.
6663
6664 1998-12-17  Vladimir N. Makarov  <vmakarov@cygnus.com>
6665
6666         * config/i60/i960.md (extendqihi2): Fix typo (usage ',' instead of
6667         ';').
6668
6669 1998-12-17  Michael Tiemann  <tiemann@axon.cygnus.com>
6670
6671         * i960.md (extend*, zero_extend*): Don't generate rtl that looks
6672         like (subreg:SI (reg:SI N) 0), because it's wrong, and it hides
6673         optimizations from the combiner.
6674
6675 Thu Dec 17 08:27:03 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
6676
6677         * loop.c (combine_givs_used_by_other): Don't depend on n_times_set.
6678
6679 Wed Dec 16 17:30:35 1998  Nick Clifton  <nickc@cygnus.com>
6680
6681         * toplev.c (main): Disable optimize_size if a specific
6682         optimization level is requested.  Always set optimization
6683         level to 2 if -Os is specified.
6684
6685 Wed Dec 16 16:33:04 1998  Dave Brolley  <brolley@cygnus.com>
6686
6687         * objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with
6688         cpplib.
6689         * cpplib.c (cpp_start_read): If in_fname is not initialized, try to
6690         initialize it using fname.
6691
6692 1998-12-16  Zack Weinberg  <zack@rabi.phys.columbia.edu>
6693
6694         * cpplib.c (do_include): Treat #include_next in the
6695         primary source file as #include plus warning.  Treat
6696         #include_next in a file included by absolute path as an
6697         error.  fp == CPP_NULL_BUFFER is a fatal inconsistency.
6698
6699 Wed Dec 16 12:28:54 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6700
6701         * cccp.c: Don't define MIN/MAX anymore.
6702         * cpplib.c: Likewise.
6703         * machmode.h: Likewise.
6704         * system.h: Provide definitions for MIN/MAX.
6705
6706 Tue Dec 15 23:47:42 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
6707
6708         * fix-header.c: Don't define xstrdup here.
6709
6710 Wed Dec 16 05:11:04 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
6711
6712         * loop.c (consec_sets_giv): New argument last_consec_insn.
6713         (strength_reduce): Provide / use it.
6714
6715 Wed Dec 16 17:24:07 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6716
6717         * loop.h (loop_info): New field 'vtop'.
6718         * loop.c (check_dbra_loop): Use loop_info->vtop rather than
6719         scanning loop for vtop.
6720         * unroll.c (subtract_reg_term, find_common_reg_term): New functions.
6721         (loop_iterations): Use them to determine if loop has a constant
6722         number of iterations.  Set loop_info->vtop.  Don't subtract
6723         common reg term from initial_value and final_value if have a
6724         do-while loop.
6725
6726 Tue Dec 15 13:49:55 1998  Jeffrey A Law  (law@cygnus.com)
6727
6728         * mn10200.md (addsi3 expander): Use "nonmemory_operand" for operand 2.
6729
6730         * mn10300.md (bset, bclr): Operand 0 is a read/write operand.
6731
6732         * mn10200.md (abssf2, negsf2): New expanders.
6733
6734         * mn10300.md (absdf2, abssf2, negdf2, negsf2): New expanders.
6735
6736 Tue Dec 15 11:55:30 1998  Nick Clifton  <nickc@cygnus.com>
6737
6738         * integrate.c (copy_rtx_and_substitute): If a SUBREG is
6739         replaced by a CONCAT whose components do not have the same
6740         mode as the original SUBREG, use a new SUBREG to restore the
6741         mode.
6742
6743         * emit-rtl.c (subreg_realpart_p): Cope with subregs containing
6744         multiword complex values.
6745
6746 1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
6747
6748         * cppalloc.c: Add xstrdup here.
6749         * cpplib.h: Remove savestring prototype.
6750         * cpplib.c: Remove savestring function. s/savestring/xstrdup/
6751           throughout.
6752         * cppfiles.c: s/savestring/xstrdup/ throughout.
6753
6754 1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
6755
6756         * cpplib.c: Make all directive handlers read their own
6757           arguments.
6758           (struct directive): Remove last two arguments from FUNC
6759           member prototype. Remove `command_reads_line' member
6760           entirely.
6761           (directive_table): Remove initializations of
6762           command_reads_line flag.  Pretty-print.
6763           (eval_if_expression, do_define, do_line, do_include,
6764           do_undef, do_error, do_pragma, do_ident, do_if, do_xifdef,
6765           do_else, do_elif, do_sccs, do_assert, do_unassert,
6766           do_warning): Take only two args.
6767
6768           (cpp_define): Call do_define with two args and the text to
6769           define stuffed into a buffer.
6770           (make_assertion): Call do_assert with two args.
6771           (handle_directive): Call do_line with two args. Call
6772           kt->func with two args.  Remove command_reads_line
6773           processing.
6774           (do_define, do_undef, do_error, do_warning, do_pragma,
6775           do_sccs): Read the rest of the line here.
6776           (do_ident): Gobble rest of line, as cccp does.
6777           (cpp_undef): New function.
6778           (cpp_start_read): Call cpp_undef instead of do_undef.
6779
6780 1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
6781
6782         * cpphash.h (union hash_value): Remove `keydef' member, add a
6783           `struct hashnode *aschain' member for #assert.
6784
6785         * cpplib.c (struct tokenlist_list, struct
6786           assertion_hashnode): Delete structure definitions.
6787           (assertion_install, assertion_lookup, delete_assertion,
6788           check_assertion, compare_token_lists, reverse_token_list,
6789           read_token_list, free_token_list): Delete functions.
6790           (parse_assertion): New function.
6791           (cpp_cleanup): Don't destroy the assertion_hashtable.
6792
6793           (do_assert): Gut and rewrite.  #assert foo (bar) places
6794           entries for `#foo' and `#foo(bar)' in the macro hash table,
6795           type T_ASSERT.  The value union's `aschain' member is used
6796           to chain all answers for a given predicate together.
6797           (do_unassert): Also rewritten.  Take an un-asserted
6798           answer off the chain from its predicate and call
6799           delete_macro on the hashnode, or walk a predicate chain
6800           calling delete_macro on all the entries.
6801           (cpp_read_check_assertion): Simply call parse_assertion to
6802           get the canonical assertion name, and look that up in the
6803           hash table.
6804
6805         * cpplib.h (ASSERTION_HASHNODE,ASSERTION_HASHSIZE,assertion_hashtab):
6806         Removed.
6807
6808         * cpphash.c (install): Use bcopy instead of an explicit loop
6809           to copy the macro name.
6810
6811         * cppexp.c (cpp_lex): Convert the result of
6812           cpp_read_check_assertion to a `struct operation' directly;
6813           don't go through parse_number.
6814
6815 Tue Dec 15 18:27:39 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
6816
6817         * loop.h (struct induction): Delete times_used member.
6818         * loop.c (n_times_set): Rename to set_in_loop.  Changed all users.
6819         (n_times_used): Rename to n_times_set.  Changed all users.
6820         (scan_loop): Free reg_single_usage before strength reduction.
6821         (record_giv, combine_givs): Remove handling of times_used member.
6822         (combine_givs_used_once): Rename to:
6823         (combine_givs_used_by_other) .  Changed all callers.
6824
6825 Tue Dec 15 01:45:26 1998  Jason Merrill  <jason@yorick.cygnus.com>
6826
6827         * dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P
6828         instead of TREE_CODE_CLASS == 't'.
6829         (gen_type_die): Likewise.
6830         (scope_die_for): Ignore FUNCTION_TYPE "scopes".
6831
6832 Mon Dec 14 16:23:27 1998  Jim Wilson  <wilson@cygnus.com>
6833
6834         * real.c (endian): Disable last change unless
6835         HOST_BITS_PER_WIDE_INT is greater than 32.
6836
6837 Mon Dec 14 17:13:36 1998  Andrew MacLeod  <amacleod@cygnus.com>
6838
6839         * output.h (force_data_section): New prototype.
6840         * varasm.c (force_data_section): New function to force the
6841         data section, regardless of what in_section thinks.
6842         * dwarf2out.c (output_call_frame_info): Call force_data_section
6843         since varasm may not realize we've changes sections.
6844
6845 Mon Dec 14 14:09:34 1998  Nick Clifton  <nickc@cygnus.com>
6846
6847         * reload1.c (reload): Delete REG_RETVAL and REG_LIBCALL notes
6848           after completing reload.
6849
6850         * rtl.texi: Document that REG_RETVAL and REG_LIBCALL are
6851           deleted after reload.
6852
6853 Mon Dec 14 01:39:28 1998  Jeffrey A Law  (law@cygnus.com)
6854
6855         * rtl.h (multiple_sets): Fix prototype.
6856         * rtlanal.c (multiple_sets): Fix return type.
6857
6858 Sun Dec 13 12:43:58 1998  Jeff Law  (law@cygnus.com)
6859
6860         * version.c: Bump for snapshot.
6861
6862 Sun Dec 13 01:05:22 1998  Jeff Law  (law@cygnus.com)
6863
6864         * version.c: Bump for snapshot.
6865
6866 1998-12-13  Manfred Hollstein  <manfred@s-direktnet.de>
6867
6868         * protoize.c (fputs): Wrap extern declaration in #ifndef fputs.
6869
6870 Sun Dec 13 00:24:14 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
6871
6872         * rtl.h (recompute_reg_usage): Add second argument.
6873         * flow.c (recompute_reg_usage): Likewise.
6874         * toplev.c (rest_of_compilation): Supply second argument to
6875         recompute_reg_usage.
6876
6877         * reload1.c (compute_use_by_pseudos): Allow reg_renumber[regno] < 0
6878         after reload.
6879
6880 Sat Dec 12 23:39:10 1998  Jeffrey A Law  (law@cygnus.com)
6881
6882         * m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcpu32.
6883         (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
6884         (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
6885         mcpu32 or m5200.
6886
6887         * i386/next.h (ASM_OUTPUT_ALIGN): Use 0x90 for fill character.
6888
6889         * rtlanal.c (multiple_sets): New function.
6890         * rtl.h (multiple_sets): Declare it.
6891         * local-alloc.c (wipe_dead_reg): Use it.
6892         * global.c (global_conflicts): Likewise.
6893
6894 Sat Dec 12 22:13:02 1998  Mark Mitchell  <mark@markmitchell.com>
6895
6896         * global.c (record_conflicts): Don't use an array of shorts to
6897         store an array of ints.
6898         (global_conflicts): Likewise.
6899
6900 Sat Dec 12 16:49:24 1998  Richard Henderson  <rth@cygnus.com>
6901
6902         * alpha.c (alpha_expand_block_move): mode_for_size expects
6903         bits, not bytes.  Infer extra alignment from addressof.
6904
6905 1998-12-11  Michael Meissner  <meissner@cygnus.com>
6906
6907         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Put small data in the
6908         .sbss section, not .sdata.
6909
6910 1998-12-11  Manfred Hollstein  <manfred@s-direktnet.de>
6911
6912         * cccp.c: Do not #include <sys/stat.h> here; this is already done
6913         by "system.h".
6914         * collect2.c: Likewise.
6915         * cpplib.h: Likewise.
6916         * gcc.c: Likewise.
6917         * gcov.c: Likewise.
6918         * getpwd.c: Likewise.
6919         * protoize.c: Likewise.
6920         * toplev.c: Likewise.
6921
6922         * cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h"
6923         and don't try to define it here.
6924         * Makefile.in (cppmain.o): Depend on machmode.h.
6925         (cpplib.o): Likewise.
6926         (cpperror.o): Likewise.
6927         (cppexp.o): Likewise.
6928         (cppfiles.o): Likewise.
6929         (cpphash.o): Likewise.
6930         (cppalloc.o): Likewise.
6931         (fix-header.o): Likewise.
6932         (scan-decls.o): Likewise.
6933
6934 Fri Dec 11 11:02:49 1998  Stan Cox  <scox@cygnus.com>
6935
6936         * sh.c (print_operand): Lookup interrupt_handler attribute instead
6937         of relying on static variable.
6938         * (calc_live_regs): Likewise.
6939         * (sh_pragma_insert_attributes): Create interrupt_handler
6940         attribute if a pragma was specified.
6941         * (sh_valid_machine_decl_attribute): Don't set static flag.
6942         * sh.h (PRAGMA_INSERT_ATTRIBUTES): New.
6943
6944 Fri Dec 11 12:56:07 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
6945
6946         * reload1.c (reload_combine): Use BASIC_BLOCK_LIVE_AT_START
6947         to determine if a register is live at a jump destination.
6948         Everything is dead at a BARRIER.
6949
6950 Thu Dec 10 16:02:06 1998  Jim Wilson  <wilson@cygnus.com>
6951
6952         * cse.c (simplify_unary_operation): Sign-extend constants when
6953         they have the most significant bit set for the target.
6954         * real.c (endian): Sign-extend 32 bit output values on a 64 bit
6955         host.
6956         * m32r/m32r.c (m32r_expand_prologue): Store pretend_size in
6957         HOST_WIDE_INT temporary before negating it.
6958         * m32r/m32r.md (movsi_insn+1): Use ~0xffff instead of 0xffff0000.
6959
6960 Thu Dec 10 15:05:59 1998  Dave Brolley  <brolley@cygnus.com>
6961
6962         * objc/objc-act.c (lang_init_options): Enclose cpplib related code in
6963         #if USE_CPPLIB.
6964
6965 Thu Dec 10 13:39:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6966
6967         * collect2.h: New header file for prototypes.
6968
6969         * Makefile.in (collect2.o, tlink.o): Depend on collect2.h.
6970
6971         * collect2.c: Include collect2.h.
6972         * tlink.c: Likewise.
6973
6974 Wed Dec  9 23:55:11 1998  Jeffrey A Law  (law@cygnus.com)
6975
6976         * flow.c: Update some comments.
6977
6978 Wed Dec  9 15:29:26 1998  Dave Brolley  <brolley@cygnus.com>
6979
6980         * objc/objc-act.c (cpp_initialized): Removed.
6981         (lang_init_options): Initialize cpplib.
6982         (lang_decode_option): Move initialization of cpplib to
6983         lang_init_options.
6984         * c-lang.c (parse_options,parse_in): Added.
6985         (lang_init_options): Initialized cpplib here.
6986         * c-decl.c (parse_options,cpp_initialized): Removed.
6987         (c_decode_option): Move initialization of cpplib to
6988         lang_init_options.
6989
6990 Wed Dec  9 19:36:57 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
6991
6992         * reload1.c (reload_combine, reload_combine_note_store):
6993         Make STORE_RUID always valid.
6994         (reload_combine): Check if BASE is clobbered too early.
6995
6996 Wed Dec  9 09:53:58 1998  Nick Clifton  <nickc@cygnus.com>
6997
6998         * reload.c (find_reloads): Display the insn that cannot be
6999         reloaded.
7000
7001 Wed Dec  9 12:15:26 1998  Dave Brolley  <brolley@cygnus.com>
7002
7003         * cccp.c (create_definition): Fix end of buffer logic.
7004
7005 Wed Dec  9 10:15:45 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7006
7007         * except.c (duplicate_eh_handlers, rethrow_symbol_map): Function
7008         pointer parameters changed to use the PARAMS() macro.
7009
7010 Wed Dec  9 09:12:40 1998  Andrew MacLeod  <amacleod@cygnus.com>
7011
7012         * except.h (struct handler_info): Add handler_number field.
7013         * except.c (gen_exception_label): EH labels no longer need to be
7014         on the permanent obstack.
7015         (get_new_handler): Set the label number field.
7016         (output_exception_table_entry): Regenerate handler label reference
7017         from the label number field.
7018         (init_eh): Remove a blank line.
7019         * integrate.c (get_label_from_map): Labels no longer need to be
7020         on the permanent obstack.
7021
7022 Tue Dec  8 22:04:33 1998  Jim Wilson  <wilson@cygnus.com>
7023
7024         * i960/i960.h (CONST_COSTS, case CONST_INT): Accept power2_operand
7025         only when OUTER_CODE is SET.
7026
7027 Tue Dec  8 22:47:15 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
7028
7029         * loop.c (strength_reduce): If scan_start points to the loop exit
7030         test, be wary of subversive use of gotos inside expression statements.
7031         Don't set maybe_multiple for a backward jump that does not
7032         include the label under consideration into its range.
7033         * unroll.c (biv_total_increment): Make use of maybe_multiple field.
7034
7035 Tue Dec  8 22:33:18 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
7036
7037         * explow.c (plus_constant_wide): Don't immediately return with
7038         result of recursive call.
7039
7040 Tue Dec  8 15:32:56 1998  Andrew MacLeod  <amacleod@cygnus.com>
7041
7042         * eh-common.h (struct eh_context): Add table_index for rethrows.
7043
7044         * rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes.
7045         (SYMBOL_REF_NEED_ADJUST): New flag indicating symbol needs to be
7046         processed when inlined or unrolled (ie duplicated in some way).
7047
7048         * rtl.c (reg_note_name): Add strings for new reg_note enums.
7049
7050         * expr.h (rethrow_libfunc): New library decl.
7051
7052         * optabs.c (rethrow_libfunc): Initialize.
7053
7054         * except.h (struct eh_entry): Add new field 'rethrow_label'.
7055         (new_eh_region_entry): No longer exported from except.c.
7056         (duplicate_handlers): Renamed to duplicate_eh_handlers and
7057         different prototype.
7058         (rethrow_symbol_map, rethrow_used): New exported functions.
7059         (eh_region_from_symbol): New exported function.
7060
7061         * except.c (create_rethrow_ref): New function to create a single
7062         SYMBOL_REF for a rethrow region.
7063         (push_eh_entry): Initialize a rethrow ref.
7064         (func_eh_entry): Add a rethrow_label field.
7065         (new_eh_region_entry): Make static, and initialize the rethrow entry.
7066         (duplicate_eh_handlers): Create a new region, and remap labels/symbols.
7067         (eh_region_from_symbol): Find an EH region based on its rethrow symbol.
7068         (rethrow_symbol_map): Given a label map, maps a rethrow symbol for
7069         a region into an appropriate new symbol.
7070         (rethrow_used): Indicate whether a rethrow symbol has been referenced.
7071         (expand_eh_region_end): Don't issue jump around code for new-exceptions.
7072         (end_catch_handler): Emit a barrier for new-exceptions since
7073         control can never drop through the end of a catch block.
7074         (expand_end_all_catch): new-exceptions never fall through a catch
7075         block.
7076         (expand_rethrow): Use __rethrow routine for new exceptions.
7077         (output_exception_table_entry): Generate rethrow labels, if needed.
7078         (output_exception_table): Generate start and end rethrow labels.
7079         (init_eh): Create rethrow symbols for beginning and end of table.
7080         (scan_region): Don't eliminate EH regions which are the targets of
7081         rethrows.
7082
7083         * flow.c (make_edges): Add different edges for rethrow calls,
7084         identified by having the REG_EH_RETHROW reg label.
7085         (delete_unreachable_blocks): Don't delete regions markers which are
7086         the target of a rethrow.
7087
7088         * integrate.c (save_for_inline_eh_labelmap): New callback routine to
7089         allow save_for_inline_copying to call duplicate_eh_handlers.
7090         (save_for_inline_copying): Call duplicate_eh_handlers instead of
7091         exposing internal details of exception regions.
7092         (copy_for_inline): Check if SYMBOL_REFs need adjustment.
7093         (expand_inline_function_eh_labelmap): New callback routine to
7094         allow expand_inline_function to call duplicate_eh_handlers.
7095         (expand_inline_function): Call duplicate_eh_handlers instead of
7096         exposing internal details of exception regions.
7097         (copy_rtx_and_substitute): Adjust SYMBOL_REFS if SYMBOL_REF_NEED_ADJUST
7098         flag is set.
7099
7100         * libgcc2.c (find_exception_handler): Generalize to enable it to
7101         pick up processing where it left off last time for a rethrow.
7102         (__unwinding_cleanup): New function. debug hook which is called before
7103         unwinding when __throw finds there is nothing but cleanups left.
7104         (throw_helper): Common parts of __throw extracted out for reuse.
7105         (__throw): Common parts moved to throw_helper.
7106         (__rethrow): New function for performing rethrows.
7107
7108 Tue Dec  8 13:11:04 1998  Jeffrey A Law  (law@cygnus.com)
7109
7110         * reload1.c (current_function_decl): Tweak declaration.
7111
7112 Tue Dec  8 10:23:52 1998  Richard Henderson  <rth@cygnus.com>
7113
7114         * c-decl.c (flag_isoc9x): Default off.
7115         (c_decode_option): Kill -std=gnu, add -std=gnu89 and -std=gnu9x.
7116         * cccp.c (print_help, main): Likewise.
7117         * gcc.c (default_compilers): Update for -std=gnu*.
7118
7119 Tue Dec  8 01:14:46 1998  Jeffrey A Law  (law@cygnus.com)
7120
7121         * Makefile.in (DEMANGLE_H): Change location to shared demangle.h.
7122         * demangle.h: Deleted.
7123
7124         * reload1.c (current_function_decl): Declare.
7125
7126 Tue Dec  8 11:58:51 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7127
7128         * cpplib.c (convert_string): Use `0x00ff', not `0x00ffU'.
7129
7130 Tue Dec  8 09:28:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7131
7132         * dbxout.c: If USG is defined use gstab.h, even if HAVE_STAB_H is set.
7133
7134 1998-12-08  Ulrich Drepper  <drepper@cygnus.com>
7135
7136         * configure.in: Test for availability of putc_unlocked, fputc_unlocked,
7137         and fputs_unlocked.
7138         * configure: Rebuilt.
7139         * system.h: If the *_unlocked functions are available use them
7140         instead of the locked counterparts by defining macros.
7141         * config.in: Regenerated.
7142
7143 Tue Dec  8 00:34:05 1998  Mike Stump  <mrs@wrs.com>
7144
7145         * i386/bsd.h (ASM_FILE_START): Don't use dump_base_name, it is
7146         wrong and should only be used for dump related things, not
7147         debugging information, instead main_input_filename should be used.
7148         Also, reuse output_file_directive if possible.
7149         * i386/aix386ng.h (ASM_FILE_START): Likewise.
7150         * i386/isc.h (ASM_FILE_START): Likewise.
7151         * i386/win-nt.h (ASM_FILE_START): Likewise.
7152         * i386/sun386.h (ASM_FILE_START): Likewise.
7153
7154 Mon Dec  7 23:56:28 1998  Robert Lipe  <robertl@dgii.com>
7155
7156         * configure.in (mips*-*-linux*): Handle big and little endian
7157         systems.
7158         * configure: Rebuilt.
7159
7160 Mon Dec  7 23:14:51 1998  Mike Stump  <mrs@wrs.com>
7161
7162         * emit-rtl.c: Fix typo.
7163
7164 Mon Dec  7 23:07:38 1998  Nathan Sidwell  <nathan@acm.org>
7165
7166         * reload1.c (eliminate_regs): Don't do anything, if we're not
7167         generating code.
7168
7169 Mon Dec  7 15:27:09 1998  DJ Delorie  <dj@cygnus.com>
7170
7171         * mips/mips.h (ENCODE_SECTION_INFO): Handle TARGET_EMBEDDED_DATA.
7172         Add comment.
7173         * mips/mips.c (mips_select_section): Add comment.
7174
7175 Mon Dec  7 17:55:06 1998  Mike Stump  <mrs@wrs.com>
7176
7177         * cccp.c (ignore_escape_flag): Add support for \ as `natural'
7178         characters in file names in #line to be consistent with #include
7179         handling.  We support escape processing in the # 1 "..." version of
7180         the command.  See also support in cp/lex.c.
7181         (handle_directive): Likewise.
7182         (do_line): Likewise.
7183         
7184 1998-12-07  Zack Weinberg  <zack@rabi.phys.columbia.edu>
7185
7186         * cpplib.c (initialize_char_syntax): Use ISALPHA and ISALNUM
7187           so it'll work on non-ASCII platforms.  Always consider $ an
7188           identifier character.  Take no arguments.
7189           (cpp_reader_init): Call initialize_char_syntax with no
7190           arguments.
7191           (cpp_start_read): Don't call initialize_char_syntax again.
7192           Clear is_idchar['$'] and is_idstart['$'] if not
7193           opts->dollars_in_ident.
7194
7195         * cpplib.h (struct cpp_reader): Replace void *data element by
7196           cpp_options *opts.  Rearrange elements to make gdb printout
7197           less annoying (put buffer stack at end).
7198           (CPP_OPTIONS): Get rid of now-unnecessary cast.
7199
7200         * cppmain.c: s/data/opts/ when initializing cpp_reader
7201           structure.
7202         * c-decl.c: Likewise.
7203         * objc/objc-act.c: Likewise.
7204         * fix-header.c: Likewise.
7205
7206 1998-12-07  Zack Weinberg  <zack@rabi.phys.columbia.edu>
7207
7208         * cpplib.h (struct cpp_buffer): Replace dir and dlen members
7209         with a struct file_name_list pointer.
7210         (struct cpp_reader): Add pointer to chain of `actual
7211         directory' include searchpath entries.
7212         (struct file_name_list): Add *alloc pointer for the sake of
7213         the actual-directory chain.
7214
7215         Move definition of HOST_WIDE_INT here.
7216         (cpp_parse_escape): Change prototype to match changes in
7217         cppexp.c.
7218
7219         * cppfiles.c (actual_directory): New function.
7220         (finclude): Use it to initialize the buffer's actual_dir
7221         entry.
7222         (find_include_file): We don't need to fix up max_include_len
7223         here.
7224
7225         * cpplib.c (do_include): Don't allocate a file_name_list on
7226         the fly for current directory "" includes, use the one that's
7227         been preallocated in pfile->buffer->actual_dir.  Hoist out
7228         duplicate code from the search_start selection logic.
7229         (cpp_reader_init): Initialize pfile->actual_dirs.
7230
7231         Remove definition of HOST_WIDE_INT.  Change calls
7232         to cpp_parse_escape to match changes in cppexp.c (note
7233         hardcoded MASK, which is safe since this is the source
7234         character set).
7235
7236         * cppexp.c: Bring over changes to cpp_parse_escape from cccp.c
7237         to handle wide character constants in #if directives.  The
7238         function now returns a HOST_WIDE_INT, and takes a third
7239         argument which is a binary mask for all legal values (0x00ff
7240         for 8-bit `char', 0xffff for 16-bit `wchar_t', etc.)  Define
7241         MAX_CHAR_TYPE_MASK and MAX_WCHAR_TYPE_MASK.  Change callers of
7242         cpp_parse_escape to match.  [Fixes c-torture/execute/widechar-1.c]
7243
7244 Mon Dec  7 15:38:25 1998  Dave Brolley  <brolley@cygnus.com>
7245
7246         * gcc.c (default_compilers): Fix typo in USE_CPPLIB spec for cc1.
7247
7248 Mon Dec  7 15:38:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7249
7250         * c-aux-info.c (concat): Wrap function definition in !USE_CPPLIB.
7251         * cppalloc.c: Move function `xcalloc' from cpplib.c to here.
7252         * cpplib.c: Move function `xcalloc' from here to cppalloc.c.
7253
7254 Mon Dec  7 11:30:49 1998  Nick Clifton  <nickc@cygnus.com>
7255
7256         * final.c (output_asm_name): Use tabs to separate comments from
7257         assembly text.
7258         
7259         Include instruction lengths (if defined) in output.
7260
7261 Mon Dec  7 10:53:38 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7262
7263         * loop.c (check_dbra_loop): Fix initial_value and initial_equiv_value
7264         in the loop_info structure.
7265         
7266 Mon Dec  7 11:04:40 1998  Catherine Moore  <clm@cygnus.com>
7267
7268         * configure.in (arm*-*-ecos-elf): New target.
7269         * configure: Regenerated.
7270         * config/arm/elf.h (ASM_WEAKEN_LABEL): Define.
7271         * config/arm/ecos-elf.h: New file.
7272         * config/arm/unknown-elf.h (TARGET_VERSION): Check
7273         for redefinition.
7274
7275 Mon Dec  7 16:15:51 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
7276
7277         * sh.c (output_far_jump): Emit braf only for TARGET_SH2.
7278
7279 Sun Dec  6 04:19:45 1998  Jeff Law  (law@cygnus.com)
7280
7281         * version.c: Bump for snapshot.
7282
7283 Sun Dec  6 05:16:16 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7284
7285         * loop.c (check_dbra_loop): New argument loop_info.  Update fields
7286         as needed.
7287
7288 Sun Dec  6 03:40:13 1998  Jeff Law  (law@cygnus.com)
7289
7290         * version.c: Bump for snapshot.
7291
7292 Sun Dec  6 07:49:29 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
7293
7294         * gcc.texi (Bug Reporting): 40Kb is a soft limit, larger
7295         compressed reports are ok and preferred over URLs
7296
7297 Sun Dec  6 07:45:33 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
7298
7299         * invoke.texi (Warning Options): Soften the tone of -pedantic
7300
7301 Sun Dec  6 00:20:44 1998  H.J. Lu  (hjl@gnu.org)
7302
7303         * print-rtl.c (print_rtx): Add prototype.
7304
7305         * unroll.c (iteration_info): Make it static.
7306
7307 Sun Dec  6 01:19:46 1998  Richard Henderson  <rth@cygnus.com>
7308
7309         * alias.c (memrefs_conflict_p): A second ANDed address
7310         disables the aligned address optimization.
7311
7312 Sat Dec  5 18:48:25 1998  Richard Henderson  <rth@cygnus.com>
7313
7314         * alpha.c (alpha_emit_set_const_1): Fix parenthesis error
7315         in -c << n case.
7316
7317 Sat Dec  5 15:14:52 1998  Jason Merrill  <jason@yorick.cygnus.com>
7318
7319         * i960.h (BOOL_TYPE_SIZE): Define.
7320
7321 Sun Dec  6 00:28:16 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7322
7323         * config/c4x/c4x.c (valid_parallel_load_store): Flog functionality
7324         from old valid_parallel_operands_4.
7325         (valid_parallel_operands_4): Check that operands for 4 operand
7326         parallel insns are valid, excluding load/store insns.
7327         * config/c4x/c4x.h (valid_parallel_load_store): Add prototype.
7328         * config/c4x/c4x.md (*movqf_parallel, *movqi_parallel): Use
7329         valid_parallel_load_store instead of valid_parallel_operands_4.
7330         (*absqf2_movqf_clobber, *floatqiqf2_movqf_clobber,
7331         *negqf2_movqf_clobber, *absqi2_movqi_clobber,
7332         *fixqfqi2_movqi_clobber, *negqi2_movqi_clobber,
7333         *notqi_movqi_clobber): Use valid_parallel_operands_4.
7334         (*subqf3_movqf_clobber, *ashlqi3_movqi_clobber,
7335         *ashrqi3_movqi_clobber, *lshrqi3_movqi_clobber,
7336         *subqi3_movqi_clobber): Use valid_parallel_operands_5.
7337
7338 Sat Dec  5 23:52:01 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7339
7340         * config/c4x/c4x.c (iteration_info): Delete extern.
7341
7342 Fri Dec  4 20:15:57 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
7343
7344         * tm.texi (SMALL_REGISTER_CLASSES): Make description match reality.
7345
7346         * final.c (cleanup_subreg_operands): Delete some unused code.
7347
7348         * recog.h (MAX_RECOG_ALTERNATIVES): New macro.
7349         (struct insn_alternative): New structure definition.
7350         (recog_op_alt): Declare variable.
7351         (preprocess_constraints): Declare function.
7352         * recog.c (recog_op_alt): New variable.
7353         (extract_insn): Verify number of alternatives is in range.
7354         (preprocess_constraints): New function.
7355         * reg-stack.c: Include recog.h.
7356         (constrain_asm_operands): Delete.
7357         (get_asm_operand_lengths): Delete.
7358         (get_asm_operand_n_inputs): New function.
7359         (record_asm_reg_life): Delete OPERANDS, CONSTRAINTS, N_INPUTS and
7360         N_OUTPUTS args.  All callers changed.
7361         Compute number of inputs and outputs here by calling
7362         get_asm_operand_n_inputs.
7363         Instead of constrain_asm_operands, call extract_insn,
7364         constrain_operands and preprocess_constraints.  Use information
7365         computed by these functions throughout.
7366         (record_reg_life): Delete code that is unused due to changes in
7367         record_asm_reg_life.
7368         (subst_asm_stack_regs): Delete OPERANDS, OPERAND_LOC, CONSTRAINTS,
7369         N_INPUTS and N_OUTPUTS args.  All callers changed.
7370         Similar changes as in record_asm_reg_life.
7371         (subst_stack_regs): Move n_operands declaration into the if statement
7372         where it's used.
7373         Delete code that is unused due to changes in subst_asm_stack_regs.
7374         * stmt.c (expand_asm_operands): Verify number of alternatives is in
7375         range.
7376         * Makefile.in (reg-stack.o): Depend on recog.h.
7377
7378 Fri Dec  4 02:23:24 1998  Jeffrey A Law  (law@cygnus.com)
7379
7380         * except.c (set_exception_version_code): Argument is an "int".
7381
7382 Fri Dec  4 01:29:28 1998  Jeffrey A Law  (law@cygnus.com)
7383
7384         * configure.in (hppa2*-*-*): Handle like hppa1.1-*-* for now.
7385         * configure: Rebuilt.
7386
7387 Fri Dec  4 01:29:28 1998  Robert Lipe  <robertl@dgii.com>
7388
7389         * configure.in (mipsel-*-linux*): New target.
7390         * mips/linux.h: New file, based on other Linux targets.
7391
7392 Thu Dec  3 11:19:50 1998  Mike Stump  <mrs@wrs.com>
7393
7394         * gthr-vxworks.h (__ehdtor): Fix memory leak.  The delete hook
7395         runs in the context of the deleter, not the deletee, so we must
7396         use taskVarGet to find the correct memory to free.
7397         (__gthread_key_create): Initialize the task
7398         variable subsystem so that the task variable is still active when
7399         the delete hook is run.
7400
7401 1998-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
7402
7403         * pdp11.h: Use optimize_size for space optimizations.
7404         * pdp11.c: Likewise.
7405         * pdp11.md: Likewise.
7406
7407         * pdp11.h (TARGET_40_PLUS): Fix typo.
7408
7409 Thu Dec  3 11:48:32 1998  Jeffrey A Law  (law@cygnus.com)
7410
7411         * local-alloc.c (block_alloc): Slightly retune heuristic to widen
7412         qty lifetimes.
7413
7414 Thu Dec  3 22:30:18 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7415
7416         * alias.c (addr_side_effect_eval): New function.
7417         (memrefs_conflict_p): Use it.
7418         * rtl.h (addr_side_effect_eval): Prototype it.
7419
7420 1998-12-02  Joseph S. Myers  <jsm28@cam.ac.uk>
7421
7422         * pdp11.md (extendsfdf2): Fix mode mismatch in SET.
7423
7424 Wed Dec  2 11:23:07 1998  Jim Wilson  <wilson@cygnus.com>
7425
7426         * reload.c (find_reloads): When force const to memory, put result
7427         in substed_operand not *recog_operand_loc.
7428
7429 1998-12-02  Ulrich Drepper  <drepper@cygnus.com>
7430
7431         * c-lex.c: Fix indentation from last patch.
7432         Remove trailing whitespace.
7433         * real.c: Likewise.
7434
7435 Wed Dec  2 10:11:12 1998  Jeffrey A Law  (law@cygnus.com)
7436
7437         * flow.c (delete_block): Call set_last_insn after we have reset
7438         NEXT_INSN (kept_tail).
7439
7440 Wed Dec  2 00:47:31 1998  Jeffrey A Law  (law@cygnus.com)
7441
7442         * mips.md (trap_if): Use "$0" for the value zero.
7443
7444 Tue Dec  1 20:49:49 1998  Ulrich Drepper  <drepper@cygnus.com>
7445                           Stephen L Moshier  <moshier@world.std.com>
7446                           Richard Henderson  <rth@cygnus.com>
7447
7448         * c-common.c (declare_function_name): Declare predefined variable
7449         `__func__'.
7450
7451         * c-decl.c (flag_isoc9x): Set to 1 by default.
7452         (c_decode_option): Handle -std= option.  Remove -flang-isoc9x.
7453         (grokdeclarator): Always emit warning about implicit int for ISO C 9x.
7454
7455         * c-parse.in: Allow constructors in ISO C 9x.
7456         Rewrite designator list handling.
7457         Allow [*] parameters.
7458         Don't warn about comma at end of enum definition for ISO C 9x.
7459
7460         * cccp.c (c9x): New variable.
7461         (rest_extension): New variable.
7462         (print_help): Document new -std= option.
7463         (main): Recognize -std= option.  Set c9x appropriately.
7464         (create_definition): Recognize ISO C 9x vararg macros.
7465
7466         * gcc.c (default_compilers): Adjust specs for -std options.
7467         (option_map): Add --std.
7468         (display_help): Document -std.
7469
7470         * toplev.c (documented_lang_options): Add -std and remove
7471         -flang-isoc9x.
7472         
7473         * c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF
7474         or REAL_VALUE_HTOF based on base of the constants.
7475         * fold-const.c (real_hex_to_f): New function.  Replacement function
7476         for hex FP conversion if REAL_ARITHMETIC is not defined.
7477         * real.c (asctoeg): Add handling of hex FP constants.
7478         * real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or
7479         real_hex_to_f.
7480
7481 Tue Dec  1 16:45:49 1998  Stan Cox  <scox@cygnus.com>
7482
7483         * mips.md (divmodsi4*, divmoddi4*, udivmodsi4*, udivmoddi4): Add
7484         -mcheck-range-division/-mcheck-zero-division checking.  Avoid as macro
7485         expansion.  Use hi/lo as destination register.
7486         (div_trap): New.
7487         (divsi3*, divdi3*, modsi3*, moddi3*, udivsi3*, udivdi3*, umodsi3*,
7488         umoddi3*): Add -mcheck-range-division/-mcheck-zero-division checking.
7489         Avoid as macro expansion.  Use hi/lo as destination register.
7490
7491         * mips.h (MASK_CHECK_RANGE_DIV): New.
7492         (MASK_NO_CHECK_ZERO_DIV): New.
7493         (ELIMINABLE_REGS): Added GP_REG_FIRST + 31.
7494         (CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): Allow for getting
7495         return address for leaf functions out of r31 to support
7496         builtin_return_address.
7497         
7498 Tue Dec  1 15:03:30 1998  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
7499
7500         * jump.c (jump_optimize): Call regs_set_between_p with PREV_INSN(x),
7501         NEXT_INSN(x) to check insn x.
7502         
7503 Tue Dec  1 15:20:44 1998  Jeffrey A Law  (law@cygnus.com)
7504
7505         * flow.c (delete_block): Call set_last_insn if we end up deleting the
7506         last insn in the rtl chain.
7507
7508         * reload1.c (reload): Do not set reload_completed or split insns
7509         here.  Instead...
7510         * toplev.c (rest_of_compilation): Set reload_completed after
7511         reload returns.  Split insns after reload_cse has run.
7512
7513 Tue Dec  1 11:55:04 1998  Richard Henderson  <rth@cygnus.com>
7514
7515         * final.c (final_scan_insn): Abort if block_depth falls below 0.
7516
7517 Tue Dec  1 10:23:16 1998  Nick Clifton  <nickc@cygnus.com>
7518
7519         * config/arm/t-arm-elf (LIBGCC2_CFLAGS): Define inhibit_libc.
7520
7521 Tue Dec  1 10:22:18 1998  Nick Clifton  <nickc@cygnus.com>
7522
7523         * config/arm/unknown-elf.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove
7524         use of user-label_prefix.
7525
7526 Tue Dec  1 17:58:26 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
7527
7528         * reload1.c (emit_reload_insns): Clear spill_reg_store
7529         when doing a new non-inherited reload from the same pseudo.
7530
7531         * local-alloc.c (function_invariant_p): New function.
7532         (update_equiv_regs): Use function_invariant_p instead of CONSTANT_P
7533         to decide if an equivalence should be recorded.
7534         * reload1.c (num_eliminable_invariants): New static variable.
7535         (reload): Set it.  Use function_invariant_p instead of CONSTANT_P
7536         to decide if an equivalence should be recorded.
7537         Unshare PLUS.
7538         (calculate_needs_all_insns): Skip insns that only set an equivalence.
7539         Take num_eliminable_invariants into account when deciding
7540         if register elimination should be done.
7541         (reload_as_needed): Take num_eliminable_invariants into account
7542         when deciding if register elimination should be done.
7543         (eliminate_regs): Handle non-constant reg_equiv_constant.
7544         * rtl.h (function_invariant_p): Declare.
7545
7546 Mon Nov 30 02:00:08 1998  Jeff Law  (law@cygnus.com)
7547
7548         * version.c: Bump for snapshot.
7549
7550 Mon Nov 30 00:42:59 1998  Jeff Law  (law@cygnus.com)
7551
7552         * version.c: Bump for snapshot.
7553
7554 Sun Nov 29 22:59:40 1998  Jason Merrill  <jason@yorick.cygnus.com>
7555
7556         * except.c (add_new_handler): Complain about additional handlers
7557         after one that catches everything.
7558
7559 Sat Nov 28 10:56:32 1998  Jeffrey A Law  (law@cygnus.com)
7560
7561         * configure.in (alpha*-*-netbsd): Fix typo.
7562         * configure: Rebuilt.
7563
7564 Fri Nov 27 12:28:56 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7565
7566         * system.h: Include libiberty.h.
7567
7568         * c-aux-info.c: Remove prototypes for concat/concat3.  Change
7569         function `concat' from fixed parameters to variable parameters,
7570         as is done in libiberty.  All callers of concat/concat3
7571         changed to use the new `concat' with variable args.
7572
7573         * cccp.c: Remove things made redundant by libiberty.h and/or
7574         conform to libiberty standards.
7575         * cexp.y: Likewise.
7576         * collect2.c: Likewise.
7577         * config/1750a/1750a.h: Likewise.
7578         * cppalloc.c: Likewise.
7579         * cppexp.c: Likewise.
7580         * cppfiles.c: Likewise.
7581         * cpphash.c: Likewise.
7582         * cpplib.c: Likewise.
7583         * dyn-string.c: Likewise.
7584         * fix-header.c: Likewise.
7585         * gcc.c: Likewise.
7586         * gcov.c: Likewise.
7587         * genattr.c: Likewise.
7588         * genattrtab.c: Likewise.
7589         * gencheck.c: Likewise.
7590         * gencodes.c: Likewise.
7591         * genconfig.c: Likewise.
7592         * genemit.c: Likewise.
7593         * genextract.c: Likewise.
7594         * genflags.c: Likewise.
7595         * gengenrtl.c: Likewise.
7596         * genopinit.c: Likewise.
7597         * genoutput.c: Likewise.
7598         * genpeep.c: Likewise.
7599         * genrecog.c: Likewise.
7600         * getpwd.c: Likewise.
7601         * halfpic.c: Likewise.
7602         * hash.c: Likewise.
7603         * mips-tdump.c: Likewise.  Wrap malloc/realloc/calloc prototypes
7604         in NEED_DECLARATION_* macros.
7605
7606         * mips-tfile.c: Remove things made redundant by libiberty.h and/or
7607         conform to libiberty standards.
7608         (fatal): Fix const-ification of variable `format' in
7609         !ANSI_PROTOTYPES case.
7610
7611         * prefix.c: Remove things made redundant by libiberty.h and/or
7612         conform to libiberty standards.
7613
7614         * print-rtl.c: Rename variable `spaces' to `xspaces' to avoid
7615         conflicting with function `spaces' from libiberty.
7616
7617         * profile.c: Remove things made redundant by libiberty.h and/or
7618         conform to libiberty standards.
7619         * protoize.c: Likewise.
7620         * rtl.h: Likewise.
7621         * scan.h: Likewise.
7622         * tlink.c: Likewise.
7623         * toplev.c: Likewise.
7624         * toplev.h: Likewise.
7625         * tree.h: Likewise.
7626
7627 Thu Nov 26 08:38:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7628
7629         * cppfiles.c (simplify_pathname): Un-ANSI-fy function definition.
7630
7631 Thu Nov 26 23:45:37 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7632
7633         * README.C4X: Updated URLs.
7634         * config/c4x/c4x.c (c4x_address_conflict): Fix typo.
7635         (valid_parallel_operands_5): Remove unused variable.
7636
7637 Thu Nov 26 23:40:03 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7638
7639         * config/c4x/c4x.h (TARGET_DEFAULT): Fix typo.
7640
7641 1998-11-26  Manfred Hollstein  <manfred@s-direktnet.de>
7642
7643         * Makefile.in (CONFIG_LANGUAGES): New macro taking all languages
7644         which can be configured.
7645         (LANGUAGES): Use $(CONFIG_LANGUAGES) instead of @all_languages@
7646         (Makefile): Pass actual LANGUAGES through the environment when
7647         re-configuring.
7648         (cstamp-h): Likewise.
7649         (config.status): Likewise.
7650
7651         * configure.in (enable_languages): Add new configuration parameter
7652         "--enable-languages=lang1,lang2,...".
7653         (${srcdir}/*/config-lang.in): Change handling to configure only
7654         those directories, that the user might have enabled; default to
7655         "all" existing languages.
7656         * configure: Regenerate.
7657
7658 Thu Nov 26 00:19:19 1998  Richard Henderson  <rth@cygnus.com>
7659
7660         * rtlanal.c (regs_set_between_p): New function.
7661         * rtl.h (regs_set_between_p): Prototype it.
7662         * jump.c (jump_optimize): Use it instead of modified_between_p
7663         in the Sep 2 change.
7664
7665 Wed Nov 25 23:32:02 1998  Ian Dall  <Ian.Dall@dsto.defence.gov.au>
7666                           Matthias Pfaller  <leo@dachau.marco.de>
7667
7668         * invoke.texi (Option Summary, NS32K Options): Add description
7669         of NS32K specific options.
7670
7671         * ns32k.md (tstdf, cmpdf, movdf, truncdfsf2, fixdfqi2, fixdfhi2,
7672         fixdfsi2, fixunsdfqi2, fixunsdfhi2, fixunsdfsi2, fix_truncdfqi2,
7673         fix_truncdfhi2, fix_truncdfsi2, adddf3, subdf3, muldf3, divdf3,
7674         negdf2, absdf2): Use l instead of f since the double class and
7675         float class are no longer the same.
7676         (cmpsi, truncsiqi2, truncsihi2, addsi3, subsi3, mulsi3, umulsidi3,
7677         divsi3, modsi3, andsi3, iorsi3, xorsi3, negsi2, one_cmplsi2,
7678         ashlsi3, ashlhi3, ashlqi3, rotlsi3, rotlhi3, rotlqi3, abssi2,...):
7679         Use "g" instead of "rmn" since LEGITIMATE_PIC_OPERAND has been
7680         fixed.
7681         (cmpsi, cmphi, cmpqi): Use general_operand instead of
7682         non_immediate_operand. Removes erroneous assumption that can't
7683         compare constants.
7684         (movsf, movsi, movhi, movqi,...): New register numbering scheme.
7685         (movsi, addsi3): Use NS32K_DISPLACEMENT_P instead of hard coded
7686         constants.
7687         (movstrsi, movstrsi1, movstrsi2): Completely new block move
7688         scheme.
7689         (...): Patterns to exploit multiply-add instructions.
7690         (udivmodsi4, udivmodsi_internal4, udivmodhi4,
7691         udivmoddihi4_internal, udivmodqi4, udivmoddiqi4_internal): New
7692         patterns to exploit extended divide insns.
7693         (udivsi3, udivhi3, udivqi3): Remove since superseded by udivmodsi
7694         etc patterns.
7695
7696         * ns32k.h (FUNCTION_VALUE, LIBCALL_VALUE): Use f0 for complex
7697         float return values as well as simple scalar floats.
7698         (TARGET_32381, TARGET_MULT_ADD, TARGET_SWITCHES):
7699         Support new flag to denote 32381 fpu.
7700         (OVERRIDE_OPTIONS): 32381 is a strict superset of 32081.
7701         (CONDITIONAL_REGISTER_USAGE): Disable extra 32381 registers if not
7702         compiling for 32381.
7703         (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
7704         REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES, OUTPUT_REGISTER_NAMES,
7705         REG_ALLOC_ORDER, DBX_REGISTER_NUMBER, R0_REGNUM, F0_REGNUM,
7706         L1_REGNUM, STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
7707         LONG_FP_REGS_P, ARG_POINTER_REGNUM, reg_class, REG_CLASS_NAMES,
7708         REG_CLASS_CONTENTS, SUBSET_P,REGNO_REG_CLASS,
7709         REG_CLASS_FROM_LETTER, FUNCTION_PROLOGUE, FUNCTION_EPILOGUE,
7710         REGNO_OK_FOR_INDEX_P, FP_REG_P, REG_OK_FOR_INDEX_P,
7711         REG_OK_FOR_BASE_P, MEM_REG): New register scheme to include 32381
7712         fpu registers and special register classes for new 32381
7713         instructions dotf and polyf.
7714         (MODES_TIEABLE_P): Allow all integer modes, notably DI and SI, to
7715         be tieable.
7716         (INCOMING_RETURN_ADDR_RTX, RETURN_ADDR_RTX,
7717         INCOMING_FRAME_SP_OFFSET): New macros in case DWARF support is
7718         required.
7719         (SMALL_REGISTER_CLASSES): Make dependent on -mmult-add option.
7720         (MOVE_RATIO): Set to zero because of smart movstrsi implementation.
7721         (REGISTER_MOVE_COST): Move code to register_move_cost function for
7722         ease of coding and debugging.
7723         (CLASS_LIKELY_SPILLED_P): Under new register scheme class
7724         LONG_FLOAT_REGO is likely spilled but not caught by default
7725         definition.
7726         (CONSTANT_ADDRESS_P, CONSTANT_ADDRESS_NO_LABEL_P): Use macro
7727         instead of hard coded numbers in range check.
7728         (ASM_OUTPUT_LABELREF_AS_INT): Delete since unused.
7729         (...): Add prototypes for functions in ns32k.c but disable because
7730         of problems when ns32k.h is included in machine independent files.
7731         
7732         * ns32k.c: Include "system.h", "tree.h", "expr.h", "flags.h".
7733         (ns32k_reg_class_contents, regcass_map, ns32k_out_reg_names,
7734         hard_regno_mode_ok, secondary_reload_class,
7735         print_operand, print_operand_address): New register scheme to
7736         include 32381 fpu registers and special register classes for new
7737         32381 instructions dotf and polyf.
7738         (gen_indexed_expr): Make static to keep namespace clean.
7739         (check_reg): Remove since never called.
7740         (move_tail, expand_block_move): Helper functions for "movstrsi"
7741         block move insn.
7742         (register_move_cost): Helper function for REGISTER_MOVE_COST macro.
7743         Increase cost of moves which go via memory.
7744         * netbsd.h (TARGET_DEFAULT): Set (new) 32381 fpu flag.
7745         (CPP_PREDEFINES): No longer predefine "unix".
7746
7747         * ns32k.md (movsi, movsi, adddi3, subdi3, subsi3, subhi3, subqi3,...):
7748         Remove erroneous %$. print_operand() can work out from the rtx is
7749         an immediate prefix is required.
7750
7751         * ns32k.h (RETURN_POPS_ARGS, VALID_MACHINE_DECL_ATTRIBUTE,
7752         VALID_MACHINE_TYPE_ATTRIBUTE, COMP_TYPE_ATTRIBUTES,
7753         SET_DEFAULT_TYPE_ATTRIBUTES): Support for -mrtd calling
7754         convention.
7755         (LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST): Correct handling of
7756         pic operands.
7757
7758         * ns32k.c (symbolic_reference_mentioned_p, print_operand):
7759         Correct handling of pic operands.
7760         (ns32k_valid_decl_attribute_p, ns32k_valid_type_attribute_p,
7761         ns32k_comp_type_attributes, ns32k_return_pops_args): Support for
7762         -mrtd calling convention.
7763
7764 Wed Nov 25 23:42:20 1998  Tom Tromey  <tromey@cygnus.com>
7765
7766         * gcc.c (option_map): Recognize --output-class-directory.
7767
7768 Thu Nov 26 18:26:21 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7769
7770         * loop.h (precondition_loop_p): Added new mode argument.
7771         * unroll.c (precondition_loop_p): Likewise.
7772         (approx_final_value): Function deleted and subsumed
7773         into loop_iterations.
7774         (loop_find_equiv_value): New function.
7775         (loop_iterations): Use loop_find_equiv_value to find increments
7776         too large to be immediate constants.  Also use it to find terms
7777         common to initial and final iteration values that can be removed.
7778
7779 Thu Nov 26 18:05:04 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7780
7781         * loop.h (struct loop_info): Define new structure.
7782         (precondition_loop_p): Added prototype.
7783         (unroll_loop): Added new argument loop_info to prototype.
7784         (final_biv_value, final_giv_value): Added new argument n_iterations
7785         to prototype.
7786         * loop.c (strength_reduce): Declare new structure loop_iteration_info
7787         and new pointer loop_info.
7788         (loop_n_iterations): Replace global variable by element in
7789         loop_info structure.
7790         (check_final_value): New argument n_iterations.
7791         (insert_bct): New argument loop_info.
7792         (loop_unroll_factor): Replace global array by element in
7793         loop_info structure.
7794         (loop_optimize): Remove code to allocate and initialize
7795         loop_unroll_factor_array.
7796         * unroll.c (precondition_loop_p): No longer static since
7797         used by branch on count optimization.
7798         (precondition_loop_p, unroll_loop): New argument loop_info.
7799         (final_biv_value, final_giv_value, find_splittable_regs): New
7800         argument n_iterations.
7801         (loop_iteration_var, loop_initial_value, loop_increment,
7802         loop_final_value, loop_comparison_code, loop_unroll_factor):
7803         Replaced global variables by loop_info structure.
7804         (loop_unroll_factor): Replace global array by element in
7805         loop_info structure.
7806
7807 Thu Nov 26 17:49:29 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7808
7809         * loop.c (check_dbra_loop): Update JUMP_LABEL field of jump insn
7810         when loop reversed.
7811
7812         * unroll.c (precondition_loop_p): Return loop_initial_value
7813         for initial_value instead of loop_iteration_var.
7814
7815 Thu Nov 26 17:15:38 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7816
7817         * config/c4x/c4x.md: Fix minor formatting problems.  Update docs.
7818         (*b, *b_rev, *b_noov, *b_noov_rev, *db,
7819         decrement_and_branch_until_zero, rptb_end): Use c4x_output_cbranch
7820         to output the instruction sequences.
7821         (rpts): Delete.
7822         (rptb_top): Provide alternatives to use any register or memory
7823         for loop counter.
7824         (rptb_end): Emit use of operands rather than assigning them
7825         explicitly to the RS and RE registers.
7826
7827 Thu Nov 26 16:37:59 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7828
7829         * config/c4x/c4x.c (c4x_modified_between_p, c4x_mem_set_p,
7830         c4x_mem_set_p, c4x_mem_modified_between_p, c4x_insn_moveable_p,
7831         c4x_parallel_pack, c4x_parallel_find, c4x_update_info_reg,
7832         c4x_update_info_regs, c4x_copy_insn_after, c4x_copy_insns_after,
7833         c4x_merge_notes, c4x_parallel_process,
7834         c4x_combine_parallel_independent, c4x_combine_parallel_dependent,
7835         c4x_combine_parallel): Delete.
7836
7837 Thu Nov 26 15:16:05 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7838
7839         * config/c4x/c4x.c (c4x_override_options): For compatibility
7840         with old target options clear flag_branch_on_count_reg if
7841         -mno-rptb specified and set flag_argument_alias is -mno-aliases
7842         specified.
7843         (c4x_output_cbranch): Handle a sequence of insns rather than a
7844         single insn.
7845         (c4x_rptb_insert): Do not emit a RPTB insn if the RC register
7846         has not been allocated as the loop counter.
7847         (c4x_address_conflict): Do not allow two volatile memory references.
7848         (valid_parallel_operands_4, valid_parallel_operands_5,
7849         valid_parallel_operands_6): Reject pattern if the register destination
7850         of the first set is used as part of an address in the second set.
7851
7852 Thu Nov 26 14:56:32 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7853
7854         * config/c4x/c4x.h (TARGET_DEFAULT): Add PARALEL_MPY_FLAG.
7855         (TARGET_SMALL_REG_CLASS): Set to 0 so that SMALL_REGISTER_CLASSES
7856         is no longer enabled if PARALLEL_MPY_FLAG set.
7857         (HARD_REGNO_CALL_CLOBBERED): Add parentheses to remove ambiguity.
7858         (REG_CLASS_CONTENTS): Add braces around initializers.
7859         (HAVE_MULTIPLE_PACK): Define.
7860         (ASM_OUTPUT_BYTE_FLOAT): Use %lf format specifier with
7861         REAL_VALUE_TO_DECIMAL.
7862         (ASM_OUTPUT_SHORT_FLOAT): Use %lf format specifier with
7863         REAL_VALUE_TO_DECIMAL.
7864         (ar0_reg_operand): Add prototype.
7865         (ar0_mem_operand): Likewise.
7866         (ar1_reg_operand): Likewise.
7867         (ar1_mem_operand): Likewise.
7868         (ar2_reg_operand): Likewise.
7869         (ar2_mem_operand): Likewise.
7870         (ar3_reg_operand): Likewise.
7871         (ar3_mem_operand): Likewise.
7872         (ar4_reg_operand): Likewise.
7873         (ar4_mem_operand): Likewise.
7874         (ar5_reg_operand): Likewise.
7875         (ar5_mem_operand): Likewise.
7876         (ar6_reg_operand): Likewise.
7877         (ar6_mem_operand): Likewise.
7878         (ar7_reg_operand): Likewise.
7879         (ar7_mem_operand): Likewise.
7880         (ir0_reg_operand): Likewise.
7881         (ir0_mem_operand): Likewise.
7882         (ir1_reg_operand): Likewise.
7883         (ir1_mem_operand): Likewise.
7884         (group1_reg_operand): Likewise.
7885         (group1_mem_operand): Likewise.
7886         (ir1_reg_operand): Likewise.
7887         (arx_reg_operand): Likewise.
7888         (not_rc_reg): Likewise.
7889         (not_modify_reg): Likewise.
7890         (c4x_group1_reg_operand): Remove prototype.
7891         (c4x_group1_mem_operand): Likewise.
7892         (c4x_arx_reg_operand): Likewise.
7893
7894 Wed Nov 25 19:02:55 1998  (Stephen L Moshier)  <moshier@world.std.com>
7895
7896         * emit-rtl.c (gen_lowpart_common): Remove earlier change.
7897         * real.c (make_nan): Make SIGN arg actually specify the sign bit.
7898
7899 Thu Nov 26 14:12:05 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7900
7901         * config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
7902         during reload.
7903
7904 Wed Nov 25 22:05:28 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
7905
7906         * config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
7907         unless FMOVD_WORKS is defined.
7908
7909 Wed Nov 25 20:11:04 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
7910
7911         * regclass.c (init_reg_sets): Move code that calculates tables
7912         dependent on reg_class_contents from here...
7913         (init_reg_sets_1): To here.
7914
7915 Wed Nov 25 14:54:46 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
7916
7917         * cpplib.h: Delete struct import_file.  Add ihash element to
7918         struct cpp_buffer.  Delete dont_repeat_files and
7919         import_hash_table elements from cpp_reader; change
7920         all_include_files to a hash table.  Delete all foobar_include
7921         / last_foobar_include elements from struct cpp_options; put
7922         back four such: quote_include, bracket_include,
7923         system_include, after_include.  Redo struct file_name_list
7924         completely.  Add new structure type include_hash.  Add
7925         prototypes for merge_include_chains and include_hash.  Change
7926         prototypes for finclude, find_include_file, and
7927         append_include_chain to match changes below.
7928
7929         * cppfiles.c (simplify_pathname, include_hash,
7930         remap_filename, merge_include_chains): New functions.
7931         (add_import, lookup_import, open_include_file): Removed.
7932         (INO_T_EQ): Define this (copied from cccp.c).
7933         (hack_vms_include_specification): Remove all calls and #if 0
7934         out the definition.  It was being called incorrectly and at
7935         the wrong times.  Until a VMSie can look at this, it's better
7936         to not pretend to support it.
7937         (append_include_chain): Change calling convention; now takes
7938         only one directory at a time, and sets up the data structure
7939         itself.
7940         (redundant_include_p): Rewritten - this is now used for all
7941         include redundancy, whether by #ifndef, #import, or #pragma
7942         once.  Looks up things in the include hash table.
7943         (file_cleanup): Decrement pfile->system_include_depth here if
7944         it's >0.
7945         (find_include_file): Calling convention changed; now passes
7946         around a struct include_hash instead of 3 separate parameters.
7947         Guts ripped out and replaced with new include_hash mechanism.
7948         (finclude): Calling convention changed as for
7949         find_include_file.  Error exits pulled out-of-line.  Reformat.
7950         (safe_read): Return a long, not an int.
7951         (deps_output): Don't recurse.
7952
7953         * cpplib.c (is_system_include): Deleted.
7954         (path_include): Fix up call to append_include_chain.
7955         (do_include): Fix up calls to find_include_file and finclude.
7956         Clean up dependency output a bit.  Shorten obnoxiously lengthy
7957         #import warning message.  Don't decrement
7958         pfile->system_include_depth here.
7959         (do_pragma): Understand the include_hash structure.  Reformat.
7960         (do_endif): Correct handling of control macros.  Understand
7961         the include_hash.
7962         (cpp_start_read): Fix up calls to finclude.  Call
7963         merge_include_chains.
7964         (cpp_handle_option): Fix up calls to append_include_chain.
7965         Understand the four partial include chains.
7966         (cpp_finish): Add debugging code (#if 0-ed out) for the
7967         include_hash.
7968         (cpp_cleanup): Free the include_hash, not the import hash and
7969         the all_include and dont_repeat lists which no longer exist.
7970
7971 Wed Nov 25 11:26:19 1998  Jeffrey A Law  (law@cygnus.com)
7972
7973         * toplev.c (no_new_pseudos): Define.
7974         (rest_of_compilation): Set no_new_pseudos as needed.
7975         * emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo
7976         if no_new_pseudos is set.
7977         * rtl.h (no_new_pseudos): Declare it.
7978         * reload1.c (reload): Update comments.
7979         * md.texi: Corresponding changes.
7980
7981 Wed Nov 25 11:26:17 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
7982
7983         * reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo.
7984         (choose_reload_regs): Rename it here as well.  When computing it,
7985         also merge in used hardregs.
7986
7987 1998-11-25  Zack Weinberg  <zack@rabi.phys.columbia.edu>
7988
7989         * gcc.c: Split out Objective-C specs to...
7990         * objc/lang-specs.h: here. (New file.) Make the specs cpplib
7991         aware.
7992
7993         * c-lex.c (init_parse): Always initialize the filename global.
7994         * objc/objc-act.c (lang_init): Always call check_newline at
7995         beginning of file.
7996
7997 Wed Nov 25 00:48:29 1998  Graham  <grahams@rcp.co.uk>
7998
7999         * reload1.c (reload): Remove unused variable.
8000         (reload_reg_free_for_value_p): Add missing parameter definition.
8001
8002         * jump.c (jump_optimize): Remove unused variable.
8003
8004 Wed Nov 25 00:07:11 1998  Jeffrey A Law  (law@cygnus.com)
8005
8006         * Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h.
8007
8008         * cse.c (fold_rtx): Make autoincrement addressing mode tests be
8009         runtime selectable.
8010         * expr.c (move_by_pieces): Similarly.
8011         (move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly.
8012         * flow.c (find_auto_inc): Similarly.
8013         (try_pre_increment): Similarly.
8014         * loop.c (strength_reduce): Similarly.
8015         * regclass.c (auto_inc_dec_reg_p): Similarly.
8016         * regmove.c (try_auto_increment): Similarly.
8017         (fixup_match_1): Similarly.
8018         * rtl.h (HAVE_PRE_INCREMENT): Define if not already defined.
8019         (HAVE_PRE_DECREMENT): Similarly.
8020         (HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly.
8021         * Corresponding changes to all target header files.
8022         * tm.texi: Update docs for autoinc addressing modes.
8023
8024 Tue Nov 24 20:24:59 1998  Jim Wilson  <wilson@cygnus.com>
8025
8026         * configure.in (m68020-*-elf*, m68k-*-elf*): New targets.
8027         * configure: Rebuild.
8028         * config/elfos.h: New file.
8029         * config/m68k/m68020-elf.h, config/m68k/m68kelf.h,
8030         config/m68k/t-m68kelf: New file.
8031         
8032 Tue Nov 24 13:40:06 1998  Jeffrey A Law  (law@cygnus.com)
8033
8034         * Makefile.in (HOST_AR): Define.
8035         (HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Similarly.
8036         (libcpp.a): Use the host tools explicitly.
8037         (STAGESTUFF): Add libcpp.a.
8038
8039 Tue Nov 24 09:33:49 1998  Nick Clifton  <nickc@cygnus.com>
8040
8041         * config/m32r/m32r.md (movstrsi_internal): Describe changes made
8042         to source and destination registers.
8043
8044 Mon Nov 23 20:28:02 1998  Mike Stump  <mrs@wrs.com>
8045
8046         * libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
8047         The strategy we now use is to pre allocate the top_elt along
8048         with the EH context so that each thread has its own top_elt.
8049         This is necessary as the dynamic cleanup chain is used on the
8050         top element of the stack and each thread MUST have its own.
8051         (eh_context_static): Likewise.
8052         (new_eh_context): Likewise.
8053         (__sjthrow): Likewise.
8054
8055 Mon Nov 23 20:25:03 1998  Jason Merrill  <jason@yorick.cygnus.com>
8056
8057         * i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while.
8058         * i386.md (prologue_get_pc): Remove unused variable.
8059
8060 Mon Nov 23 17:05:40 1998  Geoffrey Noer  <noer@cygnus.com>
8061
8062         * i386/xm-cygwin.h: Rename cygwin_ path funcs back to cygwin32_.
8063
8064 Mon Nov 23 16:40:00 1998  Ulrich Drepper  <drepper@cygnus.com>
8065
8066         * Makefile.in (OBJS): Add graph.o.
8067         (graph.o): New dependency list.
8068         * flags.h: Declare dump_for_graph and define graph_dump_types type.
8069         * print-rtl.c (dump_for_graph): Define new variable.
8070         (print_rtx): Rewrite to allow use in graph dumping functions.
8071         * toplev.c: Declare print_rtl_graph_with_bb, clean_graph_dump_file,
8072         finish_graph_dump_file.
8073         Define graph_dump_format.
8074         (compile_file): If graph dumping is enabled also clear these files.
8075         Finish graph dump files.
8076         (rest_of_compilation): Also dump graph information if enabled.
8077         (main): Recognize -dv to enabled VCG based graph dumping.
8078         * graph.c: New file.  Graph dumping functions.
8079
8080 Mon Nov 23 16:39:04 1998  Richard Henderson  <rth@cygnus.com>
8081
8082         * configure.in: Look for <sys/stat.h>.
8083         * system.h: Include it before substitute S_ISREG definitions.
8084
8085 Mon Nov 23 17:40:37 1998  Gavin Romig-Koch  <gavin@cygnus.com>
8086
8087         * config/mips/abi.h: Use ABI_O64, duplicating ABI_32 usage.
8088         * config/mips/iris6.h: Same.
8089         * config/mips/mips.md: Same.
8090         * config/mips/mips.c: Same; also add "-mabi=o64" option.
8091         * config/mips/mips.h: Same; also define ABI_O64.
8092
8093 Mon Nov 23 17:02:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8094
8095         *  configure.in: Use AC_PREREQ(2.12.1).
8096
8097 Mon Nov 23 10:16:38 1998  Melissa O'Neill  <oneill@cs.sfu.ca>
8098
8099         * cccp.c (S_ISREG, S_ISDIR): Delete defines.
8100         * cpplib.c, gcc.c: Likewise.
8101         * system.h (S_ISREG, S_ISDIR): Define if not already defined.
8102
8103 Mon Nov 23 09:53:44 1998  Richard Henderson  <rth@cygnus.com>
8104
8105         * local-alloc.c (local_alloc): Use malloc not alloca for
8106         reg_qty, reg_offset, ref_next_in_qty.
8107
8108 Mon Nov 23 16:46:46 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
8109
8110         * caller-save.c (insert_one_insn): Initialize the live_before and
8111         live_after register sets.
8112
8113         Add SH4 support:
8114
8115         * config/sh/lib1funcs.asm (___movstr_i4_even, ___movstr_i4_odd): Define.
8116         (___movstrSI12_i4, ___sdivsi3_i4, ___udivsi3_i4): Define.
8117         * sh.c (reg_class_from_letter, regno_reg_class): Add DF_REGS.
8118         (fp_reg_names, assembler_dialect): New variables.
8119         (print_operand_address): Handle SUBREGs.
8120         (print_operand): Added 'o' case.
8121         Don't use adj_offsettable_operand on PRE_DEC / POST_INC.
8122         Name of FP registers depends on mode.
8123         (expand_block_move): Emit different code for SH4 hardware.
8124         (prepare_scc_operands): Use emit_sf_insn / emit_df_insn as appropriate.
8125         (from_compare): Likewise.
8126         (add_constant): New argument last_value.  Changed all callers.
8127         (find_barrier): Don't try HImode load for FPUL_REG.
8128         (machine_dependent_reorg): Likewise.
8129         (sfunc_uses_reg): A CLOBBER cannot be the address register use.
8130         (gen_far_branch): Emit a barrier after the new jump.
8131         (barrier_align): Don't trust instruction lengths before
8132         fixing up pcloads.
8133         (machine_dependent_reorg): Add support for FIRST_XD_REG .. LAST_XD_REG.
8134         Use auto-inc addressing for fp registers if doubles need to
8135         be loaded in two steps.
8136         Set sh_flag_remove_dead_before_cse.
8137         (push): Support for TARGET_FMOVD.  Use gen_push_fpul for fpul.
8138         (pop): Support for TARGET_FMOVD.  Use gen_pop_fpul for fpul.
8139         (calc_live_regs): Support for TARGET_FMOVD.  Don't save FPSCR.
8140         Support for FIRST_XD_REG .. LAST_XD_REG.
8141         (sh_expand_prologue): Support for FIRST_XD_REG .. LAST_XD_REG.
8142         (sh_expand_epilogue): Likewise.
8143         (sh_builtin_saveregs): Use DFmode moves for fp regs on SH4.
8144         (initial_elimination_offset): Take TARGET_ALIGN_DOUBLE into account.
8145         (arith_reg_operand): FPUL_REG is OK for SH4.
8146         (fp_arith_reg_operand, fp_extended_operand): New functions.
8147         (tertiary_reload_operand, fpscr_operand): Likewise.
8148         (commutative_float_operator, noncommutative_float_operator): Likewise.
8149         (binary_float_operator, get_fpscr_rtx, emit_sf_insn): Likewise.
8150         (emit_df_insn, expand_sf_unop, expand_sf_binop): Likewise.
8151         (expand_df_unop, expand_df_binop, expand_fp_branch): Likewise.
8152         (emit_fpscr_use, mark_use, remove_dead_before_cse): Likewise.
8153         * sh.h (CPP_SPEC): Add support for -m4, m4-single, m4-single-only.
8154         (CONDITIONAL_REGISTER_USAGE): Likewise.
8155         (HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, FMOVD_BIT): Define.
8156         (TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARWARD): Define.
8157         (TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH4, TARGET_FMOVD): Define.
8158         (target_flag): Add -m4, m4-single, m4-single-only, -mfmovd.
8159         (OPTIMIZATION_OPTIONS): If optimizing, set flag_omit_frame_pointer
8160         to -1 and sh_flag_remove_dead_before_cse to 1.
8161         (ASSEMBLER_DIALECT): Define to assembler_dialect.
8162         (assembler_dialect, fp_reg_names): Declare.
8163         (OVERRIDE_OPTIONS): Add code for TARGET_SH4.
8164         Hide names of registers that are not accessible.
8165         (CACHE_LOG): Take TARGET_CACHE32 into account.
8166         (LOOP_ALIGN): Take TARGET_HARWARD into account.
8167         (FIRST_XD_REG, LAST_XD_REG, FPSCR_REG): Define.
8168         (FIRST_PSEUDO_REGISTER: Now 49.
8169         (FIXED_REGISTERS, CALL_USED_REGISTERS): Include values for registers.
8170         (HARD_REGNO_NREGS): Special treatment of FIRST_XD_REG .. LAST_XD_REG.
8171         (HARD_REGNO_MODE_OK): Update.
8172         (enum reg_class): Add DF_REGS and FPSCR_REGS.
8173         (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REG_ALLOC_ORDER): Likewise.
8174         (SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Update.
8175         (CLASS_CANNOT_CHANGE_SIZE, DEBUG_REGISTER_NAMES): Define.
8176         (NPARM_REGS): Eight floating point parameter registers on SH4.
8177         (BASE_RETURN_VALUE_REG): SH4 also passes double values
8178         in floating point registers.
8179         (GET_SH_ARG_CLASS): Likewise.
8180         Complex float types are also returned in float registers.
8181         (BASE_ARG_REG): Complex float types are also passes in float registers.
8182         (FUNCTION_VALUE): Change mode like PROMOTE_MODE does.
8183         (LIBCALL_VALUE): Remove trailing semicolon.
8184         (ROUND_REG): Round when double precision value is passed in floating
8185         point register(s).
8186         (FUNCTION_ARG_ADVANCE): No change wanted for SH4 when things are
8187         passed on the stack.
8188         (FUNCTION_ARG): Little endian adjustment for SH4 SFmode.
8189         (FUNCTION_ARG_PARTIAL_NREGS): Zero for SH4.
8190         (TRAMPOLINE_ALIGNMENT): Take TARGET_HARWARD into account.
8191         (INITIALIZE_TRAMPOLINE): Emit ic_invalidate_line for TARGET_HARWARD.
8192         (MODE_DISP_OK_8): Not for SH4 DFmode.
8193         (GO_IF_LEGITIMATE_ADDRESS): No base reg + index reg for SH4 DFmode.
8194         Allow indexed addressing for PSImode after reload.
8195         (LEGITIMIZE_ADDRESS): Not for SH4 DFmode.
8196         (LEGITIMIZE_RELOAD_ADDRESS): Handle SH3E SFmode.
8197         Don't change SH4 DFmode nor PSImode RELOAD_FOR_INPUT_ADDRESS.
8198         (DOUBLE_TYPE_SIZE): 64 for SH4.
8199         (RTX_COSTS): Add PLUS case.
8200         Increase cost of ASHIFT, ASHIFTRT, LSHIFTRT case.
8201         (REGISTER_MOVE_COST): Add handling of R0_REGS, FPUL_REGS, T_REGS,
8202         MAC_REGS, PR_REGS, DF_REGS.
8203         (REGISTER_NAMES): Use fp_reg_names.
8204         (enum processor_type): Add PROCESSOR_SH4.
8205         (sh_flag_remove_dead_before_cse): Declare.
8206         (rtx_equal_function_value_matters, fpscr_rtx, get_fpscr_rtx): Declare.
8207         (PREDICATE_CODES): Add binary_float_operator,
8208         commutative_float_operator, fp_arith_reg_operand, fp_extended_operand,
8209         fpscr_operand, noncommutative_float_operator.
8210         (ADJUST_COST): Use different scale for TARGET_SUPERSCALAR.
8211         (SH_DYNAMIC_SHIFT_COST): Cheaper for SH4.
8212         * sh.md (attribute cpu): Add value sh4.
8213         (attrbutes fmovd, issues): Define.
8214         (attribute type): Add values dfp_arith, dfp_cmp, dfp_conv, dfdiv.
8215         (function units memory, int, mpy, fp): Make dependent on issue rate.
8216         (function units issue, single_issue, load_si, load): Define.
8217         (function units load_store, fdiv, gp_fpul): Define.
8218         (attribute hit_stack): Provide proper default.
8219         (use_sfunc_addr+1, udivsi3): Predicated on ! TARGET_SH4.
8220         (udivsi3_i4, udivsi3_i4_single, divsi3_i4, divsi3_i4_single): New insns.
8221         (udivsi3, divsi3): Emit special patterns for SH4 hardware,
8222         (mulsi3_call): Now uses match_operand for function address.
8223         (mulsi3): Also emit code for SH1 case.  Wrap result in REG_LIBCALL /
8224         REG_RETVAL notes.
8225         (push, pop, push_e, pop_e): Now define_expands.
8226         (push_fpul, push_4, pop_fpul, pop_4, ic_invalidate_line): New expanders.
8227         (movsi_ie): Added y/i alternative.
8228         (ic_invalidate_line_i, movdf_i4): New insns.
8229         (movdf_i4+[123], reload_outdf+[12345], movsi_y+[12]): New splitters.
8230         (reload_indf, reload_outdf, reload_outsf, reload_insi): New expanders.
8231         (movdf): Add special code for SH4.
8232         (movsf_ie, movsf_ie+1, reload_insf, calli): Make use of fpscr visible.
8233         (call_valuei, calli, call_value): Likewise.
8234         (movsf): Emit no-op move.
8235         (mov_nop, movsi_y): New insns.
8236         (blt, sge): Generalize to handle DFmode.
8237         (return predicate): Call emit_fpscr_use and remove_dead_before_cse.
8238         (block_move_real, block_lump_real): Predicate on ! TARGET_HARD_SH4.
8239         (block_move_real_i4, block_lump_real_i4, fpu_switch): New insns.
8240         (fpu_switch0, fpu_switch1, movpsi): New expanders.
8241         (fpu_switch+[12], fix_truncsfsi2_i4_2+1): New splitters.
8242         (toggle_sz): New insn.
8243         (addsf3, subsf3, mulsf3, divsf3): Now define_expands.
8244         (addsf3_i, subsf3_i, mulsf3_i4, mulsf3_ie, divsf3_i): New insns.
8245         (macsf3): Make use of fpscr visible.  Disable for SH4.
8246         (floatsisf2): Make use of fpscr visible.
8247         (floatsisf2_i4): New insn.
8248         (floatsisf2_ie, fixsfsi, cmpgtsf_t, cmpeqsf_t): Disable for SH4.
8249         (ieee_ccmpeqsf_t): Likewise.
8250         (fix_truncsfsi2): Emit different code for SH4.
8251         (fix_truncsfsi2_i4, fix_truncsfsi2_i4_2, cmpgtsf_t_i4): New insns.
8252         (cmpeqsf_t_i4, ieee_ccmpeqsf_t_4): New insns.
8253         (negsf2, sqrtsf2, abssf2): Now expanders.
8254         (adddf3, subdf3i, muldf2, divdf3, floatsidf2): New expanders.
8255         (negsf2_i, sqrtsf2_i, abssf2_i, adddf3_i, subdf3_i): New insns.
8256         (muldf3_i, divdf3_i, floatsidf2_i, fix_truncdfsi2_i): New insns.
8257         (fix_truncdfsi2, cmpdf, negdf2, sqrtdf2, absdf2): New expanders.
8258         (fix_truncdfsi2_i4, cmpgtdf_t, cmpeqdf_t, ieee_ccmpeqdf_t): New insns.
8259         (fix_truncdfsi2_i4_2+1): New splitters.
8260         (negdf2_i, sqrtdf2_i, absdf2_i, extendsfdf2_i4): New insns.
8261         (extendsfdf2, truncdfsf2): New expanders.
8262         (truncdfsf2_i4): New insn.
8263         * t-sh (LIB1ASMFUNCS): Add _movstr_i4, _sdivsi3_i4, _udivsi3_i4.
8264         (MULTILIB_OPTIONS): Add m4-single-only/m4-single/m4.
8265         * float-sh.h: When testing for __SH3E__, also test for
8266         __SH4_SINGLE_ONLY__ .
8267         * va-sh.h (__va_freg): Define to float.
8268         (__va_greg, __fa_freg, __gnuc_va_list, va_start):
8269         Define for __SH4_SINGLE_ONLY__ like for __SH3E__ .
8270         (__PASS_AS_FLOAT, __TARGET_SH4_P): Likewise.
8271         (__PASS_AS_FLOAT): Use different definition for __SH4__ and
8272          __SH4_SINGLE__.
8273         (TARGET_SH4_P): Define.
8274         (va_arg): Use it.
8275
8276         * sh.md (movdf_k, movsf_i): Tweak the condition so that
8277         init_expr_once is satisfied about the existence of load / store insns.
8278
8279         * sh.md (movsi_i, movsi_ie, movsi_i_lowpart, movsf_i, movsf_ie):
8280         Change m constraint in source operand to mr / mf.
8281
8282         * va-sh.h (__va_arg_sh1): Use __asm instead of asm.
8283
8284         * (__VA_REEF): Define.
8285         (__va_arg_sh1): Use it.
8286
8287         * va-sh.h (va_start, va_arg, va_copy): Add parentheses.
8288
8289 Sun Nov 22 21:34:02 1998  Jeffrey A Law  (law@cygnus.com)
8290
8291         * i386/dgux.c (struct option): Add new "description field".
8292         * m88k/m88k.c (struct option): Likewise.
8293
8294 Sun Nov 22 16:07:57 1998  Jeff Law  (law@cygnus.com)
8295
8296         * version.c: Bump for snapshot.
8297
8298 Sun Nov 22 13:40:02 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
8299
8300         * regmove.c (regmove_profitable_p): Use return value of find_matches
8301         properly.
8302
8303 Sun Nov 22 02:47:37 1998  Jeff Law  (law@cygnus.com)
8304
8305         * version.c: Bump for snapshot.
8306
8307 Sat Nov 21 22:12:09 1998  Jeffrey A Law  (law@cygnus.com)
8308
8309         * reload1.c (eliminate_regs): Do not lose if eliminate_regs is called
8310         without reload having been called earlier.
8311
8312         * v850.c (ep_memory_operand): Offsets < 0 are not valid for EP
8313         addressing modes.
8314         (v850_reorg): Similarly.
8315
8316         * loop.c (check_dbra_loop): Avoid using gen_add2_insn.
8317
8318 Sat Nov 21 02:18:38 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
8319
8320         * loop.c (move_movables): Start of libcall might be new loop start.
8321
8322 Fri Nov 20 12:14:16 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8323
8324         * hash.c (hash_table_init_n): Wrap prototype arguments in PARAMS().
8325
8326 Fri Nov 20 08:34:00 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
8327
8328         * function.c (nonlocal_goto_handler_slots): Renamed from
8329         nonlocal_goto_handler_slot; now an EXPR_LIST chain.
8330         (push_function_context_to): Adjust for this change.
8331         (pop_function_context_from): Likewise.
8332         (init_function_start): Likewise.
8333         (expand_function_end): Likewise.
8334         * function.h (struct function): Likewise.
8335         * calls.c (expand_call): Likewise.
8336         * explow.c (allocate_dynamic_stack_space): Likewise.
8337         * expr.h (nonlocal_goto_handler_slots): Rename its declaration.
8338         * stmt.c (declare_nonlocal_label): Make a new handler slot for each
8339         label.
8340         (expand_goto): When doing a nonlocal goto, find corresponding handler
8341         slot for it.  Don't put the label address in the static chain register.
8342         (expand_end_bindings): Break out nonlocal goto handling code into
8343         three new functions.
8344         (expand_nl_handler_label, expand_nl_goto_receiver,
8345         expand_nl_goto_receivers): New static functions, broken out of
8346         expand_end_bindings and adapted to create one handler per nonlocal
8347         label.
8348         * function.c (delete_handlers): Delete insn if it references any of
8349         the nonlocal goto handler slots.
8350         * i960.md (nonlocal_goto): Comment out code that modifies
8351         static_chain_rtx.
8352         * sparc.md (nonlocal_goto): Likewise.
8353         (goto_handler_and_restore_v9): Comment out.
8354         (goto_handler_and_restore_v9_sp64): Comment out.
8355
8356 Thu Nov 19 23:44:38 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
8357
8358         * expr.c (STACK_BYTES): Delete unused macro.
8359         * calls.c: Provide default for PREFERRED_STACK_BOUNDARY.
8360         (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
8361         (expand_call): Likewise.
8362         (emit_library_call): Likewise.
8363         (emit_library_call_value): Likewise.
8364         * function.c: Provide default for PREFERRED_STACK_BOUNDARY.
8365         (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
8366         * explow.c: Provide default for PREFERRED_STACK_BOUNDARY.
8367         (round_push): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
8368         (allocate_dynamic_stack_space): Likewise.
8369         * tm.texi (PREFERRED_STACK_BOUNDARY): Document new macro.
8370         (STACK_BOUNDARY): Update description to reflect the new situation.
8371
8372 Thu Nov 19 22:20:51 1998  Jeffrey A Law  (law@cygnus.com)
8373
8374         * reorg.c (relax_delay_slots): When optimizing for code size, if a
8375         return with a filled delay slot is followed by a return with an
8376         unfilled delay slot, delete the first return and reemit the insn
8377         that was previously in its delay slot.
8378
8379         * i860.c (single_insn_src_p): Add missing parens.
8380         * ginclude/math-3300.h: Likewise.
8381
8382 Thu Nov 19 20:55:59 1998  H.J. Lu  (hjl@gnu.org)
8383
8384         * regclass.c (init_reg_sets_1): Add prototype.
8385         (init_reg_modes): Likewise.
8386
8387 1998-11-19  Zack Weinberg  <zack@rabi.phys.columbia.edu>
8388
8389         * c-common.c: Change warning messages to say `comparison is
8390         always true' or `comparison is always false' instead of the
8391         confusing `is always 0', `is always 1'.
8392
8393 Thu Nov 19 19:05:49 1998  Per Bothner  <bothner@cygnus.com>
8394
8395         * print-tree.c (print_node): After printing BLOCK or BIND_EXPR,
8396         break instead of return (which loses closing '>').
8397
8398 Thu Nov 19 19:34:13 1998  Jeffrey A Law  (law@cygnus.com)
8399
8400         * i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not
8401         standard 387 constants.
8402
8403         * i386.md (jump): Explicitly set "memory" attribute.
8404         (indirect_jump, prologue_set_stack_ptr): Likewise.
8405         (prologue_get_pc_and_set_got, pop): Likewise.
8406         (allocate_stack_worder, blockage, return_internal): Likewise.
8407         (return_pop_internal, nop): Likewise.
8408         (epilogue_set_stack_ptr, leave): Likewise.
8409
8410 Thu Nov 19 15:42:54 1998  Nick Clifton  <nickc@cygnus.com>
8411
8412         * config/arm/coff.h: Set USER_LABEL_PREFIX to "_".
8413
8414 Thu Nov 19 23:20:59 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
8415
8416         * reload1.c (reload_reg_free_for_value_p):
8417         Early auto_inc reloads don't conflict with outputs.
8418
8419 Thu Nov 19 12:58:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8420
8421         * configure.in: Don't do AC_CHECK_HEADERS(wait.h sys/wait.h).
8422         Instead call AC_HEADER_SYS_WAIT.
8423
8424         * collect2.c: Don't provide defaults for sys/wait.h macros.
8425         * gcc.c: Likewise.
8426         * protoize.c: Likewise.  Also, don't include sys/wait.h.
8427
8428         * system.h: Include sys/wait.h and provide macro defaults.
8429
8430 1998-11-19  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
8431
8432         * Makefile.in (mandir): Set to @mandir@.
8433         (man1dir): New variable to hold the former value of $(mandir).
8434         Replace all uses of $(mandir) by $(man1dir).
8435
8436 Wed Nov 18 16:31:28 1998  Jim Wilson  <wilson@cygnus.com>
8437
8438         * reload.c (find_reloads_address_part): If have a CONST_INT, create
8439         a new one before passing it to force_const_mem.
8440
8441         * reload.c (find_reloads_toplev): Pass &x instead of NULL_PTR in
8442         find_reloads_address call.
8443
8444 Wed Nov 18 22:13:00 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
8445
8446         * expr.c (store_expr): Don't generate load-store pair
8447         if TEMP is identical (according to ==) with TARGET.
8448
8449 Tue Nov 17 22:25:16 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
8450
8451         * reload1.c (reload_reg_free_for_value_p): When considered reload
8452         has an output, matching inputs are not sufficient to avoid conflict.
8453
8454 Tue Nov 17 11:51:16 1998  Mark Mitchell  <mark@markmitchell.com>
8455
8456         * hash.h (hash_table_key): New type.
8457         (hash_entry): Change `string' field to generic `key'.
8458         (hash_table): Add `comp' and `hash' functions.
8459         (hash_table_init): Take them as input.
8460         (hash_table_init_n): Likewise.
8461         (hash_lookup): Modify for generic keys.
8462         (hash_newfunc): Likewise.
8463         (hash_traverse): Likewise.
8464         (string_hash): New function.
8465         (string_compare): Likewise.
8466         (string_copy): Likewise.
8467         * hash.c (hash_table_init_n): Modify for generic keys.
8468         (hash_table_init): Likewise.
8469         (hash_lookup): Likewise.
8470         (hash_newfunc): Likewise.
8471         (hash_traverse): Likewise.
8472         (string_hash): Split out from hash_lookup.
8473         (string_compare): New function.
8474         (string_copy): Split out from hash_lookup.
8475         * tlink.c (symbol_hash_newfunc): Modify for new interfaces to hash
8476         tables.
8477         (symbol_hash_lookup): Likewise.
8478         (file_hash_newfunc): Likewise.
8479         (file_hash_lookup): Likewise.
8480         (demangled_hash_newfunc): Likewise.
8481         (demangled_hash_lookup): Likewise.
8482         (tlink_int): Likewise.
8483         (read_repo_file): Likewise.
8484         (recompile_files): Likewise.
8485         (demangle_new_symbols): Likewise.
8486         (scan_linker_output): Likewise.
8487         
8488 Tue Nov 17 17:13:53 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
8489
8490         * flow.c (insn_dead_p): New argument NOTES.  Changed all callers.
8491
8492 Mon Nov 16 17:56:07 1998  David Edelsohn  <edelsohn@gnu.org>
8493
8494         * rs6000.c (output_mi_thunk): Improve test for local branch.
8495
8496 Mon Nov 16 17:56:07 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8497
8498         * rs6000.c (output_mi_thunk): Correct test for aggregate values.
8499
8500 Mon Nov 16 21:02:52 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
8501
8502         * reload1.c (reload_reg_free_before_p): Delete.
8503         Changed all callers to use reload_reg_free_for_value_p instead.
8504         (reload_reg_free_for_value_p): Handle more reload types.
8505         A RELOAD_FOR_INPUT doesn't conflict with its
8506         RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS.
8507         Add special case for OUT == const0_rtx.
8508         Added ignore_address_reloads argument.  Changed all callers.
8509
8510 Mon Nov 16 02:22:29 1998  Jason Merrill  <jason@yorick.cygnus.com>
8511
8512         * toplev.c (compile_file): Don't pedwarn about undefined static
8513         functions just because we passed -Wunused.
8514
8515 Mon Nov 16 04:41:41 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
8516
8517         * function.c (purge_addressof_1): Unshare rtl created by
8518         store_bit_field.
8519
8520 Mon Nov 16 04:23:06 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
8521
8522         * regmove.c (regmove_optimize): Don't do anything but
8523         optimize_reg_copy[123] when flag_regmove is not set.
8524
8525 Sat Nov 14 15:05:07 1998  Richard Henderson  <rth@cygnus.com>
8526
8527         * alpha.md (addsi3, subsi3): Revise 5 Nov change to store DImode
8528         value in paradoxical SImode result, rather than truncating midpoint.
8529
8530 Fri Nov 13 22:19:23 1998  Richard Henderson  <rth@cygnus.com>
8531
8532         * alpha.c (reg_not_elim_operand): New.
8533         * alpha.h (PREDICATE_CODES): Add it.
8534         * alpha.md (s48addq, s48subq patterns): Use it as the predicate
8535         for the multiplicand.
8536
8537 Fri Nov 13 22:50:37 1998  David Edelsohn  <edelsohn@gnu.org>
8538
8539         * rs6000.md (movsf): Remove explicit secondary-reload-like
8540         functionality.  Only truncate SFmode store if in FPR.
8541         (movsf splitters): Combine const_double splitters.
8542         (movsf_hardfloat): Add GPR support.
8543
8544 Fri Nov 13 11:02:11 1998  Stan Cox  <scox@cygnus.com>
8545
8546         * splet.h (SUBTARGET_OVERRIDE_OPTIONS): New to
8547         deprecate -mlive-g0 and -mbroken-saverestore.
8548         * t-splet (MULTILIB_OPTIONS): Likewise.
8549         
8550         * sparc.c (sparc_flat_compute_frame_size): Correctly calc args_size
8551         in a leaf function.  Clarify total_size/extra_size relationship.
8552
8553 Thu Nov 12 19:20:57 1998  Geoffrey Noer  <noer@cygnus.com>
8554
8555         * i386/cygwin32.asm: Delete.
8556         * i386/cygwin.asm: New file, renamed from cygwin32.asm.
8557         * i386/cygwin32.h: Delete.
8558         * i386/cygwin.h: New file, renamed from cygwin32.h.
8559         * i386/t-cygwin32: Delete.
8560         * i386/t-cygwin: New file, renamed from t-cygwin32.  Include
8561         cygwin.asm instead of cygwin32.asm.  Remove "32" from comment.
8562         * i386/x-cygwin32: Delete.
8563         * i386/x-cygwin: New file, renamed from x-cygwin32.
8564         * i386/xm-cygwin32: Delete.
8565         * i386/xm-cygwin: New file, renamed from xm-cygwin32.  Use newly
8566         renamed cygwin_ funcs for path translations.
8567         * i386/win32.h: Define __CYGWIN__ when -mcygwin given.
8568         * i386/winnt.c: Remove "32" from comment about cygwin.
8569         * i386/mingw32.h: Fix references to cygwin32.h in light of above.
8570         * rs6000/cygwin32.h: Delete.
8571         * rs6000/cygwin.h: New file, renamed from cygwin32.h.  Add
8572         -D__CYGWIN__ to CPP_PREDEFINES.
8573         * rs6000/x-cygwin32: Delete.
8574         * rs6000/x-cygwin: New file, renamed from x-cygwin32.
8575         * rs6000/xm-cygwin32: Delete.
8576         * rs6000/xm-cygwin: New file, renamed from xm-cygwin32.
8577
8578         * configure.in: Check for cygwin* instead of cygwin32.  Account
8579         for the rename of cygwin-related config files to lose the "32"s.
8580         * configure: Regenerate.
8581
8582         * cccp.c, collect2.c, gcc.c, getpwd.c, libgcc2.c, protoize.c,
8583         toplev.c: Change all refs to __CYGWIN32__ to __CYGWIN__.
8584
8585 Wed Nov 11 12:25:19 1998  Tom Tromey  <tromey@cygnus.com>
8586
8587         * Makefile.in (JAVAGC): New macro.
8588         * configure: Rebuilt.
8589         * configure.in: Recognize --enable-java-gc argument.  Subst
8590         `JAVAGC' variable.
8591
8592 Thu Nov 12 03:32:16 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
8593
8594         Handle equivalences that have been obscured by gcse:
8595
8596         * reload1.c (reload): Handle equivalences set up in multiple places.
8597         * local-alloc.c (reg_equiv_init_insns): New variable.
8598         (no_equiv): New function.
8599         (update_equiv_regs): Handle equivalences set up in multiple places.
8600         Don't ignore an insn just because its destination is likely to be
8601         spilled.
8602
8603 Wed Nov 11 13:46:13 1998  Jim Wilson  <wilson@cygnus.com>
8604
8605         * except.c (expand_eh_return): Readd force_operand call lost in
8606         Sept 15 change.
8607
8608 Tue Nov 10 17:04:11 1998  David Edelsohn  <edelsohn@gnu.org>
8609
8610         * rs6000.h (LEGITIMIZE_ADDRESS): Add missing goto on last case.
8611
8612 1998-11-09  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
8613
8614         * dbxout.c: Check HAVE_STAB_H instead of HAVE_STABS_H.
8615
8616 Mon Nov  9 20:15:19 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
8617
8618         * regmove.c (regmove_optimize): Fix error in last change.
8619
8620 Mon Nov  9 16:37:52 1998  Andrew Cagney  <cagney@b1.cygnus.com>
8621
8622         * mips.c (function_prologue): When TARGET_MIPS16, adjust the register
8623         offset in the .mask pseudo to compensate for frame pointer adjustments.
8624         (mips16_fp_args, build_mips16_call_stub): For little endian, do not
8625         word swap arguments moved to/from FP registers.
8626         * mips16.S (DFREVCMP): Reverse arguments to OPCODE.
8627         
8628 Mon Nov  9 09:47:06 1998  Jeff Law  (law@cygnus.com)
8629
8630         * version.c: Bump for snapshot.
8631
8632 Mon Nov  9 02:14:14 1998  Jeff Law  (law@cygnus.com)
8633
8634         * version.c: Bump for snapshot.
8635
8636 Mon Nov  9 03:06:24 1998  Jeffrey A Law  (law@cygnus.com)
8637
8638         * reload1.c (delete_output_reload_insn): If a pseudo is set multiple
8639         times, then it can not be completely replaced.
8640
8641 Mon Nov  9 00:39:02 1998  Richard Henderson  <rth@cygnus.com>
8642
8643         * alpha.md (call, call_value) [OSF]: Correct alt 3 insn length.
8644
8645 Sun Nov  8 17:50:30 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8646
8647         * gansidecl.h: Prepend a "G" to the macro wrapping this file
8648         (to distinguish it from the macro wrapping ansidecl.h.)
8649         Include libiberty's ansidecl.h.  Remove all redundant definitions.
8650         Define the PROTO() style macros in terms of the PARAMS() ones.
8651
8652         
8653         * calls.c (emit_library_call): Switch on ANSI_PROTOTYPES, not
8654         __STDC__, when deciding whether to use ANSI variable args.
8655         (emit_library_call_value): Likewise.
8656
8657         * cccp.c (error): Likewise.
8658         (warning): Likewise.
8659         (error_with_line): Likewise.
8660         (warning_with_line): Likewise.
8661         (pedwarn): Likewise.
8662         (pedwarn_with_line): Likewise.
8663         (pedwarn_with_file_and_line): Likewise.
8664         (fatal): Likewise.
8665
8666         * cexp.y (error): Likewise.
8667         (pedwarn): Likewise.
8668         (warning): Likewise.
8669
8670         * collect2.c (fatal_perror): Likewise.
8671         (fatal): Likewise.
8672         (error): Likewise.
8673
8674         * combine.c (gen_rtx_combine): Likewise.
8675
8676         * cpperror.c (cpp_message): Likewise.
8677         (cpp_fatal): Likewise.
8678
8679         * cpplib.c (cpp_error): Likewise.
8680         (cpp_warning): Likewise.
8681         (cpp_pedwarn): Likewise.
8682         (cpp_error_with_line): Likewise.
8683         (cpp_warning_with_line): Likewise.
8684         (cpp_pedwarn_with_line): Likewise.
8685         (cpp_pedwarn_with_file_and_line): Likewise.
8686
8687         * cpplib.h: Don't define PARAMS() macro.
8688
8689         * demangle.h: Likewise.
8690
8691         * doprint.c (checkit): Switch on ANSI_PROTOTYPES, not __STDC__,
8692         when deciding whether to use ANSI variable args.
8693
8694         * emit-rtl.c (gen_rtx): Likewise.
8695         (gen_rtvec): Likewise.
8696
8697         * final.c (asm_fprintf): Likewise.
8698
8699         * fix-header.c (cpp_message): Likewise.
8700         (fatal): Likewise.
8701         (cpp_fatal): Likewise.
8702
8703         * gcc.c (concat): Likewise.
8704         (fatal): Likewise.
8705         (error): Likewise.
8706
8707         * genattr.c (fatal): Likewise.
8708
8709         * genattrtab.c (attr_rtx): Likewise.
8710         (attr_printf): Likewise.
8711         (fatal): Likewise.
8712
8713         * gencodes.c (fatal): Likewise.
8714
8715         * genconfig.c (fatal): Likewise.
8716
8717         * genemit.c (fatal): Likewise.
8718
8719         * genextract.c (fatal): Likewise.
8720
8721         * genflags.c (fatal): Likewise.
8722
8723         * genopinit.c (fatal): Likewise.
8724
8725         * genoutput.c (fatal): Likewise.
8726         (error): Likewise.
8727
8728         * genpeep.c (fatal): Likewise.
8729
8730         * genrecog.c (fatal): Likewise.
8731
8732         * halfpic.h: Switch on ANSI_PROTOTYPES, not __STDC__, when
8733         deciding whether to declare `tree_node' and `rtx_def'.
8734
8735         * hash.h: Don't define stuff we get from gansidecl.h.
8736
8737         * mips-tfile.c: Likewise.  Define __proto() in terms of PARAMS().
8738         (fatal): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
8739         whether to use ANSI variable args.
8740         (error): Likewise.
8741
8742         * prefix.c (concat): Likewise.
8743
8744         * scan.h: Likewise.
8745
8746         * system.h: Likewise.
8747
8748         * toplev.c (error_with_file_and_line): Likewise.
8749         (error_with_decl): Likewise.
8750         (error_for_asm): Likewise.
8751         (error): Likewise.
8752         (fatal): Likewise.
8753         (warning_with_file_and_line): Likewise.
8754         (warning_with_decl): Likewise.
8755         (warning_for_asm): Likewise.
8756         (warning): Likewise.
8757         (pedwarn): Likewise.
8758         (pedwarn_with_decl): Likewise.
8759         (pedwarn_with_file_and_line): Likewise.
8760         (sorry): Likewise.
8761         (really_sorry): Likewise.
8762
8763         * toplev.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
8764         whether to declare `tree_node' and `rtx_def'.
8765
8766         * tree.c (build): Switch on ANSI_PROTOTYPES, not __STDC__, when
8767         deciding whether to use ANSI variable args.
8768         (build_nt): Likewise.
8769         (build_parse_node): Likewise.
8770
8771 Sun Nov  8 13:10:55 1998  Jeff Law  (law@cygnus.com)
8772
8773         * version.c: Bump for snapshot.
8774
8775 Sat Nov  7 23:34:01 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8776
8777         * Makefile.in (libcpp.a): Check RANLIB_TEST before runing RANLIB.
8778
8779 Sat Nov  7 22:26:19 1998  David Edelsohn  <edelsohn@gnu.org>
8780
8781         * collect2.c (main, case 'b'): Use else if.
8782
8783 Sat Nov  7 15:35:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8784
8785         * configure.in (host_xm_file, build_xm_file, xm_file, tm_file):
8786         Arrange to include gansidecl.h in {ht}config.h & tm.h just
8787         before the config/ directory headers.
8788         (tm_file_list, host_xm_file_list, build_xm_file_list): Handle
8789         gansidecl.h in the list of dependencies.
8790
8791         * Makefile.in (RTL_BASE_H): Don't depend on gansidecl.h.
8792         (TREE_H, DEMANGLE_H, RECOG_H, REGS_H, libgcc2.a, stmp-multilib,
8793         mbchar.o, collect2.o, pexecute.o, vfprintf.o, splay-tree.o, gcc.o,
8794         gencheck.o, choose-temp.o, mkstemp.o, mkstemp.o, prefix.o,
8795         dyn-string.o, cexp.o, cccp.o, cppmain.o, cpplib.o, cpperror.o,
8796         cppexp.o, cppfiles.o, cpphash.o, cppalloc.o, scan-decls.o):
8797         Likewise.
8798
8799         * cccp.c: Don't include gansidecl.h.
8800         * cexp.y: Likewise.
8801         * collect2.c: Likewise.
8802         * config/c4x/c4x.c: Likewise.
8803         * config/v850/v850.h: Likewise.
8804         * cppalloc.c: Likewise.
8805         * cpperror.c: Likewise.
8806         * cppexp.c: Likewise.
8807         * cppfiles.c: Likewise.
8808         * cpphash.c: Likewise.
8809         * cpplib.c: Likewise.
8810         * cppmain.c: Likewise.
8811         * cppulp.c: Likewise.
8812         * demangle.h: Likewise.
8813         * doprint.c: Likewise.
8814         * dyn-string.c: Likewise.
8815         * eh-common.h: Likewise.
8816         * fix-header.c: Likewise.
8817         * frame.c: Likewise.
8818         * gcc.c: Likewise.
8819         * gcov.c: Likewise.
8820         * gen-protos.c: Likewise.
8821         * gencheck.c: Likewise.
8822         * halfpic.h: Likewise.
8823         * hash.c: Likewise.
8824         * machmode.h: Likewise.
8825         * mbchar.c: Likewise.
8826         * prefix.c: Likewise.
8827         * protoize.c: Likewise.
8828         * recog.h: Likewise.
8829         * rtl.h: Likewise.
8830         * scan-decls.c: Likewise.
8831         * tree.h: Likewise.
8832         * varray.h: Likewise.
8833         
8834 Sat Nov  7 11:37:53 1998  Richard Henderson  <rth@cygnus.com>
8835
8836         * i386.md (call_value_pop): If we're not popping anything,
8837         defer to call_value.
8838         (call_pop): Likewise defer to call.
8839
8840 Sat Nov  7 02:49:56 1998  Richard Henderson  <rth@cygnus.com>
8841
8842         * function.c (purge_addressof): Clear purge_addressof_replacements
8843         only after processing the whole function.
8844
8845 Sat Nov  7 00:54:55 1998  Jeffrey A Law  (law@cygnus.com)
8846
8847         * reload1.c (reload): If we can not perform a particular elimination
8848         when we thought we could earlier, then we must always iterate through
8849         the loop at least one more time.
8850
8851 Fri Nov  6 19:37:33 1998  Richard Henderson  <rth@cygnus.com>
8852
8853         * alpha.c (add_operand): Simplify the CONST_INT match.
8854         (sext_add_operand): Correct typo in comparison by using
8855         CONST_OK_FOR_LETTER_P.
8856         * alpha.md (s?addq): Use sext_add_operand to allow the negative
8857         constant alternatives to be generated.
8858         (mulsi3, muldi3, umuldi3_highpart): Loosen constraints to allow
8859         small constants, since the hw instructions do.
8860
8861 Fri Nov  6 20:15:19 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
8862
8863         * reload1.c (emit_reload_insns): When rewriting the SET_DEST of a
8864         previous insn to store directly into our reload register, make sure
8865         that if the source of the previous insn is a reload register, its
8866         spill_reg_store and spill_reg_stored_to values are cleared.
8867
8868 Fri Nov  6 16:35:10 1998  David Edelsohn  <edelsohn@gnu.org>
8869
8870         * rs6000.md (floatunssidf2_internal splitter): Use base register
8871         operand, not hard-coded SP.
8872
8873 Fri Nov  6 04:07:53 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
8874
8875         * jump.c (calculate_can_reach_end): Fix thinko.
8876
8877 Fri Nov  6 00:16:04 1998  Jeffrey A Law  (law@cygnus.com)
8878
8879         * reorg.c (fill_simple_delay_slots): Fix typo.
8880
8881         * romp.h (LEGITIMIZE_ADDRESS): Fix typo.
8882
8883 Fri Nov  6 00:10:00 1998  Jan Hubicka  (hubicka@freesoft.cz)
8884
8885         * i386.md (extendsidi2): Use # in the output template.
8886         (extendsidi splitters): New splitters.
8887
8888 Thu Nov  5 11:13:27 1998  Nick Clifton  <nickc@cygnus.com>
8889
8890         * configure.in: Use unknown-elf.h as tm_file for arm-elf
8891         configurations.
8892         * configure: Regenerate.
8893
8894 Thu Nov  5 07:59:05 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
8895
8896         * jump.c (init_label_info, delete_barrier_successors,
8897         mark_all_labels, delete_unreferenced_labels,
8898         delete_noop_moves, calculate_can_reach_end): New functions broken
8899         out of jump_optimize.
8900         (jump_optimize): Use them.
8901
8902 Thu Nov  5 07:57:45 1998  Andrew MacLeod  <amacleod@cygnus.com>
8903
8904         * except.c (expand_fixup_region_end): Make sure outer context labels
8905         are not issued in an inner context during cleanups.
8906
8907 Thu Nov  5 04:03:06 1998  Richard Henderson  <rth@cygnus.com>
8908
8909         * alpha.md (addsi3, subsi3): No new temporaries once cse is
8910         no longer expected.
8911
8912 Thu Nov  5 03:29:19 1998  Richard Henderson  <rth@cygnus.com>
8913
8914         * alpha.md (addsi3, subsi3): Expand to a DImode temporary so as
8915         to expose this midpoint to CSE.
8916
8917 Thu Nov  5 03:42:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
8918
8919         * config/sparc/sparc.md (movdf_const_intreg_sp64): Enable again.
8920
8921 Thu Nov  5 10:53:01 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
8922
8923         * configure.in: Bring over gcc2 change of Nov 19 1997.
8924
8925 Wed Nov  4 23:43:08 1998  Graham  <grahams@rcp.co.uk>
8926
8927         * toplev.c (output_lang_identify): Make definition dependent on
8928         ASM_IDENTIFY_LANGUAGE.
8929
8930         * print-rtl.c (spaces): Make static.
8931
8932 Wed Nov  4 22:16:36 1998  Hans-Peter Nilsson  <hp@axis.se>
8933
8934         * extend.texi: Clarify proper uses for register clobbers in asms.
8935
8936 Wed Nov  4 22:16:36 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
8937
8938         * recog.h (enum op_type): Define.
8939         (constrain_operands): Adjust prototype.
8940         (recog_op_type): Declare new variable.
8941         * recog.c (recog_op_type): New variable.
8942         (insn_invalid_p): Allow modifying an asm statement after reload.
8943         (extract_insn): Set up recog_op_type.
8944         (constrain_operands): Lose INSN_CODE_NUM arg.  All callers changed.
8945         Don't compute operand types, use recog_op_type.
8946         Use the information computed by extract_insn instead of the previous
8947         method of finding it by insn code number.
8948         * caller-save.c (init_caller_save): Use extract_insn, not insn_extract.
8949         * reorg.c (fill_slots_from_thread): Likewise.
8950         * reload1.c (reload_as_needed): Likewise.
8951         (gen_reload): Likewise.
8952         (inc_for_reload): Likewise.
8953         (reload_cse_simplify_operands): Likewise.
8954         Use the information computed by extract_insn instead of the previous
8955         method of finding it by insn code number.
8956         * genattrtab.c (write_attr_case): Generate call to extract_insn, not
8957         insn_extract.
8958         * final.c (final_scan_insn): Use extract_insn, not insn_extract.
8959         (cleanup_operand_subregs): Use extract_insn, not insn_extract.
8960         Use the information computed by extract_insn instead of the previous
8961         method of finding it by insn code number.
8962         * regmove.c (find_matches): Likewise.  Change meaning of the return
8963         value to be nonzero if the optimization can be performed, zero if
8964         not.  All callers changed.
8965         Shorten some variable names to fix formatting problems.
8966         (regmove_optimize): Shorten some variable names to fix formatting
8967         problems.
8968         Use the information computed by extract_insn instead of the previous
8969         method of finding it by insn code number.
8970         * regclass.c (scan_one_insn): Likewise.
8971         (record_reg_classes): Don't compute operand types, use recog_op_type.
8972         * reload.c (find_reloads): Lose CONSTRAINTS1 variable; use
8973         recog_constraints instead.
8974
8975 Wed Nov  4 21:37:46 1998  Jeffrey A Law  (law@cygnus.com)
8976
8977         * rtl.h (flow2_completed): Declare.
8978         * flow.c (flow2_completed): Definition.
8979         * toplev.c (rest_of_compilation): Set and clear flow2_completed
8980         as necessary.
8981
8982 Wed Nov  4 19:15:37 1998  Melissa O'Neill  <oneill@cs.sfu.ca>
8983
8984         * Makefile.in (libcpp.a): Ranlib libcpp.a.
8985
8986         * cppulp.c (user_label_prefix): Initialize.
8987         
8988 Wed Nov  4 19:07:08 1998  John Wehle  (john@feith.com)
8989
8990         * flow.c (mark_regs_live_at_end): Mark the stack pointer as live
8991         at a RETURN if current_function_sp_is_unchanging is set.
8992
8993 Wed Nov  4 18:16:29 1998  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
8994
8995         * emit-rtl.c (try_split): Fixed error in Oct 10 patch.
8996
8997 Wed Nov  4 15:11:15 1998  Geoffrey Noer  <noer@cygnus.com>
8998
8999         * i386/cygwin32.h (MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS, MASK_DLL,
9000         TARGET_WIN32, TARGET_CYGWIN, TARGET_WINDOWS, TARGET_DLL): New.
9001         (SUBTARGET_SWITCHES): Add -mno-cygwin, -mcygwin, and -mdll options.
9002         (CPP_PREDEFINES): Don't define __CYGWIN32__ here.
9003         (STARTFILE_SPEC): Handle -mdll, -mno-cygwin options.
9004         (CPP_SPEC): Handle -mno-cygwin option.  Define __CYWIN__ in addition
9005         to __CYGWIN32__.
9006         (LIB_SPEC): Handle -mno-cygwin option.
9007         (LINK_SPEC): Handle -mdll.
9008
9009 Wed Nov  4 22:56:14 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
9010
9011         * reload.c (find_reloads): Fix test for usage by other reload
9012         to handle secondary reloads properly.
9013
9014 Wed Nov  4 17:25:10 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9015
9016         * reload1.c (ELIMINABLE_REGS, NUM_ELIMINABLE_REGS): Introduce an
9017         intermediate structure which has exactly the members provided by
9018         ELIMINABLE_REGS.  Define NUM_ELIMINABLE_REGS in terms of the
9019         static intermediate structure.
9020         
9021         (init_elim_table): Xmalloc() `reg_eliminate', and initialize it
9022         from the intermediate structure.  Do the same analogous fix in
9023         the case where ELIMINABLE_REGS is not defined.
9024
9025 Tue Nov  3 20:50:03 1998  Jeffrey A Law  (law@cygnus.com)
9026
9027         * pa.h (SELECT_SECTION): Fix thinko.
9028
9029 Tue Nov  3 17:51:36 1998  Jim Wilson  <wilson@cygnus.com>
9030
9031         * dwarf2out.c (output_call_frame_info): Comments on last change.
9032
9033 Tue Nov  3 07:51:43 1998  Richard Earnshaw  (rearnsha@arm.com)
9034
9035         * arm.c (add_constant): When taking the address of an item in the
9036         pool, get the mode of the item addressed.
9037
9038         * arm.c (final_prescan_insn case INSN): If an insn doesn't
9039         contain a SET or a PARALLEL, don't consider it for conditional
9040         execution.
9041
9042         Restore ABI compatibility for NetBSD.
9043         * arm/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Override setting in
9044         arm.h.
9045         (RETURN_IN_MEMORY): Likewise.
9046
9047 Mon Nov  2 11:46:17 1998  Doug Evans  <devans@canuck.cygnus.com>
9048
9049         * m32r/m32r.c (m32r_expand_block_move): Fix byte count computations.
9050         (m32r_output_block_move): Rewrite bytes < 4 handling.
9051
9052 Mon Nov  2 10:10:35 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9053
9054         * configure.in: Call AC_FUNC_VFORK.
9055
9056         * collect2.c: Define VFORK_STRING as a printable string for
9057         error messages (either "vfork" or "fork".)  If HAVE_VFORK_H is
9058         defined, include vfork.h.  If VMS is defined, define vfork()
9059         appropriately.  Remove vfork check on USG, we're using autoconf.
9060         (collect_execute): Pass VFORK_STRING to fatal_perror instead of
9061         checking locally what string to pass.
9062         (scan_prog_file): Likewise.
9063         (scan_libraries): Likewise.
9064
9065         * gcc.c: Remove vfork check on USG, we're using autoconf.
9066         Besides, no calls to vfork/fork occur in this file.
9067
9068         * protoize.c: Likewise.
9069
9070 Mon Nov  2 07:52:28 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
9071
9072         * configure.in (DEFAULT_LINKER): Renamed from LD.
9073         (DEFAULT_ASSEMBLER): Renamed from AS; reverted Schwab's patch.
9074         (gcc_cv_as): Try $DEFAULT_ASSEMBLER before $AS.
9075         * configure: Rebuilt.
9076
9077 Mon Nov  2 01:48:10 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
9078
9079         * BUGS: Fix the regexp for `more' to find the appropriate node.
9080         Reported by Joerg Pietschmann  <joerg_pietschmann@zkb.ch>
9081
9082         * BUGS: Added link to the WWW FAQ.
9083
9084 Sun Nov  1 18:27:15 1998  Jeff Law  (law@cygnus.com)
9085
9086         * version.c: Bump for snapshot.
9087
9088 Sun Nov  1 11:04:32 1998  Jeffrey A Law  (law@cygnus.com)
9089
9090         * From Christian Gafton:
9091         * i386/linux.h (CPP_PREDEFINES): Add -D__i386__.
9092         * sparc/linux.h (CPP_PREDEFINES): Add -D__sparc__.
9093         * sparc/linux64.h (CPP_PREDEFINES): Add -D__sparc__.
9094
9095 Sat Oct 31 21:42:39 1998  Mark Mitchell  <mark@markmitchell.com>
9096
9097         * c-common.c (c_get_alias_set): Allow all type-punning through
9098         unions.  Don't get confused about the type of a bit-field, despite
9099         the antics of build_modify_expr.
9100
9101 Sat Oct 31 22:35:29 1998  Jean-Pierre Radley  <jpr@jpr.com>
9102
9103         * fixinc.sco: Parameterize #include_next values.
9104         * fixinc/fixinc.sco: Likewise.
9105
9106 Sat Oct 31 20:39:35 1998  Jeffrey A Law  (law@cygnus.com)
9107
9108         * toplev.c (rest_of_compilation): No longer set reload_completed.
9109         * reload1.c (reload): Set it here.  Perform instruction splitting
9110         after reload has completed if we will be running the scheduler
9111         again.
9112
9113 Sat Oct 31 12:30:02 1998  Jeffrey A Law  (law@cygnus.com)
9114
9115         * jump.c (jump_optimize): Initialize mappings from INSN_UID to
9116         EH region if exceptions are enabled and we're performing cross
9117         jump optimizations.
9118         (find_cross_jump): Exit loop if the insns are in different EH regions.
9119
9120 Sat Oct 31 10:02:48 1998  Mark Mitchell  <mark@markmitchell.com>
9121
9122         * dwarf2out.c (output_call_frame_info): Use
9123         ASM_OUTPUT_DWARF_DELTA4 for the CIE offset to match frame.c.
9124
9125 Sat Oct 31 10:23:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9126
9127         Reinstall Apr 24th fix, lost during May 6th gcc2 merge:
9128         * c-common.c (check_format_info): Don't check for the 'x'
9129         format character twice, instead check for 'x' and 'X'
9130
9131 Fri Oct 30 14:50:25 1998  Jeffrey A Law  (law@cygnus.com)
9132
9133         * configure.in (assembler features): Also make gas is configured if
9134         we find it in the source tree.
9135
9136 Fri Oct 30 13:23:20 1998  Richard Henderson  <rth@cygnus.com>
9137
9138         * i386.c (i386_comp_type_attributes): Compare whether the
9139         attributes are defined, not their tree nodes.
9140
9141 Fri Oct 30 11:39:47 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
9142
9143         * configure.in (gxx_include_dir): Bitten by autoconf quoting
9144         characters :-(
9145         * configure: Rebuilt.
9146
9147 Fri Oct 30 10:43:29 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
9148
9149         * configure.in: Ignore non-absolute value in $AS.
9150
9151 Fri Oct 30 00:54:25 1998  Peter Jakubek  <pjak@snafu.de>
9152
9153         * m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko.
9154
9155 Fri Oct 30 00:42:34 1998  Mark Elbrecht  <snowball3@usa.net>
9156
9157         * configure.in (msdosdjgpp): Set exeext and target_alias.
9158
9159 Thu Oct 29 23:55:43 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
9160
9161         * flow.c (XNMALLOC): New macro.
9162         (flow_int_list_blocks, basic_block_succ, basic_block_pred): New
9163         static variables.
9164         (add_edge, add_edge_to_label): New static functions.
9165         (free_bb_memory): New function.
9166         (flow_delete_insn): Delete function.
9167         (basic_block_drops_in): Delete variable.
9168         (find_basic_blocks): Allocate and initialize basic_block_head,
9169         basic_block_succ.  Don't allocate basic_block_drops_in.
9170         Call free_bb_memory at the beginning.
9171         (find_basic_blocks_1): Don't do multiple passes.
9172         Delete code to compute basic_block_drops_in.
9173         After calling make_edges, mark blocks reached by current block live.
9174         Update test for unreachable live blocks.
9175         (mark_label_ref): Delete args X, CHECKDUP.  Add PRED arg.  All callers
9176         changed.
9177         Simplify to call add_edge_to_label when a LABEL_REF is found.
9178         (make_edges): Simplify to call add_edge_to_label instead of
9179         mark_label_ref most of the time.
9180         Compute here whether control drops into the next block.
9181         (delete_unreachable_blocks): Return void.  All callers changed.
9182         Delete unreachable blocks in reverse order.
9183         After deleting all unreachable blocks, renumber the remaining ones
9184         and update n_basic_blocks.
9185         (delete_block): Speed up deletion a bit.
9186         Don't set basic_block_drops_in for deleted blocks.
9187         (free_basic_block_vars): Don't free basic_block_drops_in.
9188         (life_analysis_1): Update to use new edge representation.
9189         (dump_flow_info): Delete code to print basic block info; call
9190         dump_bb_data instead.
9191         (compute_preds_succs): Delete code to recompute basic_block_drops_in
9192         and uid_block_number.
9193         Simply copy the previously computed cfg.
9194         (dump_bb_data): New arg LIVE_INFO.  All callers changed.
9195         Print register lifetime information if LIVE_INFO is nonzero.
9196         * basic-block.h (dump_bb_data): Adjust prototype.
9197         * gcse.c (gcse_main): Update call to dump_bb_data.
9198         * rtl.h (free_bb_memory): Declare.
9199         * toplev.c (rest_of_compilation): Call free_bb_memory.
9200
9201         * reload1.c (struct elim_table): Delete MAX_OFFSET member.
9202         (update_eliminable_offsets): Don't compute it.
9203         (set_initial_elim_offsets): Don't initialize it.
9204         Break out some code into set_initial_label_offsets so the rest of
9205         this function can be called from reload_as_needed.
9206         Assume that INITIAL_FRAME_POINTER_OFFSET is defined when
9207         ELIMINABLE_REGS isn't.
9208         (set_initial_label_offsets): New function, broken out of
9209         set_initial_elim_offsets.
9210         (set_offsets_for_label): New function, broken out of set_label_offsets
9211         and reload_as_needed.
9212         (reload): Call the two new functions.
9213         (reload_as_needed): Call set_initial_elim_offsets instead of
9214         duplicating the code.  Likewise for set_offsets_for_label.
9215
9216         * reload1.c (choose_reload_regs): Fix typo in Oct 17 change.
9217         (emit_reload_insns): Ensure that when we set reg_reloaded_valid for
9218         any hard reg, reg_reloaded_dead contains valid data.
9219
9220 Thu Oct 29 22:30:54 1998  Marcus Meissner  <Marcus.Meissner@informatik.uni-erlangen.de>
9221
9222         * i386.c (i386_comp_type_attributes): Return nonzero for mismatched
9223         "stdcall" and "cdecl" attributes.
9224
9225 Thu Oct 29 19:05:17 1998  Jim Wilson  <wilson@cygnus.com>
9226
9227         * sched.c (update_flow_info): Add code to ! found_orig_dest case to
9228         handle deleted no-op moves of hard registers.
9229         * haifa-sched.c (update_flow_info): Likewise.
9230
9231 Thu Oct 29 18:07:47 1998  Jeffrey A Law  (law@cygnus.com)
9232
9233         * mips.md (reload_{in,out}{si,di}): Emit a USE of HILO at the end
9234         of the sequences to reload the HILO register which do not actually
9235         reference HILO.
9236
9237 Thu Oct 29 12:39:35 1998  Jim Wilson  <wilson@cygnus.com>
9238
9239         * c-common.c (c_get_alias_set): Handle ARRAY_REF of union field.
9240
9241 Thu Oct 29 14:10:22 1998  Andrew MacLeod  <amacleod@cygnus.com>
9242
9243         * except.c (emit_eh_context): Make the EH context register stay alive
9244         at -O0 so stupid.c doesn't get confused.
9245
9246 1998-10-29  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
9247
9248         * emit-rtl.c (try_split): Do not try to split a BARRIER.
9249
9250 Thu Oct 29 01:33:54 1998  Jan Hubicka  <hubicka@freesoft.cz>
9251                           Jeffrey A Law  (law@cygnus.com)
9252
9253         * i386.md: Change ix86_cpu == PROCESSOR_PENTIUM to TARGET_PENTIUM.
9254         (zero_extendsidi2): Use # in output template and handle completely by
9255         splits.
9256         (zero_extend splitters): New define_splits.
9257         (ashiftrt_32): New pattern.
9258
9259 Wed Oct 28 22:58:35 1998  Jason Merrill  <jason@yorick.cygnus.com>
9260
9261         * tree.c (append_random_chars): New fn.
9262         (get_file_function_name_long): Use it.
9263
9264 Wed Oct 28 22:27:05 1998  Richard Henderson  <rth@cygnus.com>
9265
9266         * Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last.
9267         (LIBCPP_OBJS): New.  Add cppulp.o.
9268         (cppmain, fix-header): Depend on and use libcpp.a.
9269         * configure.in (extra_c_objs, extra_cxx_objs): Use libcpp.a instead
9270         of the individual object files.
9271         * objc/Make-lang.in (cc1obj): Put OBJC_OBJS, and thence @extra_c_objs@,
9272         last.
9273
9274         * cccp.c (user_label_prefix): New.
9275         (main): Set it off -f*leading-underscore.
9276         (special_symbol): Use it.
9277         * cpplib.c (special_symbol): Likewise.
9278         (cpp_handle_option): Handle -f*leading-underscore.
9279         * cppulp.c: New file.
9280
9281         * output.h (user_label_prefix): Declare it.
9282         * dwarf2out.c (ASM_NAME_TO_STRING): Prepend user_label_prefix.
9283         * toplev.c (f_options, main): Handle -f*leading-underscore.
9284
9285         * defaults.h (ASM_OUTPUT_LABELREF): Use asm_fprintf instead of
9286         referencing USER_LABEL_PREFIX directly.
9287         * config/nextstep.h (ASM_OUTPUT_LABELREF): Likewise.
9288         * m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
9289         * final.c (asm_fprintf): Use user_label_prefix instead.
9290         * arm/thumb.c (thumb_print_operand): Likewise.
9291
9292         * gcc.c (default_compilers): Pass -f*leading-underscore on to
9293         cpp wherever appropriate.
9294
9295 Wed Oct 28 23:09:25 1998  Robert Lipe  <robertl@dgii.com>
9296
9297         * sco5.h (SUBTARGET_SWITCHES): Add documentation for OpenServer-
9298         specific compiler switches.
9299
9300 Wed Oct 28 21:05:53 1998  Jeffrey A Law  (law@cygnus.com)
9301
9302         * Makefile.in (c-common.o): Depend on c-pragma.h.  Use $(RTL_H) instead
9303         of rtl.h.
9304
9305 Wed Oct 28 20:52:47 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9306
9307         * gcc.c (EXTRA_SPECS, extra_specs): Introduce an intermediate
9308         structure which has exactly the members provided by EXTRA_SPECS.
9309         Xmalloc() the real `extra_specs', and initialize it from this
9310         intermediate structure.
9311
9312         * alpha.h (EXTRA_SPECS): Revert change for missing initializers.
9313
9314         * mips.h  (EXTRA_SPECS): Likewise.
9315
9316         * sparc.h (EXTRA_SPECS): Likewise.
9317
9318 Wed Oct 28 16:46:07 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
9319
9320         * function.c (purge_addressof_1): Instead of aborting when a
9321         bitfield insertion as a replacement for (MEM (ADDRESSOF)) does not
9322         work just put the ADDRESSOF on stack.  Otherwise remember all such
9323         successful replacements, so that exactly the same replacements
9324         can be made on the REG_NOTEs.  Remove the special case for CALL
9325         insns again.
9326         (purge_addressof_replacements): New variable.
9327         (purge_addressof): Clear it at end.
9328
9329 1998-10-28  Zack Weinberg  <zack@rabi.phys.columbia.edu>
9330
9331         * c-lang.c: Declare extern char *yy_cur if USE_CPPLIB.
9332           (lang_init): Call check_newline always.
9333         * c-lex.c (init_parse) [USE_CPPLIB=1]: After calling
9334           cpp_start_read, set yy_cur and yy_lim to read from
9335           parse_in.token_buffer, so that we'll see the first #line
9336           directive.
9337         * cpplib.c (cpp_start_read): finclude the main input file
9338           before processing -include/-imacros.   Process -imacros and
9339           -include separately, and handle -include by stacking a
9340           buffer for the file in question as if it'd been #included.
9341         * toplev.c (documented_lang_options): Recognize -H when
9342           USE_CPPLIB is on.
9343
9344 1998-10-28  Zack Weinberg  <zack@rabi.phys.columbia.edu>
9345
9346         * cpplib.c: Merge do_once into do_pragma.  Break file handling
9347           code out of do_include.
9348           Move append_include_chain, deps_output,
9349           file_cleanup, redundant_include_p, import_hash,
9350           lookup_import, add_import, read_filename_string, read_name_map,
9351           open_include_file, finclude, safe_read to cppfiles.c.
9352           Move prototypes for deps_output, append_include_chain,
9353           finclude to cpplib.h.  Move definition of struct
9354           file_name_list there also.
9355
9356         * cppfiles.c: New file.  Contains all the above functions
9357           broken out of cpplib.c; also hack_vms_include_specification
9358           from cccp.c and find_include_file, a new function broken out of
9359           do_include.
9360
9361         * Makefile.in (cppmain): Depend on cppfiles.o.
9362           (fix-header): Likewise.
9363           (cppfiles.o): New target.
9364         * configure.in (--enable-c-cpplib): Add cppfiles.o to
9365           extra_c_objs.  Add ../cppfiles.o to extra_cxx_objs.
9366
9367 Wed Oct 28 14:06:49 1998  Jim Wilson  <wilson@cygnus.com>
9368
9369         * dwarfout.c (dwarfout_file_scope_decl): If DECL_CONTEXT, don't abort
9370         if pending_types is non-zero.
9371         (dwarfout_finish): Verify pending_types is zero before finishing.
9372
9373 Wed Oct 28 10:29:09 1998  Nick Clifton  <nickc@cygnus.com>
9374
9375         * expr.c (convert_move): Use shifts to perform the move if a
9376         suitable extend pattern cannot be found.  Code written by
9377         Richard Henderson <rth@cygnus.com>.
9378
9379 Wed Oct 28 03:59:29 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
9380
9381         * regclass.c (renumber, regno_allocated): New static variables, moved
9382         out of allocate_reg_info.
9383         (allocate_reg_info): Move these two variables outside the function.
9384         Move code to free memory into new function free_reg_info.
9385         (free_reg_info): New function, broken out of allocate_reg_info.
9386         * toplev.c (compile_file): Call free_reg_info, not allocate_reg_info.
9387         * rtl.h (allocate_reg_info): Don't declare.
9388         (free_reg_info): Declare.
9389
9390         * final.c (cleanup_subreg_operands): ASM_INPUTs need no treatment.
9391
9392 Wed Oct 28 02:38:12 1998  Jason Merrill  <jason@yorick.cygnus.com>
9393
9394         * toplev.c (compile_file): Temporarily revert last change.
9395
9396 Wed Oct 28 00:00:35 1998  Jason Merrill  <jason@yorick.cygnus.com>
9397
9398         * c-typeck.c (convert_for_assignment): Parenthesize.
9399
9400 1998-10-28  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
9401
9402         * reload1.c (delete_output_reload): Avoid ambigous else.
9403
9404 Wed Oct 28 00:10:35 1998  Jeffrey A Law  (law@cygnus.com)
9405
9406         * toplev.c (compile_file): Call allocate_reg_info to free register
9407         table memory.
9408         * rtl.h (allocate_reg_info): Declare.
9409
9410         * PROJECTS: Remove entry for local spilling.
9411
9412         * final.c (cleanup_subreg_operands): New function.
9413         (final_scan_insn): Use it.
9414         (alter_subreg): Clear the "used" field when we turn a SUBREG into
9415         a REG.
9416         * reload1.c (reload): Delete CLOBBER insns and also cleanup SUBREG
9417         operands when reload has finished.
9418         * reload.h (cleanup_subreg_operands): Declare..
9419         * flow.c (life_analysis_1): No longer delete CLOBBER insns after
9420         reload.  Handled in reload itself.
9421
9422 Tue Oct 27 23:32:34 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
9423
9424         * reload1.c (verify_initial_offsets): New function.
9425         (reload): Call it after reload_as_needed.  Also verify that the frame
9426         size stays constant during reload_as_needed.
9427         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Undo Jul 26 change.
9428
9429         * reload.h (struct insn_chain): Add need_operand_change element.
9430         * reload1.c (new_insn_chain): Clear it.
9431         (calculate_needs_all_insns): Set it; don't overload need_reload.
9432         (reload_as_needed): Use it.
9433
9434         * reload.c (find_reloads_address): Use BASE_REG_CLASS instead of
9435         reload_address_base_reg_class throughout.  Similar for INDEX_REG_CLASS
9436         and reload_address_index_reg_class.
9437         (find_reloads_address_1): Likewise.
9438         * reload.h (reload_address_base_reg_class,
9439         reload_address_index_reg_class): Don't declare.
9440         * reload1.c (reg_old_renumber, pseudo_previous_regs,
9441         pseudo_forbidden_regs, bad_spill_regs_global): New static variables.
9442         (used_spill_regs): Now static.
9443         (reload_address_base_reg_class, reload_address_index_reg_class,
9444         regs_explicitly_used, counted_for_groups, counted_for_nongroups,
9445         basic_block_needs, max_needs, group_size, group_mode, max_groups,
9446         max_nongroups, max_needs_insn, max_groups_insn, max_nongroups_insn,
9447         forbidden_regs):
9448         Deleted variables.
9449         (init_reload): Delete code to compute base/index reg classes.
9450         (reload): Delete variable J.
9451         Delete code to manage basic_block_needs.
9452         Don't compute regs_explicitly_used.
9453         Allocate, initialize and free reg_old_renumber, pseudo_forbidden_regs,
9454         pseudo_previous_regs.
9455         Initialize bad_spill_regs_global.
9456         Don't call order_regs_for_reload here.
9457         Don't initialize spill_reg_order and n_spills.
9458         Don't forbid explicitly used regs to be used for spill regs.
9459         Change main loop to infinite loop, with explicit break statements.
9460         Make SOMETHING_CHANGED variable local to that loop.
9461         Don't initialize max_needs, max_groups, max_nongroups, max_needs_insn,
9462         max_groups_insn, max_nongroups_insn, group_size, group_mode.
9463         Make sure spilled_pseudos is cleared before calling spill_hard_reg or
9464         new_spill_reg.
9465         Don't call dump_needs.
9466         Delete code to reset potential_reload_regs.
9467         Delete code to terminate loop conditional on the global needs variables
9468         showing no further needs.
9469         (calculate_needs_all_insns): Return void.  All callers changed.
9470         Initialize something_needs_elimination here, not in reload.
9471         Delete avoid_return_reg kludge.
9472         (calculate_needs): Lose AVOID_RETURN_REG and GLOBAL args, return void.
9473         All callers changed.
9474         Initialize the group_mode and group_size elements of the arg CHAIN.
9475         Delete code to manage basic_block_needs.
9476         Operate on elements of CHAIN instead of global variables.
9477         Delete avoid_return_reg kludge.
9478         (find_tworeg_group): Lose GLOBAL arg, take CHAIN arg, return void.
9479         All callers changed.
9480         Operate on elements of CHAIN instead of global variables.
9481         Delete special SMALL_REGISTER_CLASSES code.
9482         Delete spill_failure code; now in new_spill_reg.
9483         (find_group): Lose GLOBAL arg, take CHAIN arg, return void.
9484         All callers changed.
9485         Operate on elements of CHAIN instead of global variables.
9486         (maybe_mark_pseudo_spilled): New static function.
9487         (find_reload_regs): Lose GLOBAL arg, take CHAIN arg, return void.
9488         All callers changed.
9489         Operate on elements of CHAIN instead of global variables.
9490         Call order_regs_for_reload here, not in reload.
9491         Initialize spill_reg_order and n_spills.
9492         Simplify test whether an asm insn is involved.
9493         Delete spill_failure code; now in new_spill_reg.
9494         Call maybe_mark_pseudo_spilled for everything marked as live in
9495         CHAIN.  Merge CHAIN's used_spill_regs into the global variable
9496         used_spill_regs.
9497         (dump_needs): Take CHAIN arg.  No longer static, to prevent the
9498         compiler from optimizing this function (now unused) away.
9499         Operate on elements of CHAIN instead of global variables.
9500         (possible_group_p): Lose MAX_GROUPS arg, take CHAIN arg.  All callers
9501         changed.
9502         Operate on elements of CHAIN instead of global variables.
9503         (count_possible_groups): Lose GROUP_SIZE, GROUP_MODE, MAX_GROUPS args,
9504         take CHAIN arg.  All callers changed.
9505         Operate on elements of CHAIN instead of global variables.
9506         (new_spill_reg): Lose MAX_NEEDS, MAX_NONGROUPS, GLOBAL args, take
9507         CHAIN, NONGROUP args.  Return void.  All callers changed.
9508         Verify caller isn't trying to spill a pseudo.
9509         Simplify test for illegal reg, just use bad_spill_regs.
9510         Generate better error messages.
9511         Operate on elements of CHAIN instead of global variables.
9512         Mark spilled register in CHAIN's used_spill_regs element.
9513         Don't call spill_hard_reg.
9514         (spill_hard_reg): Lose GLOBAL arg, return void.  All callers changed.
9515         Mark spilled hard regs in bad_spill_regs_global.
9516         Mark affected pseudos in spilled_pseudos, but don't spill them.
9517         (ior_hard_reg_set): New static function.
9518         (finish_spills): Return int.  All callers changed.
9519         Compute spill_reg_order, n_spills and spill_regs here.  Also update
9520         regs_ever_live for regs used as spills.
9521         For every pseudo in spilled_pseudos, spill it and mark the previous
9522         hard reg it had in pseudo_previous_regs.  Compute which hard regs
9523         are used as spills in insns during which it is live, and retry global
9524         register allocation.  Update all life information in the
9525         reload_insn_chain not to include pseudos without hard regs.
9526         Call alter_reg for all affected speudos.
9527
9528         (scan_paradoxical_subregs): Disable SMALL_REGISTER_CLASSES special
9529         case, it's not clear what it's supposed to do.
9530
9531         (hard_reg_use_compare): Take bad_spill_regs into account.
9532         (pseudos_counted): New static variable.
9533         (count_pseudo): New static function.
9534         (order_regs_for_reload): Take CHAIN arg.  All callers changed.
9535         Initialize bad_spill_regs from bad_spill_regs_global, then merge any
9536         hard registers explicitly used across the current insn into the set.
9537         Compute hard_reg_n_uses taking only pseudos live across this insn
9538         into account.
9539         Tweak sorting of potential_reload_regs.
9540         (compare_spill_regs): Delete function.
9541         (reload_as_needed): Don't sort the spill_regs array, it's computed
9542         in proper order in finish_spills.
9543         Delete avoid_return_reg kludge.
9544         Delete code to manage basic_block_needs.
9545         (allocate_reload_reg): Minor speed/readability tweaks.
9546         Operate on elements of CHAIN instead of global variables.
9547         (choose_reload_regs): Lose AVOID_RETURN_REG arg.  All callers changed.
9548         Delete avoid_return_reg kludge.
9549         Initialize reload_reg_used from CHAIN's used_spill_regs element.
9550         Delete unused label FAIL.
9551         (reload_combine): Replace reload_address_index_reg_class with
9552         INDEX_REGS.
9553         Don't use used_spill_regs to determine information about lifetime of
9554         hard regs.
9555
9556 Tue Oct 27 13:15:02 1998  Nick Clifton  <nickc@cygnus.com>
9557         
9558         * toplev.c (display_help): Ignore empty target specific
9559         options, and if -W is also specified on the command line then
9560         display undocumented options.
9561
9562         * config/arm/arm.c: Updated with changes in devo sources.
9563         * config/arm/arm.h: Updated with changes in devo sources.
9564         * config/arm/lib1funcs.asm: Updated with changes in devo sources.
9565         * config/arm/lib1thumb.asm: Add ELF support.
9566
9567 Tue Oct 27 16:11:43 1998  David Edelsohn  <edelsohn@gnu.org>
9568
9569         * collect2.c (aix64_flag): New variable.
9570         (main, case 'b'): Parse it.
9571         (GCC_CHECK_HDR): Object magic number must match mode.
9572         (scan_prog_file): Only check for shared object if valid header.
9573         Print debugging if header/mode mismatch.
9574
9575 Tue Oct 27 10:15:02 1998  Nick Clifton  <nickc@cygnus.com>
9576
9577         Added support for arm-elf-linux configuration, submitted by Philip
9578         Blundell <pb@nexus.co.uk>, and integrated this with the arm-elf
9579         code developed by Catherine Moore <clm@cygnus.com>.  The following
9580         files are affected:
9581
9582         * configure.in: Add arm-*-linux-gnu, armv2-*-linux and arm-*-elf
9583         targets.
9584
9585         * configure: Regenerated.
9586         
9587         * config/arm/aout.h: Add default definitions of REGISTER_PREFIX,
9588         USER_LABEL_PREFIX and LOCAL_LABEL_PREFIX.  Make other macro
9589         definitions conditional on their not having been already defined.
9590
9591         * config/arm/lin1funcs.asm: Add ELF only macros to generate .size
9592         and .type directives, and add "(PLT)" qualification to function
9593         calls.
9594
9595         * config/arm/linux.h: Deleted.  This file is now superseded by
9596         either linux-elf.h or linux-aout.h.
9597
9598         * config/arm/linux-gas.h: Define `inhibit_libc' if cross-compiling.
9599         (CLEAR_INSN_CACHE): New macro, currently disabled (awaiting kernel
9600         support).
9601         Move definitions from old linux.h file here.
9602         
9603         * config/arm/elf.h: New file.  Generic ARM/ELF support.
9604         
9605         * config/arm/linux-aout.h: New file.  Support for Linux with a.out.
9606         
9607         * config/arm/linux-elf.h: New file.  Support for Linux with ELF.
9608         
9609         * config/arm/linux-elf26.h: New file.  Support for Linux with ELF
9610         using the 26bit APCS.
9611         
9612         * config/arm/unknown-elf.h: New file.  Support for OS'es other
9613         than Linux with ELF.
9614
9615         * config/arm/t-arm-elf: New file.  makefile fragment for arm-elf
9616         builds.
9617         
9618         * config/arm/coff.h: Include aout.h for basic assembler macros.
9619         Add support for -mstructure_size_boundary=<n> command line option.
9620         
9621         * config/arm/arm.h: Add support for -mstructure_size_boundary=<n>
9622         command line option.  Make macro definitions conditional on their
9623         not having been already defined.
9624
9625         * config/arm/arm.c: Add support for -mstructure_size_boundary=<n>
9626         command line option.
9627
9628         
9629 Tue Oct 27 08:56:46 1998  Andrew MacLeod  <amacleod@cygnus.com>
9630
9631         * dwarfout.c (ASM_OUTPUT_DWARF_STRING_NEWLINE): ASM_OUTPUT_DWARF_STRING
9632         has been changed to not include a newline. Use this macro instead.
9633         (output_enumeral_list, const_value_attribute, name_attribute,
9634         comp_dir_attribute, prototyped_attribute, producer_attribute,
9635         inline_attribute, pure_or_virtual_attribute, output_inheritance_die,
9636         dwarfout_file_scope_decl, generate_new_sfname_entry,
9637         generate_macinfo_entry, dwarfout_init, dwarfout_finish): Use
9638         ASM_OUTPUT_DWARF_STRING_NEWLINE macro.
9639
9640 Mon Oct 26 13:35:02 1998  Richard Henderson  <rth@cygnus.com>
9641
9642         * combine.c (subst): Process the inputs to a parallel asm_operands
9643         only once.
9644
9645 Mon Oct 26 13:32:31 1998  Richard Henderson  <rth@cygnus.com>
9646
9647         * stmt.c (expand_asm_operands): Accept `=' or `+' at any position.
9648
9649 Mon Oct 26 12:53:14 1998  Jeffrey A Law  (law@cygnus.com)
9650
9651         * tm.texi (ASM_OUTPUT_MAX_SKIP_ALIGN): Document.
9652
9653 Mon Oct 26 00:36:58 1998  Jeff Law  (law@cygnus.com)
9654
9655         * version.c: Bump for snapshot.
9656
9657 Sun Oct 25 23:36:52 1998  Jason Merrill  <jason@yorick.cygnus.com>
9658
9659         * stmt.c (expand_fixup): Set fixup->before_jump to a
9660         NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG.
9661
9662 Sun Oct 25 15:49:57 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9663
9664         * Makefile.in (recog.o): Depend on toplev.h.
9665         (insn-emit.o): Depend on recog.h.
9666         (insn-peep.o): Depend on recog.h and insn-config.h.
9667
9668         * combine.c (simplify_set): Remove unused variable `scratches'.
9669
9670         * final.c (final_scan_insn): Wrap declaration of variables `vlen'
9671         and `idx' in macro conditional controlling their use.
9672
9673         * genemit.c (main): Make the generated output file include
9674         recog.h.  Don't have it declare `insn_operand_constraint', since
9675         we get it from recog.h.
9676
9677         * genpeep.c (main): Make the generated output file include
9678         insn-config.h and recog.h.
9679
9680         * recog.c: Include toplev.h.
9681         (extract_insn): Remove unused variable `p'.
9682
9683         * regclass.c (fix_register): Add missing braces around initializer
9684         for `what_option'.
9685         (allocate_reg_info): Move variable `i' into the scope where it is
9686         used.  Change its type to `size_t'.
9687
9688 Sun Oct 25 13:10:15 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
9689
9690         * reload.c (push_reload): When merging reloads, make sure
9691         that reload_in_reg and reload_in are from the same reload in
9692         all cases.
9693
9694 Sun Oct 25 12:07:00 1998  Mumit Khan  <khan@xraylith.wisc.edu>
9695
9696         * i386/crtdll.h (CPP_PREDEFINES): Fix typo.
9697         * i386/mingw32.h (CPP_PREDEFINES): Likewise.
9698
9699 Fri Oct 23 23:42:03 1998  David Edelsohn  <edelsohn@gnu.org>
9700
9701         * loop.c (loop_has_tablejump): New variable.
9702         (prescan_loop): Scan for it.
9703         (insert_bct): Replace explicit scan with use of it.
9704         * regclass.c (regclass): Restore loop variable j.
9705         (record_reg_classes): Deterine op_types modifiers and initialize
9706         classes[i] before matching constraints.  Handle matching
9707         constraints 5-9.
9708         
9709 Fri Oct 23 13:55:48 1998  Jim Wilson  <wilson@cygnus.com>
9710
9711         * m32r/m32r.c (gen_split_move_double): Call alter_subreg.  Delete
9712         subreg support.
9713
9714 Fri Oct 23 16:19:24 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9715
9716         * mips.h (EXTRA_SPECS): Add missing initializers.
9717
9718 Fri Oct 23 16:08:39 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9719
9720         * sparc.h (EXTRA_SPECS): Add missing initializers.
9721         (sparc_defer_case_vector): Provide a prototype.
9722
9723         * svr4.h (ASM_OUTPUT_ASCII): Cast STRING_LIMIT to (long) when
9724         comparing it to the result of a pointer subtraction.
9725
9726 Fri Oct 23 15:34:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9727
9728         * alpha.c (override_options): Use ISDIGIT(), not isdigit().  Cast
9729         the argument to (unsigned char).
9730
9731         * alpha.h (EXTRA_SPECS): Add missing initializers.
9732         (ASM_GENERATE_INTERNAL_LABEL): Ensure the argument matches the
9733         format specifier.
9734
9735 Fri Oct 23 13:12:35 1998  Jeffrey A Law  (law@cygnus.com)
9736
9737         * flow.c (life_analysis_1): Enable "rescan" code after reload.
9738         (propagate_block): Delete dead code after reload.
9739
9740         * sched.c (update_flow_info): Revert Oct 19, 1998 change.  Brings
9741         back Oct 15, 1998 change.
9742         * haifa-sched.c (update_flow_info): Likewise.
9743         * flow.c (life_analysis_1): Delete CLOBBER insns after reload.
9744
9745         * mn10200.md (truncated shift): Accept constant inputs too.
9746
9747 Fri Oct 23 04:06:57 1998  Richard Earnshaw  (rearnsha@arm.com)
9748
9749         * machmode.h (mode_mask_array): No longer const.
9750         * rtl.c (init_rtl): Fully initialize it if EXTRA_CC_MODES defined.
9751
9752 Fri Oct 23 11:19:06 1998  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
9753
9754         * frame.c: Somewhat explain `FDE'.
9755         Suggested by Brendan Kehoe
9756
9757 Fri Oct 23 00:56:11 1998  Jason Merrill  <jason@yorick.cygnus.com>
9758
9759         * expr.c (pending_chain): Move up.
9760         (save_expr_status): Do save pending_chain.
9761         (restore_expr_status): And restore it.
9762         * function.h (struct function): Add pending_chain.
9763
9764 1998-10-23  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
9765
9766         * reorg.c (relax_delay_slots): Fixed test for mostly_true_jump. The
9767         did not match the code.
9768
9769 Fri Oct 23 00:07:01 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
9770
9771         * regclass.c (regclass): Break out some code into new function
9772         scan_one_insn, and into regclass_init.
9773         (init_cost): New static variable, moved out of regclass.
9774         (regclass_init): Initialize it here, not in .
9775         (scan_one_insn): New static function, broken out of regclass.
9776         * recog.c (apply_change_group): Break out some code into new
9777         function insn_invalid_p.
9778         (insn_invalid_p): New static fn, broken out of apply_change_group.
9779
9780 Thu Oct 22 22:34:42 1998  Jim Wilson  <wilson@cygnus.com>
9781
9782         * reload1.c (reload_as_needed): When rewrite POST_INC, verify
9783         reg_reloaded_contents matches incremented pseudo.
9784
9785         * v850/v850.c (v850_reorg): Call alter_subreg.  Delete subreg support.
9786
9787 Fri Oct 23 11:11:56 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9788
9789         * rtl.def (POST_MODIFY, PRE_MODIFY): New generalized operators for
9790         addressing modes with side effects.  These are currently
9791         placeholders for the C4x target.
9792
9793 Thu Oct 22 16:46:35 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
9794
9795         * loop.c (express_from): Make sure that when generating a PLUS of
9796         a PLUS, any constant expression appears on the outermost PLUS.
9797
9798 Thu Oct 22 15:46:23 1998  Per Bothner  (bothner@cygnus.com)
9799
9800         * Makefile.in (distdir-cvs, distdir-start): Clean up so it
9801         works if "$(srcdir)" != ".".
9802
9803 Wed Oct 21 19:23:59 1998  Jim Wilson  <wilson@cygnus.com>
9804
9805         * expmed.c (store_bit_field): If need to add a SUBREG, then remove
9806         existing SUBREG if we can, otherwise abort.
9807
9808 Wed Oct 21 09:58:51 1998  Mark Mitchell  <mark@markmitchell.com>
9809
9810         * c-common.c (c_apply_type_quals_to_decl): Don't crash when
9811         `restrict' is applied to a non-pointer variable.
9812
9813 Wed Oct 21 09:18:58 1998  Mark Mitchell  <mark@markmitchell.com>
9814
9815         * invoke.texi: Document -flang-isoc9x.
9816
9817         * Makefile.in (OBJS): Add splay-tree.o.
9818         (c-common.o): Depend on rtl.h.
9819         (splay-tree.o): List dependencies and provide build rule.
9820         
9821         * rtl.h (record_alias_subset): New function.
9822         * alias.c: Include splay-tree.h.
9823         (alias_set_entry): New type.
9824         (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Remove.
9825         (DIFFERENT_ALIAS_SETS_P): Use mem_in_disjoint_alias_sets_p.
9826         (mems_in_disjoin_alias_sets_p): New function.
9827         (alias_set_compare): Likewise.
9828         (insert_subset_children): Likewise.
9829         (get_alias_set_entry): Likewise.
9830
9831         * tree.h (TYPE_RESTRICT): New macro.
9832         (TYPE_UNQUALIFIED): New manifest constant.
9833         (TYPE_QUAL_CONST): Likewise.
9834         (TYPE_QUAL_VOLATILE): Likewise.
9835         (TYPE_QUAL_RESTRICT): Likewise.
9836         (tree_type): Add restrict_flag.  Reduce count of free bits.
9837         (DECL_POINTER_ALIAS_SET): New macro.
9838         (DECL_POINTER_ALIAS_SET_KNOWN_P): Likewise.
9839         (tree_decl): Add pointer_alias_set.
9840         (build_qualified_type): New function.
9841         (build_type_variant): Define in terms of build_qualified_type.
9842         * tree.c (set_type_quals): New function.
9843         (make_node): Initialize DECL_POINTER_ALIAS_SET.
9844         (build_type_attribute_variant): Use build_qualified_type and
9845         set_type_quals.
9846         (build_type_variant): Rename, and modify, to become...
9847         (build_qualified_type): New function.
9848         (build_complex_type): Use set_type_quals.
9849
9850         * c-tree.h (C_TYPE_OBJECT_P): New macro.
9851         (C_TYPE_FUNCTION_P): Likewise.
9852         (C_TYPE_INCOMPLETE_P): Likewise.
9853         (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
9854         (c_apply_type_quals_to_decl): New function.
9855         (c_build_qualified_type): New function.
9856         (c_build_type_variant): Define in terms of c_build_qualified_type.
9857         (flag_isoc9x): Declare.
9858         * c-typeck.c (qualify_type): Use c_build_qualified_type.
9859         (common_type): Change to use TYPE_QUALS.
9860         (comptypes): Likewise.
9861         (convert_for_assignment): Likewise.
9862         * c-aux-info.c (gen_type): Likewise.  Deal with `restrict'.
9863         * c-decl.c (flag_isoc9x): Define.
9864         (c_decode_option): Handle -flang-isoc9x.
9865         (grokdeclarator): Update to handle restrict.  Use TYPE_QUALS,
9866         c_build_qualified_type, etc.  Use c_apply_type_quals_to_decl.
9867         * c-lex.c (init_lex): Deal with restrict.
9868         (init_lex): Don't treat restrict as a reserved word in
9869         -traditional mode, or without -flang-isoc9x.
9870         * c-lex.h (rid): Add RID_RESTRICT.
9871         * c-parse.gperf (restrict, __restrict, __restrict__): Make
9872         equivalent to RID_RESTRICT.
9873         * c-parse.in (TYPE_QUAL): Update comment.
9874         * c-common.c: Include rtl.h.
9875         (c_find_base_decl): New function.
9876         (c_build_type_variant): Rename, and modify, to become ...
9877         (c_build_qualified_type): New function.
9878         (c_apply_type_quals_to_decl): Likewise.
9879         (c_get_alias_set): For INDIRECT_REFs, check to see if we can find
9880         a particular alias set for the reference.
9881         * toplev.c (documented_lang_options): Add -flang-isoc9x.
9882
9883 Wed Oct 21 09:15:06 1998  Nick Clifton  <nickc@cygnus.com>
9884
9885         * config/arm/arm.h (TARGET_SWITCHES): Document arm specific
9886         command line switches.
9887
9888 Tue Oct 20 10:04:51 1998  Graham  <grahams@rcp.co.uk>
9889
9890         * reload.c (loc_mentioned_in_p): Add missing braces to bind
9891         else to correct if.
9892
9893 Mon Oct 19 16:34:05 1998  Tom Tromey  <tromey@cygnus.com>
9894
9895         * gcc.c (option_map): Added --classpath and --CLASSPATH.
9896
9897 Tue Oct 20 10:59:02 1998  Gavin Romig-Koch  <gavin@cygnus.com>
9898
9899         * regclass.c (fix_register): Add error message.
9900         * invoke.texi (-fcall-used-REG,-fcall-saved-REG): Note the
9901           new error message.
9902
9903 Tue Oct 20 10:12:17 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9904
9905         * c-decl.c (warn_missing_noreturn): New global variable.
9906         (c_decode_option): Check for new flags -W{no-}missing-noreturn.
9907         (finish_function): Implement missing noreturn warning.
9908
9909         * c-tree.h (warn_missing_noreturn): Declare extern.
9910
9911         * invoke.texi: Document new flags.
9912
9913         * toplev.c (documented_lang_options): Add description.
9914
9915 Tue Oct 20 22:16:11 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9916
9917         * config/c4x/c4x.c (c4x_parallel_process): Disable until BCT
9918         loop optimization stable for the C4x.
9919         (c4x_rptb_info_t, c4x_dump, c4x_rptb_in_range, c4x_rptb_unjumped_loop,
9920         c4x_rptb_find_comp_and_jump, c4x_rptb_loop_info_get,
9921         c4x_rptb_emit_init, c4x_rptb_process): Deleted (superseded by BCT
9922         loop optimization).
9923         (c4x_address_conflict): Be more paranoid when packing a volatile
9924         memref in a parallel load/store.
9925
9926 Tue Oct 20 21:56:05 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9927
9928         * config/c4x/c4x.md (repeat_block_top, repeat_block_end,
9929         repeat_block_filler): Deleted.
9930         (*ashlqi3_set, *ashrqi3_const_set, *ashrqi3_nonconst_clobber):
9931         Condition code not set if destination register from 'c' class.
9932         (*subbqi3_carry_clobber): Fix typo.
9933
9934 1998-10-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
9935
9936         * reorg.c (steal_delay_list_from_target): Check for insns that
9937         modify the condition codes and effect the direction of the jump
9938         in the sequence.
9939
9940 Sat Oct 17 13:09:09 1998  Graham  <grahams@rcp.co.uk>
9941
9942         * function.c (purge_addressof_1): Replace call to
9943         emit_insns_before() with emit_insn_before().
9944
9945 Mon Oct 19 19:34:03 1998  Mike Stump  <mrs@wrs.com>
9946
9947         * libgcc2.c (__pure_virtual): Call __terminate instead of _exit.
9948
9949 Mon Oct 19 13:26:24 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
9950
9951         * jump.c (sets_cc0_p): Compile only if HAVE_cc0.
9952
9953 Mon Oct 19 11:40:56 1998  Jeffrey A Law  (law@cygnus.com)
9954
9955         * gcse.c (compute_hash_table): Correctly identify hard regs which are
9956         clobbered across calls.
9957
9958         * loop.c (scan_loop): Be more selective about what invariants are
9959         moved out of a loop.
9960
9961 Mon Oct 19 10:46:58 1998  Jeff Law  (law@cygnus.com)
9962
9963         * version.c: Bump for snapshot.
9964
9965 Mon Oct 19 11:40:56 1998  Jeffrey A Law  (law@cygnus.com)
9966
9967         * libgcc2.c (eh_context_static): Do not call malloc to allocate the
9968         static eh_context structure.
9969
9970 Mon Oct 19 10:45:40 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
9971
9972         * combine.c (recog_for_combine): Lose PADDED_SCRATCHES arg.  All
9973         callers changed.
9974         (try_combine): Don't update max_scratch.
9975         * flow.c (max_scratch, num_scratch): Delete variables.
9976         (life_analysis_1): Don't initialize max_scratch.
9977         (propagate_block): Don't update max_scratch.
9978         (mark_set_1): Don't increment num_scratch.
9979         * regs.h (max_scratch): Delete declaration.
9980
9981 Mon Oct 19 10:28:15 1998  Jeffrey A Law  (law@cygnus.com)
9982
9983         * reload1.c (reload_reg_free_before_p): Hack.  Return 0 if EQUIV
9984         is nonzero.  This is temporary!
9985
9986         * sched.c (update_flow_info): Handle death notes made invalid by
9987         instruction splitting.  Partially reverts Oct 15, 1998 patch.
9988         * haifa-sched.c (update_flow_info): Likewise.
9989
9990 Sun Oct 18 17:31:26 1998  Jeffrey A Law  (law@cygnus.com)
9991
9992         * function.c (uninitialized_vars_warning): Do not warn for a VAR_DECL
9993         if it has a nonzero DECL_INITIAL.
9994
9995 Sat Oct 17 23:18:08 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9996
9997         * Makefile.in (flow.o): Depend on recog.h.
9998
9999         * cpplib.h (directive_table): Add missing initializiers.
10000         (finclude): Change type of variable `bsize' to size_t.
10001         
10002         * cse.c (rtx_cost): Mark parameter `outer_code' with ATTRIBUTE_UNUSED.
10003
10004         * dwarfout.h (dwarfout_label): Wrap prototype in macro RTX_CODE.
10005
10006         * fix-header.c (lookup_std_proto): Cast the result of `strlen' to
10007         `int' when comparing against one.
10008         (cpp_file_line_for_message): Mark parameter `pfile' with
10009         ATTRIBUTE_UNUSED.
10010         (cpp_fatal): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
10011
10012         * flow.c: Include recog.h.
10013         (sbitmap_copy): Cast arguments 1 & 2 of `bcopy' to (PTR).
10014
10015         * function.c (thread_prologue_and_epilogue_insns): Mark parameter
10016         `f' with ATTRIBUTE_UNUSED.
10017         (reposition_prologue_and_epilogue_notes): Likewise.
10018
10019         * genopinit.c (gen_insn): Cast argument of ctype functions to
10020         `unsigned char'.
10021
10022         * haifa-sched.c: Include recog.h.
10023         (blockage_range): Cast result of UNIT_BLOCKED macro to (int) when
10024         comparing against one.
10025
10026         * libgcc2.a (__throw): Revert ATTRIBUTE_UNUSED change for now.
10027
10028         * mips-tfile.c (parse_end): Cast the argument of ctype function to
10029         `unsigned char'.
10030         (parse_ent): Likewise.
10031         (parse_input): Likewise.
10032
10033         * optabs.c (init_libfuncs): Likewise.
10034
10035         * protoize.c (find_rightmost_formals_list): Likewise.
10036
10037         * recog.h (const_double_operand): Fix typo in prototype.
10038
10039         * tlink.c (scan_linker_output): Cast the argument of ctype
10040         function to `unsigned char'.
10041
10042         * toplev.c (check_lang_option): Cast the result of `strlen' to
10043         `int' when comparing against one.
10044
10045 Sat Oct 17 13:09:09 1998  Graham  <grahams@rcp.co.uk>
10046
10047         * gcse.c (dump_cuid_table): Correct typo.
10048
10049 Sat Oct 17 11:02:47 1998  Nick Clifton  <nickc@cygnus.com>
10050
10051         * toplev.c (display_help): Prepend '-m' to target specific
10052         options.
10053         (check_lang_option): Ignore text after end of first word of a
10054         language specific option.
10055
10056 Sat Oct 17 02:26:03 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
10057
10058         * reload1.c (reg_used_by_pseudo): New static variable.
10059         (choose_reload_regs): Initialize it.
10060         Use it instead of testing spill_reg_order to determine whether a
10061         pseudo is live in a hard register across the current insn.
10062         Fix a typo in a reference to reload_reg_rtx.
10063
10064         * flow.c (propagate_block): Replace code that computes and uses
10065         regs_sometimes_live with simpler code that just walks the set of
10066         currently live registers.
10067
10068         * Makefile.in (insn-extract.o): Fix dependencies.
10069         * genextract.c (main): Generate includes for insn-config.h and
10070         recog.h.
10071         Delete generation of declarations which are now in recog.h.
10072         * genrecog.c (main): Delete generation of definitions which are
10073         now in recog.c.
10074         * local-alloc.c (block_alloc): Use extract_insn and the variables
10075         it sets up instead of looking up values by insn_code.
10076         * recog.c (recog_operand, recog_operand_loc, recog_dup_loc,
10077         recog_dup_num): Define here instead of generating the definition in
10078         genrecog.c.
10079         (recog_n_operands, recog_n_dups, recog_n_alternatives,
10080         recog_operand_mode, recog_constraints, recog_operand_address_p):
10081         New variables.
10082         (extract_insn): New function.
10083         * recog.h (extract_insn): Declare function.
10084         (which_alternative, recog_n_operands, recog_n_dups,
10085         recog_n_alternatives, recog_operand_mode, recog_constraints,
10086         recog_operand_address_p): Declare variables.
10087         * regclass.c (n_occurrences): New static function.
10088         * reload.c (n_occurrences): Delete function.
10089         (find_reloads): Use extract_insn.
10090         * reload.h (n_occurrences): Delete declaration.
10091
10092 Sat Oct 17 01:17:51 1998  Jeffrey A Law  (law@cygnus.com)
10093
10094         * reload1.c (reload_as_needed): Fix test for when to call
10095         update_eliminable_offsets.
10096
10097 Fri Oct 16 20:40:50 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
10098
10099         Fix consistency problems with reg_equiv_{mem,address};
10100         Improve reload inheritance;
10101
10102         * reload.c (reload_out_reg): New variable.
10103         (loc_mentioned_in_p, remove_address_replacements): New functions.
10104         (remove_replacements): Deleted.
10105         (push_reload): Set reload_out_reg[i].
10106         When merging, also set reload_{in,out}_reg[i], and remove
10107         duplicate address reloads.
10108         (combine_reloads): Copy reload_out_reg[i].
10109         (find_reloads): Do make_memloc substitution also when
10110         reg_equiv_memory_loc[regno] and num_not_at_initial_offset
10111         are both nonzero.
10112         Include *recog_operand_loc in commutativity operand changes.
10113         Generate optional output reloads.
10114         Delete reference to n_memlocs.  Don't set *recog_operand_loc before
10115         processing operands.  Call make_memloc in reg_equiv_address code.
10116         Set *recog_operand_loc only after processing operands, and only
10117         if replace is true.  Return a value.
10118         When changing address reload types for operands that didn't get
10119         reloaded, use RELOAD_FOR_OPADDR_ADDRESS for
10120         RELOAD_FOR_INPADDR_ADDRESS / RELOAD_FOR_OUTADDR_ADDRESS reloads.
10121         Don't emit USEs for pseudo SUBREGs when not replacing.
10122         (find_reloads_address): Do make_memloc substitution also when
10123         reg_equiv_memory_loc[regno] and num_not_at_initial_offset
10124         are both nonzero.
10125         (find_reloads_toplev): Likewise.
10126         Call make_memloc in reg_equiv_address code.
10127         (debug_reload_to_stream): Add code to output reload_out_reg.
10128         (make_memloc): Delete local variable i, ifdefed out code, and
10129         references to memlocs and n_memlocs.
10130         (memlocs, n_memlocs): Delete.
10131         (push_secondary_reload): Clear reload_out_reg.
10132         (find_reloads_address_1): Provide memrefloc argument to all calls
10133         to find_reloads_address.
10134         In AUTO_INC code, handle non-directly addressable equivalences properly.
10135         * reload.h (reload_out_reg, num_not_at_initial_offset): Declare.
10136         (find_reloads): Add return type.
10137         (remove_address_replacements, deallocate_reload_reg): Declare.
10138         * reload1.c (num_not_at_initial_offset): No longer static.
10139         (delete_address_reloads, delete_address_reloads_1): Likewise.
10140         (deallocate_reload_reg): New function.
10141         (spill_reg_stored_to): New array.
10142         (eliminate_regs): Don't substitute from reg_equiv_memory_loc.
10143         (eliminate_regs_in_insn): Move assignments of previous_offset and
10144         max_offset fields, and recalculation of num_not_at_initial_offset
10145         into new static function:
10146         (update_eliminable_offsets) .
10147         (reload_as_needed): Call update_eliminable_offsets after calling
10148         find_reloads.
10149         Call forget_old_reloads_1 with contents of reloaded auto_inc
10150         expressions if the actual addressing can't be changed to match the
10151         auto_inc.
10152         (choose_reload_regs): For inheritance, replace
10153         reload_reg_free_before_p test with reload_reg_used_at_all test, and
10154         remove stand-alone reload_reg_used_at_all test.
10155         Use reload_out_reg to determine which reload regs have output reloads.
10156         Treat reload_override_in more similar to inherited reloads.
10157         Handle (subreg (reg... for inheritance.
10158         For flag_expensive_optimizations, add an extra pass to remove
10159         unnecessary reloads from known working inheritance.
10160         Delete obsolete code for pseudos replaced with MEMs.
10161         Handle inheritance from auto_inc expressions.
10162         (emit_reload_insns): If reload_in is a MEM, set OLD to
10163         reload_in_reg[j].
10164         Don't reload directly from oldequiv; if it's a pseudo with a
10165         stack slot, use reload_in[j].
10166         Check that reload_in_reg[j] is a MEM before replacing reload_in
10167         from reg_reloaded_contents.
10168         Include non-spill registers in reload inheritance processing.
10169         Also try to use reload_out_reg to set spill_reg_store /
10170         reg_last_reload_reg.
10171         In code to set new_spill_reg_store, use single_set to find out if
10172         there is a single set.
10173         Add code that allows to delete optional output reloads.
10174         Add code to allow deletion of output reloads that use no spill reg.
10175         At the end, set reload_override_in to oldequiv.
10176         Also call delete_output_reload if reload_out_reg is equal to old
10177         in oldequiv code.
10178         Add code to call delete_output_reload for stores with no matching load.
10179         Set / use spill_reg_stored_to.
10180         Handle case where secondary output reload uses a temporary, but
10181         actual store isn't found.
10182         When looking for a store of a value not loaded in order to call
10183         delete_output_reload, count_occurrences should return 0 for no
10184         loads; but discount inherited input reloadill_reg_stored_to.
10185         Do checks for extra uses of REG.  Changed all
10186         callers.
10187         Use delete_address_reloads.
10188         (reload): Take return value of find_reloads into account.
10189         If a no-op set needs more than one reload, delete it.
10190         (reload_reg_free_before_p): RELOAD_FOR_INPUT
10191         can ignore RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
10192         for the same operand.
10193         (clear_reload_reg_in_use): Check for other reloads that keep a
10194         register in use.
10195         (reload_reg_free_for_value_p): Handle RELOAD_FOR_OPERAND_ADDRESS /
10196         RELOAD_FOR_OPADDR_ADDR.
10197         Take into account when an address address reload is only needed
10198         for the address reload we are considering.
10199         (count_occurrences): Use rtx_equal_p for MEMs.
10200         (inc_for_reload): Return instruction that stores into RELOADREG.
10201         New argument two, IN, and rtx.  Changed all callers.
10202         (calculate_needs_all_insns, reload_as_needed):
10203         Don't clear after_call for a CLOBBER.
10204         Keep track of how many hard registers need to be copied from
10205         after_call, and don't clear after_call before we have seen
10206         that much copies, or we see a different instruction.
10207
10208 Fri Oct 16 10:58:23 1998  Jeffrey A Law  (law@cygnus.com)
10209
10210         * flow.c (find_basic_blocks_1): Do not delete unreachable blocks
10211         after reload has completed.
10212
10213 Fri Oct 16 17:26:10 1998  Dave Brolley  <brolley@cygnus.com>
10214
10215         * cpplib.c (cpp_get_token): Replace whitespace that occurs between
10216         a macro name and the next token with a single blank if that whitespace
10217         is in a macro buffer and the next token is not '('.
10218
10219 Fri Oct 16 15:44:02 1998  Dave Brolley  <brolley@cygnus.com>
10220
10221         * cccp.c (rescan): Handle multibyte characters ending in backslash.
10222         (rescan): Likewise.
10223         (skip_if_group): Likewise.
10224         (skip_to_end_of_comment): Likewise.
10225         (macarg1): Likewise.
10226         (discard_comments): Likewise.
10227         (change_newlines): Likewise.
10228
10229 Fri Oct 16 15:26:24 1998  Dave Brolley  <brolley@cygnus.com>
10230
10231         * c-lex.c (yylex): Fix unaligned access of wchar_t.
10232
10233 Fri Oct 16 10:47:53 1998  Nick Clifton  <nickc@cygnus.com>
10234
10235         * config/arm/arm.h (TARGET_SWITCHES): Add --help documentation.
10236         (TARGET_OPTIONS): Add --help documentation.
10237
10238 Fri Oct 16 11:49:01 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10239
10240         * rtl.h (sets_cc0_p): Revert Oct 14 ATTRIBUTE_NORETURN change.
10241
10242 Fri Oct 16 07:08:46 1998  Bruce Korb  <korb@datadesign.com>
10243         
10244         * fixinc/* Moved in from ../contrib directory in preparation
10245         for integrating it into the normal build process.  In particular,
10246         fixinc/Makefile.in must be config-ed into the build directory
10247         as fixinc/Makefile.  Proposed patches to ./Makefile.in and
10248         ./configure.in will be "in the mail" momentarily.
10249
10250 Fri Oct 16 08:13:46 1998  David S. Miller  <davem@pierdol.cobaltnet.com>
10251
10252         * cse.c (cse_basic_block): Fixup hash flushing loop so we do not
10253         accidently walk into the free list.  Comment how that can happen.
10254         (invalidate): Fix indentation.
10255
10256 Thu Oct 15 23:53:29 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
10257                           Jeffrey A Law  (law@cygnus.com)
10258
10259         * flow.c (life_analysis_1): Do not clobber regs_ever_live after
10260         reload.  Never perform rescans of the insn chain after reload.
10261         (propagate_block): Do not delete insn or create new autoinc addressing
10262         modes after reload.
10263
10264         * jump.c (jump_optimize): Unconditionally use the code that was
10265         previously conditional on PRESERVE_DEATH_INFO_REGNO_P.
10266         * reload1.c (reload): When reloading is finished, delete all
10267         REG_DEAD and REG_UNUSED notes.
10268         (emit_reload_insns): Delete all code that was conditional on
10269         PRESERVE_DEATH_INFO_REGNO_P.
10270         (no_longer_dead_regs): Delete variable.
10271         (reload_cse_delete_death_notes): Delete function.
10272         (reload_cse_no_longer_dead): Delete function.
10273         (reload_cse_regs_1): Delete all code to handle deletion of death
10274         notes.
10275         (reload_cse_noop_set_p): Likewise.
10276         (reload_cse_simplify_set): Likewise.
10277         (reload_cse_simplify_operands): Likewise.
10278         (reload_cse_move2add): Likewise.
10279         * reorg.c (used_spill_regs): Delete declaration.
10280         (max_label_num_after_reload): Delete declaration.
10281         (find_dead_or_set_registers): Don't assume that spill regs are
10282         dead at a CODE_LABEL.
10283         * rtlanal.c (dead_or_set_regno_p): Death notes are always accurate,
10284         even after reload.
10285         * sched.c (sched_analyze_insn): Likewise.
10286         (update_flow_info): Likewise.
10287         * haifa-sched.c (sched_analyze_insn): Likewise.
10288         (update_flow_info): Likewise.
10289         * tm.texi (PRESERVE_DEATH_INFO_REGNO_P): Delete documentation.
10290         * toplev.c (max_label_num_after_reload): Delete variable.
10291         (rest_of_compilation): Don't set max_label_num_after_reload.
10292         Call life_analysis after reload_cse_regs if optimizing.
10293         * config/gmicro/gmicro.h: Delete comment referring to
10294         PRESERVE_DEATH_INFO_REGNO_P.
10295         * config/i386/i386.h: Likewise.
10296         * config/m88k/m88k.h: Likewise.
10297         * config/m32r/m32r.h (PRESERVE_DEATH_INFO_REGNO_P): Delete definition.
10298         * config/sh/sh.h: Likewise.
10299
10300 Thu Oct 15 19:48:41 1998  David Edelsohn  <edelsohn@gnu.org>
10301
10302         * loop.c (strength_reduce): Restore marking bct_p as
10303         ATTRIBUTE_UNUSED.
10304         * rs6000.c (optimization_options): Change #ifdef HAIFA to
10305         HAVE_decrement_and_branch_on_count.
10306         (small_data_operand): Remove TARGET_ELF condition for marking
10307         parameters ATTRIBUTE_UNUSED.
10308         
10309 Thu Oct 15 11:45:51 1998  Robert Lipe  <robertl@dgii.com>
10310
10311         * config/i386/sco5.h (MAX_OFILE_ALIGNMENT): Define.
10312         (SELECT_SECTION): Resync with svr4.h.
10313
10314 Thu Oct 15 12:42:13 1998  David Edelsohn  <edelsohn@gnu.org>
10315
10316         * loop.c (strength_reduce): Undo Oct 14 change marking bct_p
10317         ATTRIBUTE_UNUSED.
10318
10319 Thu Oct 15 00:57:55 1998  Robert Lipe  <robertl@dgii.com>
10320
10321         * c-pragma.c (handle_pragma_token): Test for null tree before
10322         dereferencing TREE_CODE.
10323
10324 Thu Oct 15 17:36:48 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10325
10326         * config/c4x/c4x.c: Convert to use GEN_INT.
10327         (c4x_parallel_process): Rework to handle new repeat loop structure.
10328
10329         * config/c4x/c4x.md: Convert to use GEN_INT.
10330         (rptb_end): Convert to use GE test.  Replace uses with clobbers.
10331         (decrement_and_branch_on_count): Likewise.
10332
10333         * config/c4x/c4x.h (REPEAT_BLOCK_PROCESS): Deleted hook now that
10334         loop.c has the desired functionality.
10335         (rc_reg_operand): New prototype.
10336
10337         * config/c4x/t-c4x: Can now build all front ends.
10338
10339 Wed Oct 14 23:27:08 1998  Didier FORT  (didier.fort@fedex.com)
10340
10341         * fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.
10342
10343 Wed Oct 14 22:13:28 1998  Joel Sherrill  (joel@OARcorp.com)
10344
10345         * Makefile.in (stmp-fixinc): Do not install assert.h if not desired.
10346         * config/t-rtems: Do not install assert.h -- use newlib's.
10347
10348 Wed Oct 14 21:57:08 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
10349
10350         * combine.c (combine_instructions): When finished, call init_recog.
10351         * regmove.c (optimize_reg_copy_3): Reject volatile MEMs.
10352
10353 Wed Oct 14 16:10:22 1998  Per Bothner  <bothner@cygnus.com>
10354
10355         * toplev.c: If flag_syntax_only, don't open or write assembler file.
10356
10357 Wed Oct 14 13:26:05 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10358
10359         * cppalloc.c (memory_full): Mark function prototype with
10360         ATTRIBUTE_NORETURN.
10361
10362         * demangle.h (collect_exit): Likewise.
10363
10364         * fix-header.c (v_fatal, fatal): Likewise.
10365
10366         * gcc.c (pfatal_with_name, pfatal_pexecute, fatal, fancy_abort):
10367         Likewise.
10368
10369         * gcov.c (print_usage): Likewise.
10370
10371         * genattr.c (fatal, fancy_abort): Likewise.
10372
10373         * genattrtab.c (fatal, fancy_abort): Likewise.
10374
10375         * gencodes.c (fatal, fancy_abort): Likewise.
10376
10377         * genconfig.c (fatal, fancy_abort): Likewise.
10378
10379         * genemit.c (fatal, fancy_abort): Likewise.
10380
10381         * genextract.c (fatal, fancy_abort): Likewise.
10382
10383         * genflags.c (fatal, fancy_abort): Likewise.
10384
10385         * genopinit.c (fatal, fancy_abort): Likewise.
10386
10387         * genoutput.c (fatal, fancy_abort): Likewise.
10388
10389         * genpeep.c (fatal, fancy_abort): Likewise.
10390
10391         * genrecog.c (fatal, fancy_abort): Likewise.
10392
10393         * libgcc2.c (__eprintf, __default_terminate, __sjthrow,
10394         __sjpopnthrow, __throw): Likewise.
10395
10396         * objc/objc-act.c (objc_fatal): Likewise.
10397
10398         * protoize.c (usage, aux_info_corrupted,
10399         declare_source_confusing): Likewise.
10400
10401         * rtl.c (dump_and_abort): Likewise.
10402
10403         * rtl.h (sets_cc0_p): Likewise.
10404
10405         * toplev.c (float_signal, pipe_closed): Likewise.
10406         
10407 1998-10-14  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
10408
10409         * dwarf2out.c (expand_builtin_dwarf_reg_size): Look at all ranges
10410         when generating the decision tree for the general case.
10411
10412         * config/m68k/m68k.h (HARD_REGNO_MODE_OK): Don't accept modes
10413         wider that 12 bytes in fpu regs or wider than 8 byte in fpa regs.
10414
10415 Wed Oct 14 11:14:02 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10416
10417         * Makefile.in (sched.o): Depend on recog.h.
10418
10419         * alias.c (REG_BASE_VALUE): Cast the result of REGNO() macro to
10420         (unsigned) when comparing against one.
10421         (find_base_value): Likewise.
10422         (record_base_value): Cast variable `regno' to (unsigned) when
10423         comparing against one.  Cast the result of REGNO() macro to
10424         (unsigned) when comparing against one.
10425         (memrefs_conflict_p): Change type of variables `r_x' and `r_y'  to
10426         unsigned.
10427         (init_alias_analysis): Add unsigned variable `ui'.  Use it as loop
10428         variable where an unsigned index is needed.
10429
10430         * caller-save.c (init_caller_save): Cast `-1' to (enum insn_code)
10431         before comparing against one.
10432
10433         * collect2.c: Add prototypes for functions `error', `fatal' and
10434         `fatal_perror'.  Make these functions take variable arguments
10435         instead of faking it with a fixed number of args.
10436         (write_c_file_stat): Cast the argument of ctype macro to (unsigned
10437         char).
10438
10439         * combine.c (can_combine_p): Mark parameter `pred' with
10440         ATTRIBUTE_UNUSED.
10441         (find_split_point): Cast variable `src' to (unsigned
10442         HOST_WIDE_INT) when comparing against one.
10443         (simplify_rtx): Cast 1 to (unsigned HOST_WIDE_INT) in shift.
10444         (simplify_logical): Likewise.
10445         (force_to_mode): Cast result of INTVAL() macro to (unsigned
10446         HOST_WIDE_INT) when comparing against one.  Cast 1 to (unsigned
10447         HOST_WIDE_INT) in shift.
10448         (simplify_and_const_int): Cast result of INTVAL() macro to
10449         `unsigned HOST_WIDE_INT' when comparing against one.
10450         (merge_outer_ops): Cast variable const0 to `unsigned
10451         HOST_WIDE_INT' when comparing against the result of
10452         GET_MODE_MASK() macro.
10453         (simplify_comparison): Likewise for variable `c0'.  Cast variable
10454         `const_op' to `unsigned HOST_WIDE_INT' when comparing against
10455         one.  Cast `1' to `unsigned HOST_WIDE_INT' in shift.  Cast the
10456         result of `GET_MODE_MASK()/2' to `HOST_WIDE_INT' when comparing
10457         against one.  Cast `1' to `unsigned HOST_WIDE_INT' in shift.  Cast
10458         result of INTVAL() macro to `unsigned HOST_WIDE_INT' when
10459         comparing against one.
10460         (distribute_notes): Wrap variable `cc0_setter' in macro `HAVE_cc0'.
10461
10462         config/mips/mips.c (gen_int_relational): Cast result of INTVAL()
10463         macro to `unsigned HOST_WIDE_INT' when comparing against one.
10464         (output_block_move): Cast `sizeof' expression to (int) when
10465         comparing against one.
10466         (function_arg): Cast BITS_PER_WORD to `unsigned' when comparing
10467         against one.
10468         (save_restore_insns): Cast `base_offset' to `long' to match format
10469         specifier in fprintf.
10470
10471         * config/mips/mips.h (Pmode): Cast the result of `Pmode' macro
10472         to `enum machine_mode'.
10473
10474         * flow.c (life_analysis_1): Remove unused variable `insn'.
10475
10476         * gcc.c (translate_options): Move variables `j' and `k' into the
10477         scope in which they are used.  Change their types to `size_t'.
10478         (set_spec): Cast the argument of ctype macro to `unsigned char'.
10479         (read_specs): Likewise.
10480         (process_command): Cast `sizeof' to (int) when comparing against one.
10481         (do_spec_1): Cast the argument of ctype macro to `unsigned char'.
10482         (handle_braces): Cast both sides of `==' expression to `long' to
10483         ensure sign matching.
10484         (main): Cast variable `i' to `int' when comparing against one.
10485
10486         * gcov-io.h (__fetch_long): Change type of parameter `bytes' from
10487         int to size_t.  Cast variable `i' to size_t when comparing against
10488         one.
10489
10490         * genattrtab.c (convert_set_attr_alternative): Remove unused
10491         parameter `insn_code'.  All callers changed.
10492         (convert_set_attr): Likewise.
10493
10494         * genrecog.c (add_to_sequence): Cast result of XVECLEN() macro to
10495         size_t when comparing against one.  Likewise for variable `len'.
10496
10497         * global.c (global_alloc): Cast variable `max_regno' to size_t
10498         when comparing against one.  Likewise for variable `max_allocno'.
10499
10500         * jump.c (sets_cc0_p): Mark parameter `x' with ATTRIBUTE_UNUSED.
10501
10502         * local-alloc.c (validate_equiv_mem_from_store): Mark parameter
10503         `set' with ATTRIBUTE_UNUSED.
10504         (find_free_reg): Cast `sizeof' expression to (int) when comparing
10505         against one.
10506
10507         * loop.c (count_loop_regs_set): Remove unused variable `dest'.
10508         (strength_reduce): Mark parameter `bct_p' with ATTRIBUTE_UNUSED.
10509         (get_condition): Cast variable `const_val' to `unsigned
10510         HOST_WIDE_INT' when comparing against one.  Cast unsigned
10511         expression to HOST_WIDE_INT when comparing against one.
10512         (insert_loop_mem): Mark parameter `data' with ATTRIBUTE_UNUSED.
10513         (load_mems_and_recount_loop_regs_set): Cast variable `nregs' to
10514         `unsigned' when comparing against one.
10515
10516         * protoize.c (is_id_char): Change type of parameter `ch' to
10517         unsigned char.
10518         (munge_compile_params): Cast argument of ctype macro to (const
10519         unsigned char).
10520         (process_aux_info_file): Cast variable `aux_info_size' to int when
10521         comparing against one.
10522         (forward_to_next_token_char): Cast argument of ctype macro to
10523         `const unsigned char'.
10524         (edit_formals_lists): Likewise.
10525         (find_rightmost_formals_list): Likewise.
10526         (add_local_decl): Likewise.
10527         (add_global_decls): Likewise.
10528         (edit_fn_definition): Likewise.
10529         (do_cleaning): Likewise.
10530         (scan_for_missed_items): Likewise.
10531         (edit_file): Cast variable `orig_size' to (int) when comparing
10532         against one.
10533         (main): Cast argument of ctype macro to `const unsigned char'.
10534
10535         * recog.c (const_int_operand): Mark parameter `mode' with
10536         ATTRIBUTE_UNUSED.
10537
10538         * regclass.c (record_reg_classes): Change type of variable `c' to
10539         `unsigned char'.  Cast `char' array index to `unsigned char'.
10540
10541         * reload.c (push_secondary_reload): Cast argument to
10542         REG_CLASS_FROM_LETTER() macro to `unsigned char'.
10543
10544         * reload1.c (calculate_needs): Cast `char' array index to
10545         `unsigned char'.
10546         (set_label_offsets): Change type of variable `i' to unsigned int.
10547         Cast result of XVECLEN() macro to unsigned when comparing against
10548         one.
10549         (mark_not_eliminable): Change type of variable `i' to unsigned.
10550         (order_regs_for_reload): Likewise.  Cast `max_regno' to unsigned
10551         when comparing against one.
10552         (reload_as_needed): Cast macro NUM_ELIMINABLE_REGS to (int) when
10553         comparing against one.
10554         (choose_reload_regs): Hide unused label `fail'.
10555         (reload_cse_simplify_operands): Cast `char' array index to
10556         `unsigned char'.
10557         (reload_combine_note_store): Mark parameter `set' with
10558         ATTRIBUTE_UNUSED.  Cast UNITS_PER_WORD to unsigned when comparing
10559         against one.
10560         (reload_cse_move2add): Remove unused variable `src2'.
10561
10562         * sched.c: Include recog.h.
10563         (sched_note_set): Remove unused parameter `b'.  All callers
10564         changed.
10565         (split_hard_reg_notes): Likewise for parameter `orig_insn'.
10566         (blockage_range): Cast result of UNIT_BLOCKED() macro to (int)
10567         when comparing against one.
10568
10569         * stupid.c (stupid_find_reg): Mark parameter `changes_size' with
10570         ATTRIBUTE_UNUSED.  Cast `sizeof' expression to (int) when
10571         comparing against one.
10572
10573         * unroll.c (precondition_loop_p): Remove unused parameter
10574         `loop_end'.  All callers changed.
10575
10576 Tue Oct 13 22:12:11 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
10577
10578         * reload1.c (maybe_fix_stack_asms): New static function.
10579         (reload): Call it.
10580
10581         * reload.h (compute_use_by_pseudos): Declare.
10582
10583         * reload1.c (spilled_pseudos, insns_need_reload): New variables.
10584         (something_needs_reloads): Delete variable.
10585         (finish_spills): New function.
10586         (compute_use_by_pseudos): New function.
10587
10588         (delete_caller_save_insns): Lose argument FIRST.  All callers changed.
10589         Use the reload_insn_chain instead of walking the rtl directly.
10590
10591         (reload): Allocate and free spilled_pseudos.
10592         Ensure that all calls of spill_hard_reg are followed by a call to
10593         finish_spills.
10594         Use the insns_need_reload list instead of something_needs_reloads
10595         to find out if reload_as_needed must be called.
10596         Clear unused_insn_chains at the end.
10597
10598         (calculate_needs_all_insns): Lose FIRST parameter.  All callers
10599         changed.
10600         Delete code to keep track of current basic block.
10601         Walk reload_insn_chain instead of the rtl structure.  Build the
10602         insns_need_reload chain.
10603         Remember which insns need reloading/elimination by setting the
10604         appropriate fields in struct insn_chain, not by putting modes on the
10605         insn.
10606
10607         (calculate_needs): Lose THIS_BLOCK arg.  Accept arg CHAIN instead of
10608         arg INSN.  All callers changed.
10609         Delete declaration of struct needs.
10610         Don't set something_needs_reloads.
10611         Record insn needs in the CHAIN argument.
10612
10613         (spill_hard_reg): Record the affected pseudos in spilled_pseudos.
10614
10615         (reload_as_needed): Lose FIRST arg.  All callers changed.
10616         Walk the reload_insn_chain instead of the rtx structure.
10617         Delete code to keep track of current basic block.
10618         Rename one of the NEXT variables to OLD_NEXT.
10619
10620         (allocate_reload_reg): Accept arg CHAIN instead of arg INSN.  All
10621         callers changed.
10622         (choose_reload_regs): Likewise.
10623
10624         (emit_reload_insns): Replace INSN and BB args with arg CHAIN.  All
10625         callers changed.
10626         
10627         * caller-save.c (MOVE_MAX_WORDS): New macro.  Use it throughout
10628         instead of (MOVE_MAX / UNITS_PER_WORD) computation.
10629         (hard_regs_live, hard_regs_need_restore): Delete variables.
10630         (n_regs_saved): Now static.
10631         (referenced_regs, this_insn_sets): New variables.
10632
10633         (setup_save_areas): Restructure the code a bit.
10634
10635         (restore_referenced_regs): Delete function.
10636         (mark_referenced_regs): New function, similar to the old
10637         restore_referenced_regs, but mark registers in referenced_regs.
10638
10639         (clear_reg_live): Delete function.
10640         (mark_set_regs): Renamed from set_reg_live.  All callers changed.
10641         Only mark registers in this_insn_sets.
10642
10643         (save_call_clobbered_regs): Rework this function to walk the
10644         reload_insn_chain instead of using the list of instructions directly.
10645         Delete code to keep track of register lives, compute live regs on the
10646         fly from information in the chain.
10647         Instead of calling restore_referenced_regs, use mark_referenced_regs,
10648         then walk the set it computes and call insert_restore as appropriate.
10649
10650         (insert_restore): Lose INSN and BLOCK args.  Add CHAIN arg.  All
10651         callers changed.
10652         Restructure the code a bit.  Test hard_regs_saved instead of
10653         hard_regs_need_restore.
10654         (insert_save): Lose INSN and BLOCK args.  Add CHAIN and TO_SAVE
10655         args.  All callers changed.
10656         Restructure the code a bit.  Use TO_SAVE to determine which regs to
10657         save instead of more complicated test.
10658         (insert_one_arg): Lose INSN and BLOCK args.  Add CHAIN arg.  All
10659         callers changed.
10660         Create a new insn_chain structure for the new insn and place it
10661         into the chain.
10662
10663         * rtl.texi: Update documentation to reflect that reload no longer
10664         puts modes on the insns.
10665
10666 1998-10-14  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
10667
10668         * function.c (purge_addressof_1): Force the first argument of a
10669         CALL insn to memory.
10670
10671 Wed Oct 14 00:38:40 1998  Jeffrey A Law  (law@cygnus.com)
10672
10673         * rtl.h: Delete duplicate prototypes.  Add some missing
10674         prototypes.
10675         * rtlanal.c (for_each_rtx): Formatting tweak.
10676
10677 1998-10-13  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
10678
10679         * real.c (emdnorm and etoasc): Disable round to even for c4x target
10680         to be compatible with TI compiler.
10681
10682         * Makefile.in (USER_H): Add va-c4x.h to definition.
10683
10684 Tue Oct 13 23:03:37 1998  Richard Henderson  <rth@cygnus.com>
10685
10686         * function.c (purge_addressof_1): Fix typo in inequality: do
10687         bitfield optimization for equal mode sizes.
10688         * expmed.c (store_bit_field): Don't take subregs of subregs in
10689         the movstrict case.  Tidy a potential problem in the multi-word case.
10690         (extract_bit_field): Likewise.
10691
10692 Tue Oct 13 22:12:11 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
10693
10694         * flow.c (find_basic_blocks): Emit NOPs after normal calls in this
10695         function.
10696         Compute max_uid_for_flow by calling get_max_uid after the scan.
10697         (find_basic_blocks_1): Don't emit NOPs here.
10698
10699 Tue Oct 13 22:05:49 1998  Richard Henderson  <rth@cygnus.com>
10700
10701         * alias.c (base_alias_check): Accept new args for the modes of the
10702         two references.  Use them to determine if an AND can overlap.  Update
10703         all callers.
10704         (memrefs_conflict_p): Assume sizes are aligned, and uses them
10705         to determine if an AND can overlap.
10706
10707 Tue Oct 13 17:51:04 1998  Jim Wilson  <wilson@cygnus.com>
10708
10709         * config/m68k/m68k.h (HARD_REGNO_MODE_OK): For FP regs, add REGNO >= 16
10710         check.  Add comment to document problems with TARGET_SUN_FPA version
10711         of this macro.
10712         * config/m68k/m68k.md (movxf+1): Support 'r'/'r' moves.
10713
10714 Tue Oct 13 17:46:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10715
10716         * Makefile.in (gencheck.o): Depend on gansidecl.h.
10717
10718         * c-common.c (print_char_table): Add missing initializers.
10719         (scan_char_table): Likewise.
10720         (time_char_table): Likewise.
10721
10722         * c-decl.c (c_decode_option): Mark parameter `argc' with
10723         ATTRIBUTE_UNUSED.
10724         (declare_parm_level): Mark parameter `definition_flag' with
10725         ATTRIBUTE_UNUSED.
10726
10727         * c-lex.c (readescape): Use `(unsigned)1' in shift.
10728         (yylex): Likewise.  Cast `sizeof' to an (int) when comparing
10729         against one.
10730
10731         * calls.c (store_one_arg): Remove unused parameter `fndecl'.  All
10732         callers changed.
10733         (emit_call_1): Mark parameters `fndecl' and `funtype' with
10734         ATTRIBUTE_UNUSED.
10735         (expand_call): Cast result of MIN() to (unsigned int) when
10736         comparing against an unsigned value.
10737
10738         * cccp.c (pcfinclude): Remove unused parameter `limit'.  All
10739         callers changed.
10740         (make_definition): Remove unused parameter `op'.  All callers
10741         changed.
10742         (create_definition): Cast REST_EXTENSION_LENGTH to (long) when
10743         comparing against the result of pointer arithmetic.
10744
10745         * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Cast to (unsigned)
10746         when comparing against one.
10747
10748         * dwarf2out.c (dwarf2out_frame_debug): Cast REGNO() and
10749         HARD_FRAME_POINTER_REGNUM to (unsigned) when comparing against
10750         one.
10751         (output_die): Move variable `i' into the scope in which it is
10752         used.  Change its type to `unsigned'.
10753         (output_die): Cast the result of `strlen' to (int) when passing it
10754         to ASM_OUTPUT_ASCII().
10755         (output_pubnames): Likewise.
10756         (output_line_info): Likewise.
10757
10758         * emit-rtl.c (global_rtl): Add missing initializers.
10759
10760         * explow.c (promote_mode): Mark parameter `for_call' with
10761         ATTRIBUTE_UNUSED.
10762
10763         * expmed.c (expand_shift): Cast the result of GET_MODE_BITSIZE to
10764         `unsigned HOST_WIDE_INT' when comparing against one.
10765         (synth_mult): Change type of variable `cost' to int.
10766         (emit_store_flag): Use `(unsigned HOST_WIDE_INT) 1' in shift.
10767
10768         * expr.c (copy_blkmode_from_reg): Cast BITS_PER_WORD to (unsigned)
10769         when comparing against one.
10770         (get_inner_reference): Change variable `alignment' to unsigned.
10771         (expand_expr): Cast the result of GET_MODE_ALIGNMENT to (unsigned
10772         int) when comparing against one.
10773         (expand_builtin_setjmp): Change type of variable `i' to size_t.
10774
10775         * fold-const.c (div_and_round_double): Cast BASE to
10776         (HOST_WIDE_INT) when comparing against one.
10777
10778         * gencheck.c: Include gansidecl.h.
10779         (main): Mark parameter `argv' with ATTRIBUTE_UNUSED.
10780
10781         * optabs.c (gen_cond_trap): Mark parameters `code', `op2' and
10782         `tcode' with ATTRIBUTE_UNUSED.
10783
10784         * real.c (edivm): Cast constant value to (unsigned long) in
10785         expression compared against an unsigned value.
10786
10787         * stmt.c (expand_return): Cast BITS_PER_WORD to (unsigned) when
10788         comparing against one.
10789         (expand_end_case): Cast CASE_VALUES_THRESHOLD to (unsigned int)
10790         when comparing against one.
10791
10792         * stor-layout.c (mode_for_size): Cast MAX_FIXED_MODE_SIZE to
10793         (unsigned int) when comparing against one.  Likewise for
10794         GET_MODE_BITSIZE.
10795         (smallest_mode_for_size): Likewise.
10796         (save_storage_status): Mark parameter `p' with ATTRIBUTE_UNUSED.
10797         (restore_storage_status): Likewise.
10798         
10799         * toplev.c (debug_args): Add missing initializer.
10800         (f_options): Spelling correction.  Add missing initializers.
10801         (documented_lang_options): Likewise.
10802         (debug_end_source_file): Mark parameter `lineno' with
10803         ATTRIBUTE_UNUSED.
10804
10805         * tree.c (valid_machine_attribute): Mark parameters `attr_args',
10806         `decl' and `type' with ATTRIBUTE_UNUSED.
10807
10808         * varasm.c (decode_reg_name): Cast `sizeof' expression to (int)
10809         when comparing against one.
10810         (assemble_variable): Mark parameter `top_level' with
10811         ATTRIBUTE_UNUSED.
10812         (assemble_external_libcall): Mark parameter `fun' with
10813         ATTRIBUTE_UNUSED.
10814         (output_constant_pool): Mark parameters `fnname' and `fndecl' with
10815         ATTRIBUTE_UNUSED.
10816
10817 Tue Oct 13 12:51:04 1998  Nick Clifton  <nickc@cygnus.com>
10818
10819         * config/v850/lib1funcs.asm (_udivsi3): Add .type declaration.
10820         Replace use of r5 with use of r19.
10821
10822         * config/v850/v850.h (LINK_POINTER_REGNUM): Define.
10823
10824         * config/v850/v850.c (compute_register_save_size): Allow for the
10825         fact that helper functions save all registers, not just those used
10826         by the function.
10827         
10828         Replace constant 31 with macro LINK_POINTER_REGNUM.
10829
10830         * config/v850/v850.md: Use 'indirect_operand' rather than
10831         'memory_operand' for bit test/set/clear patterns.
10832
10833 Tue Oct 13 11:49:14 1998  Jason Merrill  <jason@yorick.cygnus.com>
10834
10835         * mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS): Call ASM_GLOBALIZE_LABEL.
10836         * varasm.c (assemble_start_function et al): Don't call
10837         ASM_GLOBALIZE_LABEL for weak symbols.
10838
10839 Tue Oct 13 11:37:45 1998  Nick Clifton  <nickc@cygnus.com>
10840
10841         * cse.c (equiv_constant): Check for NULL return from
10842         gen_lowpart_if_possible().
10843
10844 Tue Oct 13 11:24:51 1998  Jeffrey A Law  (law@cygnus.com)
10845
10846         * mn10200.md (addsi3, subsi3, negsi2): Only allow register operands.
10847
10848         * collect2.c (main): Pass -EL/-EB through to the compiler.
10849
10850 1998-10-12  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
10851         
10852         * expr.c (push_block): Handle targets where the stack grows
10853         to higher addresses, but args grow to lower addresses and
10854         ACCUMULATE_OUTGOING_ARGS is not defined.
10855
10856 Tue Oct 13 08:00:52 1998  Catherine Moore  <clm@cygnus.com>
10857
10858         * config/v850/v850.c (print_operand): Extend meaning
10859         of 'c' operands to support .vtinherit.
10860
10861 Tue Oct 13 21:38:35 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10862
10863         * config/c4x/c4x.c: Convert to gen_rtx_FOO.
10864         Added ATTRIBUTE_UNUSED to unused function arguments.
10865         (rc_reg_operand): New predicate.
10866         (c4x_rptb_insert): New function.
10867         (c4x_rptb_nop_p): Recognize modified rptb_top pattern.
10868         (c4x_optimization_options): New function.
10869
10870         * config/c4x/c4x.md: Convert to gen_rtx_FOO.
10871          (decrement_and_branch_on_count): New pattern.
10872          (rptb_top): Modified pattern to work with BCT optimization.
10873         
10874         * config/c4x/c4x.h (RC_REG): New register class.
10875         (rc_reg_operand): Define prototype.
10876         (IS_RC_REG): New macro.
10877         (IS_RC_OR_PSEUDO_REG): New macro.
10878         (IS_RC_OR_PSEUDO_REGNO): New macro.
10879         (OPTIMIZATION_OPTIONS): Define.
10880
10881 Mon Oct 12 19:57:34 1998  Jason Merrill  <jason@yorick.cygnus.com>
10882
10883         * collect2.c (extract_init_priority): No priority is 65535.
10884
10885 Mon Oct 12 12:10:37 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
10886         
10887         * Makefile.in (build_tooldir): New variable, same as old
10888         $(tooldir), but without depending on $(libdir)/$(unlibsubdir).
10889         (GCC_FOR_TARGET): Add -B$(build_tooldir)/bin/.
10890         (bootstrap, bootstrap2, bootstrap3, bootstrap4): Likewise.
10891         
10892         * configure.in (gxx_include_dir): Set default based on unlibsubdir.
10893         * Makefile.in (tooldir): Likewise.
10894         (cccp.o, cpplib.o): Use unlibsubdir implicitly through
10895         gxx_include_dir, includedir and tooldir.
10896         (protoize.o, unprotoize.o): Likewise.
10897         
10898 Mon Oct 12 10:50:44 1998  Nick Clifton  <nickc@cygnus.com>
10899
10900         * config/arm/arm.md: Replace (reg 24) with (reg:CC 24).
10901
10902         * config/arm/thumb.c (thumb_override_options): Add warning about
10903         PIC code not being supported just yet.
10904
10905 Sun Oct 11 16:49:15 1998  John Wehle  (john@feith.com)
10906
10907         * flow.c: Update comment.
10908         (notice_stack_pointer_modification): New static function.
10909         (record_volatile_insns): Use it.
10910         (mark_regs_live_at_end): Mark the stack pointer as alive
10911         at the end of the function if current_function_sp_is_unchanging
10912         is set.
10913         (life_analysis_1): Set current_function_sp_is_unchanging.
10914         * function.c: Define it.
10915         (init_function_start): Initialize it.
10916         * output.h: Declare it.
10917         * reorg.c (fill_simple_delay_slots, dbr_schedule): Mark
10918         the stack pointer as alive at the end of the function if
10919         current_function_sp_is_unchanging is set.
10920         * i386.c (ix86_epilogue): Optimize the restoring
10921         of the stack pointer.
10922
10923 Mon Oct 12 01:22:53 1998  Jeff Law  (law@cygnus.com)
10924
10925         * version.c: Bump for snapshot.
10926
10927 Sun Oct 11 23:04:30 1998  Robert Lipe  <robertl@dgii.com>
10928
10929         * c-pragma.c (handle_pragma_token): If passed a token instead
10930         of a tree, use that as the pack value.
10931
10932 Sun Oct 11 14:21:14 1998  Mark Mitchell  <mark@markmitchell.com>
10933
10934         * flow.c (find_basic_blocks_1): Fix prototype.
10935
10936 Sun Oct 11 05:03:41 1998  Ken Raeburn  <raeburn@cygnus.com>
10937
10938         * tree.h (DECL_NO_CHECK_MEMORY_USAGE): New macros.
10939         (struct tree_decl): New fields no_check_memory_usage.
10940         * c-common.c (enum attrs): Add A_NO_CHECK_MEMORY_USAGE.
10941         (init_attributes): Register it as a new attribute.
10942         (decl_attributes): Set flags on functions given that attribute.
10943         * c-decl.c (duplicate_decls): Merge new attribute.
10944         * expr.h (current_function_check_memory_usage): Declare new var.
10945         * calls.c, expr.c, function.c, stmt.c, alpha.c, clipper.c, m88k.c,
10946         pa.c, sparc.c: Replace uses of flag_check_memory_usage with
10947         current_function_check_memory_usage.
10948         * function.h: Add field to struct function.
10949         * function.c (current_function_check_memory_usage): Define it.
10950         (push_function_context_to, pop_function_context_from): Save and
10951         restore it.
10952         (expand_function_start): Set it, based on global flag and function
10953         attribute.
10954
10955         * expr.c (expand_expr, case VAR_DECL): In memory-checking code, do
10956         check non-automatic variables, to permit detection of writes to
10957         read-only locations in embedded systems without memory management.
10958         * calls.c (store_one_arg): Use ARGS_SIZE_RTX to get size of argument
10959         when emitting chkr_set_right_libfunc call, even if the argument is
10960         BLKmode or variable-sized; don't abort.
10961
10962         * optabs.c (init_optabs): Create Checker and __cyg_profile_*
10963         symbols in Pmode, not VOIDmode.
10964
10965 Sun Oct 11 01:03:05 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
10966
10967         * cppexp.c: When forcing unsigned comparisons, cast both sides
10968         of the operation.
10969
10970         * cpphash.h: Move static declaration of hashtab[]...
10971         * cpphash.c: ...here.
10972
10973         * cpplib.c: Cast difference of two pointers to size_t before
10974         comparing it to size_t.  Cast signed to unsigned
10975         before comparing to size_t. (FIXME: struct argdata should use
10976         unsigned buffer sizes.)
10977         * cpplib.h (struct cpp_reader): Declare token_buffer_size as
10978         unsigned int. (CPP_WRITTEN): Cast return value to size_t.
10979         (CPP_RESERVE): Parenthesize N for evaluation order, cast to
10980         size_t before comparison.
10981
10982 Sun Oct 11 00:15:29 1998  Jeffrey A Law  (law@cygnus.com)
10983
10984         * flow.c (find_basic_blocks): Delete "live_reachable_p" argument.
10985         (find_basic_blocks_1): Similarly.
10986         * output.h (find_basic_blocks): Fix prototype.
10987         * gcse.c, toplev.c: Don't pass "live_reachable_p" argument to
10988         find_basic_blocks anymore.
10989
10990 Sat Oct 10 22:00:34 1998  Richard Henderson  <rth@cygnus.com>
10991
10992         * basic-block.h (EXECUTE_IF_SET_IN_SBITMAP): New macro.
10993         (sbitmap_free, sbitmap_vector_free): New macros.
10994         * output.h (rtl_dump_file): Declare.
10995
10996 Sat Oct 10 17:01:42 1998  Jeffrey A Law  (law@cygnus.com)
10997
10998         * regmove.c (optimize_reg_copy_3): Honor TRULY_NOOP_TRUNCATION.
10999
11000 Fri Oct  9 22:08:05 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11001
11002         * fp-bit.c (SFtype): Don't implicitly use int in declaration.
11003         (DFtype): Likewise.
11004         (_fpdiv_parts): Remove unused parameter `tmp', all callers changed.
11005         (divide): Remove unused variable `tmp'.
11006         (si_to_float): Cast numeric constant to (SItype) before comparing
11007         it against one.
11008
11009 Fri Oct  9 16:03:19 1998  Graham  <grahams@rcp.co.uk>
11010
11011         * flow.c (print_rtl_with_bb): Changed type of in_bb_p to match use.
11012         * gcc.c (add_preprocessor_option): Correct typo when allocating
11013         memory, sizeof() argument had one too many `*'.
11014         (add_assembler_option): Likewise.
11015         (add_linker_option): Likewise.
11016         * gcov.c (output_data): Likewise.
11017         * local-alloc.c (memref_used_between_p): Likewise.
11018         (update_equiv_regs): Likewise.
11019         * loop.c (strength_reduce): Likewise.
11020         * reg-stack.c (record_asm_reg_life): Likewise.
11021         (subst_asm_stack_reg): Likewise.
11022         * reorg.c (dbr_schedule): Likewise.
11023
11024 Fri Oct  9 15:57:51 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
11025
11026         * flow.c (life_analysis_1): Break out some functions.
11027         (find_basic_blocks_1): Likewise.  Also move some variables out and
11028         make them static.
11029         Rename NONLOCAL_LABEL_LIST arg to NONLOCAL_LABELS and initialize
11030         new static var nonlocal_label_list with it.
11031         (active_eh_region, nested_eh_region, label_value_list,
11032         nonlocal_label_list): New static variables.
11033         (make_edges, delete_unreachable_blocks, delete_block): New static
11034         functions, broken out of find_basic_blocks_1.
11035         (record_volatile_insns, mark_regs_live_at_end, set_noop_p,
11036         noop_move_p): New static functions, broken out of life_analysis_1.
11037
11038 Fri Oct  9 15:49:29 1998  Richard Henderson  <rth@cygnus.com>
11039
11040         * expmed.c (store_bit_field): Pun non-integral str_rtx modes.
11041         Take extra care for op0 now possibly being a subreg.
11042         (extract_bit_field): Likewise.
11043         * function.c (purge_addressof_1): Revert Oct 4 change.  Drop
11044         the reg to memory if there is no equal sized integral mode.
11045         * stor-layout.c (int_mode_for_mode): New function.
11046         * machmode.h: Prototype it.
11047
11048 Fri Oct  9 14:26:44 1998  Jeffrey A Law  (law@cygnus.com)
11049
11050         * global.c (build_insn_chain): Verify no real insns exist past the
11051         end of the last basic block, then exit the loop.
11052
11053 Fri Oct  9 11:44:47 1998  David Edelsohn  <edelsohn@gnu.org>
11054
11055         * loop.c (insert_bct): Ensure loop_iteration_var non-zero before use.
11056
11057 Thu Oct  8 21:59:47 1998  Dave Brolley  <brolley@cygnus.com>
11058
11059         * emit-rtl.c (init_emit_once): Call INIT_EXPANDERS.
11060
11061 Thu Oct  8 22:03:45 1998  David Edelsohn  <edelsohn@gnu.org>
11062
11063         * rs6000.h (RTX_COSTS): Add PROCESSOR_PPC604e cases.
11064
11065 Thu Oct  8 17:00:18 1998  Richard Henderson  <rth@cygnus.com>
11066
11067         * flow.c (find_basic_blocks): Correctly determine when a call
11068         is within an exception region.
11069
11070 Thu Oct  8 17:15:04 1998  Jeffrey A Law  (law@cygnus.com)
11071
11072         * toplev.c (output_file_directive): Use DIR_SEPARATOR, not '/'.
11073
11074         * cpplib.h: Protect from multiple inclusions.
11075         * cpplib.c: Fix minor formatting problems.
11076
11077         * i386/xm-cygwin32.h: Only define POSIX if it is not already defined.
11078
11079         * jump.c (jump_optimize): Revert accidental patch.
11080
11081         * Makefile.in (cpplib.o): Use unlibsubdir.
11082
11083 Thu Oct  8 12:50:47 1998  Jim Wilson  <wilson@cygnus.com>
11084
11085         * loop.c (get_condition): Allow combine when either compare is
11086         VOIDmode.
11087
11088 Thu Oct  8 11:31:01 1998  Jeff Law  (law@cygnus.com)
11089
11090         * version.c: Bump for snapshot.
11091
11092 Thu Oct  8 12:21:14 1998  Richard Frith-Macdonald  <richard@brainstorm.co.uk>
11093
11094         * c-lex.c (remember_protocol_qualifiers): Handle RID_BYREF.
11095         (init_lex): Initialize ridpointers[RID_BYREF].
11096         * c-lex.h (enum rid): Add RID_BYREF.
11097         * c-parse.gperf: Add RID_BYREF as a type qualifier.
11098         * objc/objc-act.c (is_objc_type_qualifiers): Handle RID_BYREF.
11099         (encode_type_qualifiers): Similarly.
11100         * c-gperf.h: Rebuilt.
11101
11102 Thu Oct  8 05:56:00 1998  Jeffrey A Law  (law@cygnus.com)
11103
11104         * c-common.c (type_for_mode): Only return TItype nodes when
11105         HOST_BITS_PER_WIDE_INT is >= 64 bits.
11106         * c-decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
11107         when HOST_BITS_PER_WIDE_INT is >= 64 bits.
11108         (init_decl_processing): Only create TItype nodes when
11109         HOST_BITS_PER_WIDE_INT is >= 64 bits.
11110         * c-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare
11111         when HOST_BITS_PER_WIDE_INT is >= 64 bits.
11112
11113 Thu Oct  8 05:05:34 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
11114
11115         * stmt.c (n_occurrences): New static function.
11116         (expand_asm_operands): Verify that all constrains match in the
11117         number of alternatives.
11118         Verify that '+' or '=' are at the beginning of an output constraint.
11119         Don't allow '&' for input operands.
11120         Verify that '%' isn't written for the last operand.
11121         * reload.c (find_reloads): Abort if an asm is found with invalid
11122         constraints; all possible problems ought to be checked for earlier.
11123
11124 Thu Oct  8 04:26:20 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
11125
11126         * flags.h (flag_branch_on_count_reg): Always declare.
11127         * toplev.c (flag_branch_on_count_reg): Likewise.
11128         * toplev.c: Fix typos.
11129
11130         * real.c (c4xtoe): Remove unused variables.  Add some missing parens.
11131         (toc4x): Similarly.
11132
11133 Thu Oct  8 01:25:22 1998  Richard Henderson  <rth@cygnus.com>
11134
11135         * flow.c (find_basic_blocks): Calc upper bound for extra nops in
11136         max_uids_for_flow.
11137         (find_basic_blocks_1): Add a nop to the end of a basic block when
11138         a trailing call insn does not have abnormal control flow.
11139         * gcse.c (pre_transpout): New variable.
11140         (alloc_pre_mem, free_pre_mem, dump_pre_data): Bookkeeping for it.
11141         (compute_pre_transpout): Calculate it.
11142         (compute_pre_ppinout): Use it to eliminate impossible placements
11143         due to abnormal control flow through calls.
11144         (compute_pre_data): Call compute_pre_transpout.
11145
11146 Wed Oct  7 21:40:24 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
11147
11148         * config/sparc/sol2-sld-64.h (ASM_CPU_SPEC): Fix typo.
11149
11150 Wed Oct  7 21:19:46 1998  Ken Raeburn  <raeburn@cygnus.com>
11151
11152         * config/mips/mips.md (tablejump_internal3, tablejump_internal4
11153         and matching define_insns): Tack on a `use' of the table label, so
11154         flow analysis will recognize a tablejump.
11155
11156 Wed Oct  7 17:33:39 1998  Richard Henderson  <rth@cygnus.com>
11157
11158         * gcse.c (pre_insert_insn): Tweek to notice that calls do not
11159         always end basic blocks for abnormal edge reasons.
11160
11161 Wed Oct  7 14:40:43 1998  Nick Clifton  <nickc@cygnus.com>
11162
11163         * config/i386/i386.h: Remove definition of
11164         HANDLE_PRAGMA_PACK_PUSH_POP.
11165         
11166         * config/i386/go32.h: Add definition of
11167         HANDLE_PRAGMA_PACK_PUSH_POP.
11168         
11169         * config/i386/win32.h: Add definition of
11170         HANDLE_PRAGMA_PACK_PUSH_POP.
11171         
11172         * config/i386/cygwin32.h: Add definition of
11173         HANDLE_PRAGMA_PACK_PUSH_POP.
11174
11175         * c-pragma.c (insert_pack_attributes): Do not insert
11176         attributes unless #pragma pack(push,<n>) is in effect.
11177
11178 Wed Oct  7 12:10:46 1998  Jim Wilson  <wilson@cygnus.com>
11179
11180         * expr.c (emit_group_store): Handle a PARALLEL destination.
11181
11182 Wed Oct  7 10:07:29 1998  Richard Henderson  <rth@cygnus.com>
11183
11184         * gcse.c (pre_insert_insn): When a call ends a bb, insert
11185         the new insns before the argument regs are loaded.
11186
11187 Wed Oct  7 12:55:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11188
11189         * Makefile.in (c-gperf.h): Add -L KR-C -F ', 0, 0' flags to gperf.
11190         (c-parse.gperf): Update comments describing invocation flags.
11191         (c-gperf.h): Regenerate using gperf 2.7.1 (19981006 egcs).
11192
11193 1998-10-07  Manfred Hollstein  <manfred@s-direktnet.de>
11194
11195         * reload1.c (reload): Call free before clobbering the memory
11196         locations or constants pointers.
11197
11198 Wed Oct  7 02:05:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
11199
11200         * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework
11201         for efficiency by checking whether we need to modify the current
11202         stack permission at all.
11203         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
11204         * config/sparc/sparc.c (sparc_initialize_trampoline): Emit
11205         __enable_execute_stack libcall here too if
11206         TRANSFER_FROM_TRAMPOLINE is defined.
11207         * config/sparc/sparc.h: Set TARGET_ARCH32 to a constant if
11208         IN_LIBGCC2.
11209
11210 Wed Oct  7 02:27:52 1998  Jeffrey A Law  (law@cygnus.com)
11211
11212         * Makefile.in (DRIVER_DEFINES): Remove last change.
11213         
11214 Wed Oct  7 01:08:43 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
11215
11216         * jump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all
11217         insns we're going to copy.
11218         * regclass.c (reg_scan_mark_refs): Don't test X for NULL_RTX.
11219
11220         * loop.c (count_one_set): Add prototype.
11221
11222         * caller-save.c (restore_referenced_regs): Lose mode argument.
11223         (insert_save): Lose mode argument.
11224         (insert_restore): Lose mode argument.
11225         (insert_one_insn): Lose mode argument.
11226         (save_call_clobbered_regs): Lose mode argument.
11227         (setup_save_areas): Take no argument and return void.  All callers
11228         changed.
11229         Don't verify validity of memory addresses.
11230         * reload.h (setup_save_ares): Adjust prototype.
11231         (save_call_clobbered_regs): Likewise.
11232         * reload1.c (delete_caller_save_insns): New function.
11233         (caller_save_spill_class): Delete variable.
11234         (caller_save_group_size): Delete variable.
11235         (reload): Call setup_save_areas and save_call_clobbered_regs
11236         in the main loop, before calling calculate_needs_all_insns.
11237         Don't call save_call_clobbered_regs after the loop.
11238         Call delete_caller_save_insns at the end of an iteration if
11239         something changed.
11240         Delete code to manage caller_save_spill_class.
11241         Emit the final note before setting reload_first_uid.
11242         Simplify test that determines whether reload_as_needed gets run.
11243         (calculate_needs): Delete code to manage caller_save_spill_class.
11244
11245 Tue Oct  6 15:42:27 1998  Richard Henderson  <rth@cygnus.com>
11246
11247         * collect2.c (main): Initialize ld_file_name.
11248
11249 Tue Oct  6 15:45:15 1998  Catherine Moore  <clm@cygnus.com>
11250
11251         * config/sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Don't
11252         check for flag_function_sections.
11253
11254 Tue Oct  6 20:02:31 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11255
11256         * cse.c (insert_regs): Fix bug in Sep 24 change.
11257
11258 Tue Oct  6 17:00:42 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11259
11260         * flags.h (flag_dump_unnumbered): Declare.
11261         * toplev.c (flag_dump_unnumbered): Don't declare.
11262         * print-rtl.c (flags.h): Include.
11263         (print_rtl_single): Add return value.
11264         * rtl.h (print_rtl_single): Update declaration.
11265         * flow.c (flag_dump_unnumbered): Don't declare.
11266         (print_rtl_with_bb): Use return value of print_rtl_single.
11267
11268 Tue Oct  6 01:36:00 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
11269
11270         * loop.c (count_one_set): New static function, broken out of
11271         count_loop_regs_set.
11272         (count_loop_regs_set): Call it.
11273         * global.c (mark_reg_store): Handle clobbers here by not calling
11274         set_preference.
11275         (mark_reg_clobber): Just call mark_reg_store after ensuring SETTER
11276         is in fact a clobber.
11277         * integrate.c (process_reg_param): New function, broken out of
11278         expand_inline_function.
11279         (expand_inline_function): Call it.
11280
11281         * i386.md (addsidi3_1): Delete unused variable temp.
11282         (addsidi3_2): Likewise.
11283         (clstrstrsi): Delete unused variable addr1.
11284
11285         * rtl.h: Don't declare any functions also declared in recog.h.
11286
11287         * Makefile.in (stupid.o): Update dependencies.
11288         (global.o): Likewise.
11289
11290         * global.c: Include reload.h.
11291         (reg_becomes_live): New function.
11292         (reg_dies): New function.
11293         (build_insn_chain): New function.
11294         (global_alloc): Call build_insn_chain before calling reload.
11295
11296         * reload.h (struct needs): New structure definition.
11297         (struct insn_chain): Likewise.
11298         (reload_insn_chain): Declare variable.
11299         (new_insn_chain): Declare function.
11300
11301         * reload1.c (reload_startobj): New variable.
11302         (reload_insn_chain): New variable.
11303         (unused_insn_chains): New variable.
11304         (new_insn_chain): New function.
11305         (init_reload): Initialize reload_startobj, not reload_firstobj.
11306         (reload): Initialize reload_firstobj.
11307         Before returning, free everything on the reload_obstack.
11308
11309         * stupid.c: Include insn-config.h, reload.h and basic-block.h.
11310         (reg_where_dead_chain, reg_where_born_exact, reg_where_born_clobber,
11311         current_chain): New variables.
11312         (reg_where_born): Delete variable.
11313         (REG_WHERE_BORN): New macro.
11314         (find_clobbered_regs): New function.
11315         (stupid_life_analysis): Don't allocate/free reg_where_born.
11316         Allocate and free reg_where_born_exact, reg_where_born_clobber,
11317         reg_where_dead_chain.
11318         Use REG_WHERE_BORN instead of reg_where_born.
11319         While processing the insns, build the reload_insn_chain with
11320         information about register lifetimes.
11321         (stupid_reg_compare): Use REG_WHERE_BORN instead of reg_where_born.
11322         (stupid_mark_refs): Replace arg INSN with arg CHAIN.  All callers
11323         changed.
11324         Compute and information about birth and death of pseudo registers in
11325         reg_where_dead_chain, reg_where_born_exact and reg_where_born_clobber.
11326         Delete code to set elements of reg_where_born.  
11327
11328 Mon Oct  5 22:34:30 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
11329
11330         * tree.def (GOTO_EXPR): Modified documentation.
11331         * expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed
11332         goto.
11333
11334 Mon Oct  5 22:43:36 1998  David Edelsohn  <edelsohn@gnu.org>
11335
11336         * unroll.c (loop_iteration_var, loop_initial_value, loop_increment
11337         loop_final_value, loop_comparison_code): No longer static.
11338         (unroll_loop): Delete loop_start_value update.
11339         * loop.h (loop_iteration_var, loop_initial_value, loop_increment,
11340         loop_final_value, loop_comparison_code): Extern.
11341         (loop_start_value): Delete extern.
11342         * loop.c (loop_can_insert_bct, loop_increment, loop_start_value,
11343         loop_comparison_value, loop_comparison_code): Delete.
11344         (loop_optimize): Remove initialization for deleted variables.
11345         (strength_reduce): Delete analyze_loop_iterations call.  Only call
11346         insert_bct if flag_branch_count_on_reg set.
11347         (analyze_loop_iterations): Delete.
11348         (insert_bct): Remove iteration count calculation.  Move checks for
11349         viable BCT optimization to here.  Obtain iteration count from
11350         loop_iterations and correct for unrolling.  Check for enough
11351         iteration to be beneficial.  Comment out runtime iteration count
11352         case.
11353         (insert_bct): Print iteration count in dump file.  Remove
11354         loop_var_mode and use word_mode directly.
11355
11356         * rs6000.h (processor_type): Add PROCESSOR_PPC604e.
11357         * rs6000.c (rs6000_override_options): Use it.
11358         (optimization_options): Enable use of flag_branch_on_count_reg.
11359         * rs6000.md (define_function_unit): Describe 604e.
11360
11361 1998-10-05  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
11362
11363         * loop.c (move_movables): Corrected threshold calculation for
11364         moved_once registers.
11365
11366 Mon Oct  5 21:18:45 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
11367
11368         * loop.c (combine_givs_p): Fix test for identical givs.
11369
11370 Mon Oct  5 10:11:28 1998  Nick Clifton  <nickc@cygnus.com>
11371
11372         * dwarf2out.c (gen_subprogram_die): If errorcount nonzero, don't
11373         call abort if the function is already defined.
11374
11375 Mon Oct  5 10:02:36 1998  Jeffrey A Law  (law@cygnus.com)
11376
11377         * combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if
11378         truncation is not a no-op.
11379
11380 Mon Oct  5 09:02:04 1998  Jeff Law  (law@cygnus.com)
11381
11382         * version.c: Bump for snapshot.
11383
11384 Mon Oct  5 08:19:55 1998  Jeff Law  (law@cygnus.com)
11385
11386         * version.c: Bump for snapshot.
11387
11388 Mon Oct  5 01:07:23 1998  Torbjorn Granlund  <tege@matematik.su.se>
11389
11390         * expmed.c (expand_divmod): Don't widen for computing remainder
11391         if we seem to have a divmod pattern for needed mode.
11392
11393 Mon Oct  5 01:01:42 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
11394
11395         * cpplib.c (macroexpand): Correct off-by-one error in handling
11396         of escapes.
11397
11398 Sun Oct  4 23:58:30 1998  Richard Henderson  <rth@cygnus.com>
11399
11400         * combine.c (expand_field_assignment): Don't do bitwise operations
11401         on MODE_FLOAT; pun to MODE_INT if possible.
11402
11403 Sun Oct  4 18:33:24 1998  Jason Merrill  <jason@yorick.cygnus.com>
11404                           scott snyder  <snyder@d0sgif.fnal.gov>
11405
11406         * tlink.c (scan_linker_output): Recognize errors from irix 6.2
11407         linker.  Recognize mangled names in quotes.
11408
11409 Sun Oct  4 02:58:20 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
11410
11411         * config/sparc/sparc.md (ashldi3+1): Name it ashldi3_sp64.
11412         (ashlsi3_const1, ashldi3_const1): New combiner patterns.
11413         (ashrsi3_extend, ashrsi3_extend2): New combiner patterns.
11414         (lshrsi3_extend, lshrsi3_extend2): Likewise.
11415
11416 Sun Oct  4 00:23:00 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
11417
11418         * function.c (purge_addressof_1): If trying to take a sub-word
11419         integral piece of a floating point mode, put it on the stack.
11420
11421 Sat Oct  3 19:01:03 1998  Richard Henderson  <rth@cygnus.com>
11422
11423         * alpha/linux.h (CPP_PREDEFINES): Define __alpha__ for imake.
11424
11425 Sat Oct  3 14:42:19 1998  Jason Merrill  <jason@yorick.cygnus.com>
11426
11427         * PROJECTS: Remove template friends.
11428
11429         * collect2.c (sort_ids): Remove unused variable.
11430
11431         * tm.texi (MATH_LIBRARY): Document.
11432         (NEED_MATH_LIBRARY): Remove.
11433
11434         * varasm.c (assemble_start_function, assemble_variable, weak_finish,
11435         assemble_alias): Do ASM_GLOBALIZE_LABEL for weak symbols, too.
11436
11437 Sat Oct  3 16:14:44 1998  John Carr  <jfc@mit.edu>
11438
11439         * dwarf2out.c (expand_builtin_dwarf_reg_size): Initialize
11440         last_end to 0x7fffffff.
11441
11442 Fri Oct  2 19:14:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
11443
11444         * function.c (purge_addressof_1): Do not perform endianness
11445         corrections on bitpos, who we call will do it for us.
11446
11447 Fri Oct  2 11:52:35 1998  Jeffrey A Law  (law@cygnus.com)
11448
11449         * h8300.c (WORD_REG_USED): Fix typo.
11450         (initial_offset): Use WORD_REG_USED.
11451
11452         * h8300.c (handle_pragma): Fix typo.
11453
11454 Fri Oct  2 10:51:35 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
11455
11456         * caller-save.c (insert_save_restore): Break this function up
11457         into new functions insert_restore, insert_save and insert_one_insn.
11458         All callers changed.
11459         (insert_restore): New function, mostly broken out of
11460         insert_save_restore.
11461         (insert_save): Likewise.
11462         (insert_one_insn): Likewise.
11463         (restore_referenced_regs): New argument BLOCK.  All callers changed.
11464         (save_call_clobbered_regs): Don't keep track of basic block boundaries
11465         in this function, do it in insert_one_insn instead.
11466
11467         * reload1.c (reload): Break out some more pieces into separate
11468         functions.
11469         (dump_needs): New function, broken out of reload.
11470         (set_initial_elim_offsets): Likewise.
11471         (init_elim_table): Likewise.
11472         (update_eliminables): Likewise.
11473
11474         * global.c (global_alloc): Delete code to manage the scratch_list.
11475         * local-alloc.c (qty_scratch_rtx): Delete.
11476         (scratch_block): Delete.
11477         (scratch_list): Delete.
11478         (scratch_list_length): Delete.
11479         (scratch_index): Delete.
11480         (alloc_qty_for_scratch): Delete.
11481         (local-alloc): Update initialization of max_qty.
11482         Delete code to manage the scratch list.
11483         Delete code to allocate/initialize qty_scratch_rtx.
11484         (block_alloc): Don't allocate quantities for scratches.
11485         Delete code to manage the scratch list.
11486         * regs.h (scratch_list): Delete declaration.
11487         (scratch_block): Delete declaration.
11488         (scratch_list_length): Delete declaration.
11489         * reload1.c (reload): Delete code to manage the scratch list.
11490         (spill_hard_reg): Likewise.
11491         (mark_scratch_live): Delete.
11492
11493         * recog.c (alter_subreg): Delete declaration.
11494
11495 1998-10-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
11496
11497         * Makefile.in (cccp.o): Fix typo in last patch.
11498
11499 Fri Oct  2 16:13:12 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11500
11501         * t-sh (LIB1ASMFUNCS): Add _set_fpscr .
11502         * config/sh/lib1funcs.asm (___set_fpscr): Add.
11503
11504 Fri Oct  2 02:01:59 1998  Jeffrey A Law  (law@cygnus.com)
11505
11506         * regclass.c (reg_scan_mark_refs): Return immediately if passed a
11507         NULL_RTX as an argument.
11508
11509         * Makefile.in (unlibsubdir): Define.
11510         (DRIVER_DEFINES): Use unlibsubdir.
11511         (cccp.o, cpplib.o, protoize.o, unprotoize.o): Similarly.
11512         (stmp-fixinc): Similarly.
11513
11514 Thu Oct  1 19:58:30 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
11515
11516         * regmove.c (regmove_optimize): Add variable old_max_uid.
11517         At the end of the function, update basic_block_end.
11518
11519 Thu Oct  1 17:58:25 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
11520
11521         * dwarf2out.c (expand_builtin_dwarf_reg_size): Use
11522         FIRST_PSEUDO_REGISTER as upper bound for last_end, not an
11523         arbitrary constant.
11524
11525 Thu Oct  1 17:57:14 1998  Nick Clifton  <nickc@cygnus.com>
11526
11527         * config/arm/arm.c: Improve interworking support.
11528
11529 Thu Oct  1 18:43:35 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11530
11531         * reload1.c (choose_reload_regs): Fix test if reload_reg_rtx[r] was
11532         copied from reload_out[r] .
11533
11534 Thu Oct  1 19:20:09 1998  John Carr  <jfc@mit.edu>
11535
11536         * dwarf2out.c (expand_builtin_dwarf_reg_size): Fix to work
11537         with more than three size ranges.
11538
11539         * flow.c (sbitmap_copy): Use bcopy to copy bitmap.
11540
11541         * rtl.c (mode_name): Add a null string at the end of the array.
11542         (mode_wider_mode): Change type to unsigned char.
11543         (mode_mask_array): New variable.
11544         (init_rtl): Update for mode_wider_mode type change.
11545
11546         * rtl.h (mode_wider_mode): Change type to unsigned char.
11547         (mode_mask_array): Declare.
11548         (GET_MODE_MASK): Use mode_mask_array.
11549
11550 Thu Oct  1 15:56:01 1998  Gavin Romig-Koch  <gavin@cygnus.com>
11551
11552         * calls.c (expand_call) : Encapsulate code into
11553         copy_blkmode_from_reg.
11554         * expr.c (copy_blkmode_from_reg): New function.
11555         * expr.h (copy_blkmode_from_reg): New function.
11556         * integrate.c (function_cannot_inline_p): We can inline
11557         these now.
11558         (expand_inline_function): Use copy_blkmode_from_reg
11559         if needed.  Avoid creating BLKmode REGs.
11560         (copy_rtx_and_substitute): Don't try to SUBREG a BLKmode
11561         object.
11562
11563 Thu Oct  1 10:42:27 1998  Nick Clifton  <nickc@cygnus.com>
11564
11565         * config/v850/v850.c: Add function prototypes.
11566         Add support for v850 special data areas.
11567
11568         * config/v850/v850.h: Add support for v850 special data areas.
11569         
11570         * c-pragma.c: Add support for HANDLE_PRAGMA_PACK and
11571         HANDLE_PRAGMA_PACK_PUSH_POP.
11572         (push_alignment): New function: Cache an alignment requested
11573         by a #pragma pack(push,<n>).
11574         (pop_alignment): New function: Pop an alignment from the
11575         alignment stack.
11576         (insert_pack_attributes): New function: Generate __packed__
11577         and __aligned__ attributes for new decls whilst a #pragma pack
11578         is in effect.
11579         (add_weak): New function: Cache a #pragma weak directive.
11580         (handle_pragma_token): Document calling conventions.  Add
11581         support for #pragma pack(push,<n>) and #pragma pack (pop).
11582
11583         * c-pragma.h: If HANDLE_SYSV_PRAGMA or HANDLE_PRAGMA_PACK_PUSH_POP
11584         are defined enable HANDLE_PRAGMA_PACK.
11585         Move 'struct weak_syms' here (from varasm.c).
11586         Add pragma states for push and pop pragmas.
11587
11588         * c-common.c (decl_attributes): Call PRAGMA_INSERT_ATTRIBUTES
11589         if it is defined.
11590
11591         * c-lex.c: Replace occurances of HANDLE_SYSV_PRAGMA with
11592         HANDLE_GENERIC_PRAGMAS.
11593         
11594         * varasm.c: Move definition of 'struct weak_syms' into
11595         c-pragma.h.
11596         (handle_pragma_weak): Deleted.
11597
11598         * config/i386/i386.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
11599
11600         * config/winnt/win-nt.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
11601
11602         * c-decl.c (start_function): Add invocation of
11603         SET_DEFAULT_DECL_ATTRIBUTES, if defined.
11604
11605         * tm.texi: Remove description of non-existent macro
11606         SET_DEFAULT_SECTION_NAME.
11607         
11608         (HANDLE_SYSV_PRAGMA): Document.
11609         (HANDLE_PRAGMA_PACK_PUSH_POP): Document.
11610
11611 Wed Sep 30 22:27:53 1998  Robert Lipe  <robertl@dgii.com>
11612
11613         * config.sub: Recognize i[34567]86-pc-udk as new target.
11614         * configure.in: Likewise.
11615         * config/i386/t-udk: New file.
11616         * config/i386/udk.h: New file.
11617
11618 Wed Sep 30 19:33:07 1998  Jeffrey A Law  (law@cygnus.com)
11619
11620         * reorg.c (check_annul_list_true_false): Remove unused variables.
11621         (steal_delay_list_from_target): Add missing "used_annul" variable.
11622         (try_merge_delay_insns): Close out half formed comment.
11623
11624 Wed Sep 30 19:13:20 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
11625
11626         * cpplib.c (macroexpand): If arg->raw_before or
11627         arg->raw_after, remove any no-reexpansion escape at the
11628         beginning of the pasted token.  Correct handling of whitespace
11629         markers and no-reexpand markers at the end if arg->raw_after.
11630
11631         * toplev.c (documented_lang_options): Recognize -include,
11632         -imacros, -iwithprefix, -iwithprefixbefore.
11633         * cpplib.c (cpp_start_read): Process -imacros and -include
11634         switches at the same time and in command-line order, after
11635         initializing the dependency-output code.  Emit properly nested
11636         #line directives for them.  Emit a #line for the main file
11637         before processing these switches, and don't do it again
11638         afterward.
11639
11640 Wed Sep 30 18:03:22 1998  Richard Henderson  <rth@cygnus.com>
11641
11642         * function.c (purge_addressof_1): Use bitfield manipulation
11643         routines to handle mem mode < reg mode.
11644
11645 Wed Sep 30 18:43:32 1998  Herman ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
11646
11647         * reorg.c (try_merge_delay_insns): Account for resources referenced
11648         in each instruction in INSN's delay list before trying to eliminate
11649         useless instructions.  Similarly when looking at a trial insn's delay
11650         slots.
11651
11652         * reorg.c (check_annul_list_true_false): New function.
11653         (steal_delay_list_from_{target,fallthrough}): Call it and also
11654         refine tests for when we may annul if already filled a slot.
11655         (fill_slots_from_thread): Likewise.
11656         (delete_from_delay_slot): Return newly-created thread.
11657         (try_merge_delay_isns): Use its new return value.
11658
11659 Wed Sep 30 18:29:26 1998  Jeffrey A Law  (law@cygnus.com)
11660
11661         * loop.c (check_dbra_loop): Use a vanilla loop reversal if the biv is
11662         used to compute a giv or as some other non-counting use.
11663
11664 Wed Sep 30 18:19:27 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
11665
11666         * regs.h (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
11667         * local-alloc.c (find_free_reg): Use it.
11668         * global.c (find_reg): Likewise.
11669         * tm.texi: Document HARD_REGNO_CALL_PART_CLOBBERED.
11670
11671         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
11672         * caller-save.c (init_caller_save): Use it.
11673         * tm.texi: Document HARD_REGNO_CALLER_SAVE_MODE.
11674
11675 Wed Sep 30 12:57:30 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
11676
11677         * configure.in: Add --enable-cpplib option which uses cpplib
11678         for cpp, but doesn't link cpplib into cc1.  Make help text
11679         capitalization consistent.
11680         * configure: Rebuilt.
11681
11682 Wed Sep 30 10:09:39 1998  Mark Mitchell  <mark@markmitchell.com>
11683
11684         * function.c (gen_mem_addressof): If the address REG is
11685         REG_USERVAR_P make the new REG be so also.
11686         * loop.c (scan_loop): Apply DeMorgan's laws and add documentation
11687         in an attempt to clarify slightly.
11688
11689 Wed Sep 30 09:57:40 1998  Jeffrey A Law  (law@cygnus.com)
11690
11691         * expr.c (expand_expr): Handle COMPONENT_REF, BIT_FIELD_REF ARRAY_REF
11692         and INDIRECT_REF in code to check MAX_INTEGER_COMPUTATION_MODE.
11693
11694 Wed Sep 30 10:13:39 1998  Catherine Moore  <clm@cygnus.com>
11695
11696         * toplev.c: Fix last patch.
11697
11698 Tue Sep 29 20:03:18 1998  Jim Wilson  <wilson@cygnus.com>
11699
11700         * loop.c (get_condition): Fix typo in May 9 change.
11701
11702 Tue Sep 29 11:11:38 1998  Andrew MacLeod  <amacleod@cygnus.com>
11703
11704         * invoke.texi (-fexceptions): Merge 2 different descriptions.
11705
11706 Mon Sep 28 22:08:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11707
11708         * toplev.c (documented_lang_options): Spelling corrections.
11709
11710 Mon Sep 28 19:41:24 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
11711
11712         * configure.in: New flags --with-ld and --with-as, equivalent
11713         to setting LD and AS environment variables.  Test whether
11714         specified arguments are GNU commands, and report them with
11715         checking messages.  Use the specified AS for configure
11716         tests too.
11717         * configure: Likewise.
11718         * acconfig.h: Add DEFAULT_ASSEMBLER and DEFAULT_LINKER.
11719         * config.in: Likewise.
11720         * gcc.c (find_a_file): When looking for `as' and `ld', return
11721         the DEFAULT program if it exists.
11722         * collect2.c (main): Use DEFAULT_LINKER if it exists.
11723
11724         * gcc.c (find_a_file): The test for existence of a full
11725         pathname was reversed.
11726
11727 Mon Sep 28 17:34:35 1998  Michael Meissner  <meissner@cygnus.com>
11728
11729         * rs6000.h (ASM_OUTPUT_MI_THUNK): Only define on ELF systems.
11730         * rs6000.c (output_mi_thunk): Always use a raw jump for now.
11731
11732 Mon Sep 28 14:24:03 1998  Mark Mitchell  <mark@markmitchell.com>
11733
11734         * tree.h (TYPE_BINFO): Document.
11735
11736 Mon Sep 28 12:55:49 1998  Stan Cox  <scox@cygnus.com>
11737
11738         * i386-coff.h (dbxcoff.h): Added.
11739
11740 Mon Sep 28 12:51:00 1998  Catherine Moore  <clm@cygnus.com>
11741
11742         * toplev.c: Fix bad patch around flag_data_sections.
11743
11744 Mon Sep 28 10:32:28 1998  Nick Clifton  <nickc@cygnus.com>
11745
11746         * reload1.c (reload): Use reload_address_index_reg_class and
11747         reload_address_base_reg_class when setting
11748         caller_save_spill_class.  (Patch generated by Jim Wilson:
11749         wilson@cygnus.com).
11750
11751 Mon Sep 28 07:43:34 1998  Mark Mitchell  <mark@markmitchell.com>
11752
11753         * c-common.c (c_get_alias_set): Tighten slightly for FUNCTION_TYPEs
11754         and ARRAY_TYPEs.  Tidy up.  Improve support for type-punning.
11755         * expr.c (store_field): Add alias_set parameter.  Set the
11756         MEM_ALIAS_SET accordingly, if the target is a MEM.
11757         (expand_assignment): Use it.
11758         (store_constructor_field): Pass 0.
11759         (expand_expr): Likewise.
11760
11761 Mon Sep 28 07:54:03 1998  Catherine Moore  <clm@cygnus.com>
11762
11763         * flags.h: Add flag_data_sections.
11764         * toplev.c: Add option -fdata-sections.  Add flag_data_sections.
11765         (compile_file): Error if flag_data_sections not supported.
11766         * varasm.c (assemble_variable): Handle flag_data_sections.
11767         * config/svr4.h: Modify prefixes for UNIQUE_SECTION_NAME.
11768         * config/mips/elf.h: Likewise.
11769         * config/mips/elf64.h: Likewise.
11770         * invoke.texi: Describe -fdata-sections.
11771
11772 Mon Sep 28 04:15:44 1998  Craig Burley  <burley@melange.gnu.org>
11773
11774         * invoke.texi (-ffloat-store): Clarify that this option
11775         does not affect intermediate results -- only variables.
11776
11777 Mon Sep 28 04:11:35 1998  Jeffrey A Law  (law@cygnus.com)
11778
11779         * cpp.texi: Update for Fortran usage from Craig.
11780
11781 Fri Sep 25 22:09:47 1998  David Edelsohn  <edelsohn@gnu.org>
11782
11783         * rs6000.c (function_arg_boundary): Revert accidental change on
11784         September 18.
11785
11786 Fri Sep 25 20:30:00 1998  Michael Meissner  <meissner@cygnus.com>
11787
11788         * rs6000.h (ASM_OUTPUT_MI_THUNK): Declare, call output_mi_thunk.
11789         (output_mi_thunk): Declare.
11790
11791         * rs6000.c (output_mi_thunk): Function to create thunks for MI.
11792         (output_function_profiler): Use r12 for temp, instead of r11 so
11793         that we preserve the static chain register.
11794         
11795 Fri Sep 25 14:18:33 1998  Jim Wilson  <wilson@cygnus.com>
11796
11797         * sdbout.c (sdbout_one_type): Don't look at TYPE_BINFO field of enums.
11798
11799 Fri Sep 25 19:30:19 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11800
11801         * sh.c (gen_shl_sext): Fix case 5.
11802
11803 Fri Sep 25 17:35:23 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11804
11805         * reload1.c (reload_combine): Re-add line that got accidentally lost.
11806
11807 Fri Sep 25 10:43:47 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11808
11809         * cccp.c (pedwarn_with_file_and_line): For !__STDC__ case, avoid
11810         accessing variables until they are initialized via va_arg().
11811
11812 Thu Sep 24 22:12:16 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
11813
11814         * reload1.c (reload_combine): Initialize set before using.
11815
11816 Thu Sep 24 18:53:20 1998  Jason Merrill  <jason@yorick.cygnus.com>
11817
11818         * sdbout.c (sdbout_field_types): Don't emit the types of fields we
11819         won't be emitting.
11820
11821 Thu Sep 24 17:05:30 1998  Nick Clifton  <nickc@cygnus.com>
11822
11823         * config/arm/arm.md (insv): Add comment.  In CONST_INT case, and
11824         operand3 with mask before using it.  Patch provided by Jim Wilson.
11825
11826 Thu Sep 24 15:08:08 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
11827
11828         * config/sparc/sparc.c (function_value): Perform the equivalent of
11829         PROMOTE_MODE for ARCH64.
11830         (eligible_for_epilogue_delay): Allow DImode operations in delay
11831         slot of a return for ARCH64.
11832
11833 Thu Sep 24 22:17:54 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11834
11835         * sh.md (sqrtsf2): Fix mode of sqrt.
11836
11837 Thu Sep 24 21:48:51 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11838
11839         * reload1.c (choose_reload_regs): Also try inheritance when
11840         reload_in is a stack slot of a pseudo, even if we already got a
11841         reload reg.
11842
11843 Thu Sep 24 21:22:39 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11844
11845         * reload1.c (reload_cse_regs_1): Renamed from reload_cse_regs.
11846         (reload_cse_regs): New function body: call reload_cse_regs_1,
11847         reload_combine, reload_cse_move2add.
11848         When doing expensive_optimizations, call reload_cse_regs_1 a
11849         second time after reload_cse_move2add.
11850         (reload_combine, reload_combine_note_store): New functions.
11851         (reload_combine_note_use): New function.
11852         (reload_cse_move2add, move2add_note_store): New functions.
11853
11854 Thu Sep 24 18:48:43 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11855
11856         * reload.c (find_reloads): In code to promote RELOAD_FOR_X_ADDR_ADDR
11857         reloads to RELOAD_FOR_X_ADDRESS reloads, test for reload sharing.
11858
11859         Properly keep track of first RELOAD_FOR_X_ADDRESS also for
11860         more than 3 such reloads.
11861
11862         If there is not more than one RELOAD_FOR_X_ADDRESS, don't change
11863         RELOAD_FOR_X_ADDR_ADDR reload.
11864
11865 Thu Sep 24 17:45:55 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
11866
11867         * expr.c (store_constructor): When initializing a field that is smaller
11868         than a word, at the start of a word, try to widen it to a full word.
11869
11870         * cse.c (cse_insn): When we are about to change a register,
11871         remove any invalid references to it.
11872
11873         (remove_invalid_subreg_refs): New function.
11874         (mention_regs): Special treatment for SUBREGs.
11875         (insert_regs): Don't strip SUBREG for call to mention_regs.
11876         Check if reg_tick needs to be bumped up before that call.
11877         (lookup_as_function): Try to match known word_mode constants when
11878         looking for a norrower constant.
11879         (canon_hash): Special treatment for SUBREGs.
11880
11881 Thu Sep 24 01:35:34 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
11882
11883         * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Define.
11884         * config/sparc/sparc.c (sparc64_initialize_trampoline): If that is
11885         defined, emit libcall to __enable_execute_stack.  Also fix opcodes
11886         and offsets in actual stack trampoline code so they match the
11887         commentary and actually work.
11888
11889 Thu Sep 24 01:19:02 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
11890
11891         * configure.in (sparcv9-*-solaris): Use t-sol2 and t-sol2-64 for
11892         tmake_file.
11893         (sparc64-*-linux): Use t-linux and sparc/t-linux64 for
11894         tmake_file.  Set extra_parts to needed crt objects.
11895         * configure: Rebuilt.
11896         * config/sparc/linux64.h (SPARC_BI_ARCH): Define.
11897         (TARGET_DEFAULT): Set if default is v9 or ultra.
11898         (STARTFILE_SPEC32, STARTFILE_SPEC64): New macros.
11899         (STARTFILE_SPEC): Set to those upon SPARC_BI_ARCH.
11900         (ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_SPEC): Likewise.
11901         (SUBTARGET_EXTRA_SPECS, LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
11902         LINK_SPEC, LINK_ARCH_SPEC): Likewise.
11903         (TARGET_VERSION): Define.
11904         (MULTILIB_DEFAULT): Define.
11905         * config/sparc/sparc.h (CPP_CPU_DEFAULT_SPEC): Rearrange so that
11906         mixed 32/64 bit compilers based upon SPARC_BI_ARCH work.
11907         (CPP_CPU64_DEFAULT_SPEC, CPP_CPU32_DEFAULT_SEC): Define
11908         appropriately.
11909         (TARGET_SWITCHES): Allow ptr32/ptr64 options once more.
11910         * config/sparc/sparc.c (sparc_override_options): If arch and
11911         pointer size disagree, emit diagnostic and fix it up.  If
11912         SPARC_BI_ARCH and TARGET_ARCH32, set cmodel to CM_32.  Turn off
11913         V8PLUS in 64-bit mode.
11914         * config/sparc/t-linux64: New file.
11915         * config/sparc/t-sol2-64: New file.
11916         * config/sparc/t-sol2: Adjust build rules to use MULTILIB_CFLAGS.
11917         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Define.
11918         (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC,
11919         CPP_CPU32_DEFAULT_SPEC, CPP_CPU64_DEFAULT_SPEC): Define.
11920         (ASM_SPEC, CPP_CPU_SPEC): Set appropriately based upon those.
11921         (STARTFILE_SPEC32, STARTFILE_SPEC32, STARTFILE_ARCH_SPEC):
11922         Define.
11923         (STARTFILE_SPEC): Set appropriately based upon those.
11924         (CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Set based upon
11925         disposition of DEFAULT_ARCH32_P.
11926         (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Define.
11927         (LINK_ARCH_SPEC, LINK_ARCH_DEFAULT_SPEC): Set based upon those.
11928         (CC1_SPEC, MULTILIB_DEFAULTS): Set based upon DEFAULT_ARCH32_P.
11929         (MD_STARTFILE_PREFIX): Set correctly based upon SPARC_BI_ARCH.
11930         * config/sparc/xm-sysv4-64.h (HOST_BITS_PER_LONG): Only set on
11931         arch64/v9.
11932         * config/sparc/xm-sp64.h (HOST_BITS_PER_LONG): Likewise.
11933         
11934 Wed Sep 23 22:32:31 1998  Mark Mitchell  <mark@markmitchell.com>
11935
11936         * rtl.h (init_virtual_regs): New function.
11937         * emit-rtl.c (init_virtual_regs): Define.
11938         (insn_emit): Use it.
11939         * integrate.c (save_for_inline_copying): Likewise.
11940
11941 Wed Sep 23 16:22:01 1998  Nick Clifton  <nickc@cygnus.com>
11942
11943         * config/arm/thumb.h: The following patches were made by Jim Wilson:
11944         (enum reg_class): Add NONARG_LO_REGS support.
11945         (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS,
11946         PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
11947         (GO_IF_LEGITIMATE_ADDRESS): Disable REG+REG addresses before reload
11948         completes.  Re-enable HImode REG+OFFSET addresses.
11949         (LEGITIMIZE_RELOAD_ADDRESS): Define.
11950
11951         * expmed.c (extract_bit_field): Add comment from Jim Wilson.
11952
11953 Wed Sep 23 13:26:02 1998  Richard Henderson  <rth@cygnus.com>
11954
11955         * alpha.c (get_aligned_mem): Revert Sep 20 change.
11956         (alpha_set_memflags, alpha_set_memflags_1): Likewise.
11957         (alpha_align_insns): Properly calculate initial offset wrt max_align.
11958
11959 Wed Sep 23 10:45:44 1998  Richard Earnshaw  (rearnsha@arm.com)
11960
11961         * arm.c (find_barrier): Revert change of Apr 23.  Handle table
11962         jumps as a single entity, taking into account the size of the
11963         table.
11964
11965 Tue Sep 22 15:13:34 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
11966
11967         * tree.def (SWITCH_EXPR): New tree node definition.
11968
11969 Mon Sep 21 23:40:38 1998  Jeff Law  (law@cygnus.com)
11970
11971         * version.c: Bump for snapshot.
11972
11973 Mon Sep 21 22:31:14 1998  Jeff Law  (law@cygnus.com)
11974
11975         * version.c: Bump for snapshot.
11976
11977 Mon Sep 21 22:48:09 1998  Jeffrey A Law  (law@cygnus.com)
11978
11979         * configure.in: Recognize i[34567]86-*-openbsd* and handle it like
11980         NetBSD.
11981
11982 Mon Sep 21 22:05:28 1998  Jeffrey A Law  (law@cygnus.com)
11983
11984         * Revert this patch.
11985         * reload.c (find_reloads): Do not replace a pseudo with
11986         (MEM (reg_equiv_addr)) in the initializing insn for the
11987         pseudo.
11988
11989 Mon Sep 21 20:19:41 1998  John Carr  <jfc@mit.edu>
11990
11991         * final.c (final_scan_insn): Disable tracking CC across branches.
11992
11993 Mon Sep 21 17:15:26 1998  Andrew MacLeod  <amacleod@cygnus.com>
11994
11995         * expr.h (eh_rtime_match_libfunc): New extern declaration.
11996         * optabs.c (init_optabs): Set eh_rtime_match_libfunc.
11997         * except.c (start_catch_handler): Use eh_rtime_match_libfunc.
11998         * libgcc2.c (__eh_rtime_match): Always return 0 if the matcher is
11999         NULL. Only include <stdio.h> if inhibit_libc is not defined.
12000
12001 Mon Sep 21 14:10:51 1998  Jason Merrill  <jason@yorick.cygnus.com>
12002
12003         * toplev.c (rest_of_compilation): Skip compiling anything with
12004         DECL_EXTERNAL set, not just if it has DECL_INLINE as well.
12005
12006 Mon Sep 21 13:51:05 1998  Jim Wilson  <wilson@cygnus.com>
12007
12008         * flow.c (find_basic_blocks): Delete check for in_libcall_block when
12009         prev_code is a CALL_INSN.  Change check for REG_RETVAL note to
12010         use in_libcall_block.
12011         (find_basic_blocks_1): Delete check for in_libcall_block when prev_code
12012         is a CALL_INSN.  If CALL_INSN and in_libcall_block, then change code
12013         to INSN.
12014
12015 Mon Sep 21 14:02:23 1998  Robert Lipe  <robertl@dgii.com>
12016
12017         * i386.h (TARGET_SWITCHES): Improve doc for align-double.  Fix
12018         typo in no-fancy-math-387 description.
12019
12020 Mon Sep 21 09:27:18 1998  Jeff Law  (law@cygnus.com)
12021
12022         * version.c: Bump for snapshot.
12023
12024 Mon Sep 21 09:24:49 1998  Stan Cox  <scox@cygnus.com>
12025
12026         * i386-coff.h (DBX_DEBUGGING_INFO): Added.
12027
12028 Mon Sep 21 09:14:49 1998  Robert Lipe  <robertl@dgii.com>
12029
12030         * i386.h (TARGET_SWITCHES): Add description fields for flags
12031         documented in install.texi.
12032         (TARGET_OPTIONS): Likewise.
12033
12034 Mon Sep 21 01:39:03 1998  Jeff Law  (law@cygnus.com)
12035
12036         * version.c: Bump for snapshot.
12037
12038 Mon Sep 21 01:53:05 1998  Felix Lee  <flee@cygnus.com>
12039
12040         * c-lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT ().
12041         * cccp.c (main): Likewise.
12042
12043         * cccp.c, collect2.c, cpplib.c, gcc.c, config/i386/xm-cygwin32.h:
12044         Rename GET_ENVIRONMENT to GET_ENV_PATH_LIST, and fix some
12045         macro-use bugs.
12046
12047 Mon Sep 21 00:52:12 1998  Per Bothner  <bothner@cygnus.com>
12048
12049         * Makefile.in (LIBS): Link in libiberty.a.
12050         * c-common.c, gcc.c, toplev.c: Replace (some) bcopy calls by memcpy.
12051
12052 Sun Sep 20 23:28:11 1998  Richard Henderson  <rth@cygnus.com>
12053
12054         * reload1.c (emit_reload_insns): Accept a new arg for the bb.  Use
12055         it to update bb boundaries.  Update caller.
12056         * function.c (reposition_prologue_and_epilogue_notes): Update
12057         bb boundaries wrt the moved note.
12058
12059 Sun Sep 20 20:57:02 1998  Robert Lipe  <robertl@dgii.com>
12060         
12061         * configure.in (i*86-*-sysv5*): Use fixinc.svr4 to patch byteorder
12062         problems.
12063         * configure: Regenerate.
12064
12065 Sun Sep 20 19:01:51 1998  Richard Henderson  <rth@cygnus.com>
12066
12067         * alpha.c (alpha_sr_alias_set): New variable.
12068         (override_options): Set it.
12069         (alpha_expand_prologue, alpha_expand_epilogue): Use it.
12070         (mode_mask_operand): Fix signed-unsigned comparison warning.
12071         (alpha_expand_block_move): Likewise.
12072         (print_operand): Likewise.
12073         (get_aligned_mem): Use change_address.
12074         (alpha_set_memflags, alpha_set_memflags_1): Set the alias set.
12075         (alphaev4_insn_pipe, alphaev4_next_group): New functions.
12076         (alphaev4_next_nop, alphaev5_next_nop): New functions.
12077         (alpha_align_insns): Remade from old alphaev5_align_insns
12078         to handle multiple processors.
12079         (alpha_reorg): Call alpha_align_insns for both ev4 and ev5.
12080         * output.h (label_to_alignment): Prototype.
12081
12082         * tree.c (new_alias_set): New function.
12083         * tree.h (new_alias_set): Declare it.
12084         * c-common.c (c_get_alias_set): Use it.
12085
12086 Sun Sep 20 12:35:55 1998  Richard Henderson  <rth@cygnus.com>
12087
12088         * fold-const.c (fold): Yet another COND_EXPR bug: when folding
12089         to an ABS expr, convert an unsigned input to signed.
12090         
12091 Sun Sep 20 12:14:45 1998  Jeffrey A Law  (law@cygnus.com)
12092
12093         * fold-const.c (fold): Fix another type in COND_EXPR handling code.
12094
12095 1998-09-20  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12096
12097         * configure.in: Add support for c4x targets.
12098         * configure: Rebuilt.
12099
12100 Sun Sep 20 00:00:51 1998  Richard Henderson  <rth@cygnus.com>
12101
12102         * combine.c (distribute_notes): If an insn is a cc0 user, only
12103         delete it if we can also delete the cc0 setter.
12104
12105 Sun Sep 20 00:22:23 1998  Michael Tiemann  <michael@impact.tiemann.org>
12106
12107         * fold-const.c (fold): Fix typo in COND_EXPR handling code.
12108         (invert_truthvalue): Enable truthvalue inversion for
12109         floating-point operands if -ffast-math.
12110
12111 Sat Sep 19 23:58:07 1998  Melissa O'Neill  <oneill@cs.sfu.ca>
12112                         
12113         * configure.in: Disable collect2 for nextstep.  Instead use
12114         crtbegin/crtend.
12115         * configure: Rebuilt.
12116         * config/nextstep.h (STARTFILE_SPEC): Add crtbegin.
12117         (ENDFILE_SPEC): Define.
12118         (OBJECT_FORMAT_MACHO): Define.
12119         (EH_FRAME_SECTION_ASM_OP): Define.
12120         * crtstuff.c: Handle MACHO.
12121
12122 Sun Sep 20 00:24:24 1998  Robert Lipe  <robertl@dgii.com>
12123
12124         * config/i386/sco5.h (TARGET_MEM_FUNCTIONS): Define.
12125
12126 1998-09-19  Torbjorn Granlund  <tege@matematik.su.se>
12127
12128         * fp-bit.c (pack_d): Do not clear SIGN when fraction is 0.
12129         (_fpadd_parts): Get sign right for 0.
12130
12131 1998-09-19  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12132
12133         * ginclude/varargs.h: Add support for C4x target.
12134         * ginclude/stdargs.h: Likewise.
12135
12136 Sat Sep 19 12:05:09 1998  Richard Henderson  <rth@cygnus.com>
12137
12138         * alpha.c (alpha_return_addr): SET should be VOIDmode.
12139         (alpha_emit_set_long_const): Rewrite to be callable from reload
12140         and 32-bit hosts.
12141         (alpha_expand_epilogue): Update for alpha_emit_set_long_const.
12142         * alpha.md (movdi): Likewise.
12143
12144 Sat Sep 19 07:33:36 1998  Richard Earnshaw  (rearnsha@arm.com)
12145
12146         * arm.c (add_constant): New parameter address_only, change caller.
12147         Set it non-zero if taking the address of an item in the pool.
12148         (arm_reorg): Handle cases where we need the address of an item in
12149         the pool.
12150
12151         * arm.c (bad_signed_byte_operand): Check both arms of a sum in
12152         a memory address.
12153         * arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle
12154         memory addresses that are not in standard canonical form.
12155
12156 Sat Sep 19 01:00:32 1998  Michael Hayes  (mph@elec.canterbury.ac.nz)
12157
12158         * README.C4X: New file with information about the c4x ports.
12159         * ginclude/va-c4x.h: New file for c4x varargs support.
12160         * config/c4x: New directory with c4x port files.
12161
12162 Fri Sep 18 22:52:05 1998  Jeffrey A Law  (law@cygnus.com)
12163
12164         * reload.c (find_reloads): Do not replace a pseudo with
12165         (MEM (reg_equiv_addr)) in the initializing insn for the
12166         pseudo.
12167
12168 Fri Sep 18 23:50:56 1998  David Edelsohn  <edelsohn@gnu.org>
12169
12170         * toplev.c (rest_of_compilation): Set bct_p on second call to
12171         loop_optimize.
12172         * loop.c (loop_optimize, scan_loop, strength_reduce): New argument
12173         bct_p.
12174         (strength_reduce): Only call analyze_loop_iterations and
12175         insert_bct if bct_p set.
12176         (check_dbra_loop): Fix typo.
12177         (insert_bct): Use word_mode instead of SImode.
12178         (instrument_loop_bct): Likewise.  Do not delete iteration count
12179         condition code generation insn.  Initialize iteration count before
12180         loop start.
12181         * rtl.h (loop_optimize): Update prototype.
12182
12183         * ginclude/va-ppc.h (va_arg): longlong types in overflow area are
12184         not doubleword aligned.
12185
12186         * rs6000.c (optimization_options): New function.
12187         (secondary_reload_class): Only call true_regnum for PSEUDO_REGs.
12188         * rs6000.h (OPTIMIZATION_OPTIONS): Define.
12189         (REG_ALLOC_ORDER): Allocate highest numbered condition regsiters
12190         first; cr1 can be used for FP record condition insns.
12191
12192 Fri Sep 18 09:44:55 1998  Nick Clifton  <nickc@cygnus.com>
12193
12194         * config/m32r/m32r.h (m32r_block_immediate_operand): Add to
12195         PREDICATE_CODES.
12196
12197         * config/m32r/m32r.md: Add "movstrsi" and "movstrsi_internal"
12198         patterns.
12199
12200         * config/m32r/m32r.c (m32r_print_operand): Add 's' and 'p'
12201         operators.
12202         (block_move_call): New function: Call a library routine to copy a
12203         block of memory.
12204         (m32r_expand_block_move): New function: Expand a "movstrsi"
12205         pattern into a sequence of insns.
12206         (m32r_output_block_move): New function: Expand a
12207         "movstrsi_internal" pattern into a sequence of assembler opcodes.
12208         (m32r_block_immediate_operand): New function: Return true if the
12209         RTL is an integer constant, less than or equal to MAX_MOVE_BYTES.
12210         
12211 Thu Sep 17 16:42:16 1998  Andrew MacLeod  <amacleod@cygnus.com>
12212
12213         * except.c (start_catch_handler): Issue 'fatal' instead of 'error' and
12214         re-align some code.
12215         * libgcc2.c (__eh_rtime_match): fprintf a runtime error. Use <stdio.h>.
12216
12217 Thu Sep 17 12:24:33 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
12218
12219         * regmove.c (copy_src_to_dest): Check that modes match.
12220
12221 Wed Sep 16 22:10:42 1998  Robert Lipe  <robertl@dgii.com>
12222
12223         * config/i386/sco5.h (SUPPORTS_WEAK): True only if targeting ELF.
12224
12225 Wed Sep 16 15:24:54 1998  Richard Henderson  <rth@cygnus.com>
12226
12227         * i386.h (PREFERRED_RELOAD_CLASS): Respect an existing class
12228         narrower than FLOAT_REGS.
12229
12230 Wed Sep 16 17:51:00 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
12231
12232         * cpplib.c: Removed OLD_GPLUSPLUS_INCLUDE_DIR.
12233         * cccp.c: Likewise.
12234         * Makefile.in (old_gxx_include_dir): Removed.
12235
12236 Wed Sep 16 12:29:22 1998  Nick Clifton  <nickc@cygnus.com>
12237
12238         * config/sh/sh.h: Update definition of HANDLE_PRAGMA to match
12239         new specification.
12240
12241         * config/sh/sh.c (handle_pragma): Rename to sh_handle_pragma().
12242         (sh_handle_pragma): Change function arguments to match new
12243         specification for HANDLE_PRAGMA.
12244
12245 Wed Sep 16 12:43:19 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12246
12247         * gen-protos.c (parse_fn_proto): Cast argument of ISALNUM to
12248         `unsigned char'.
12249         (main): Mark parameter `argc' with ATTRIBUTE_UNUSED.
12250         When generating output, initialize missing struct member to zero.
12251
12252 Wed Sep 16 14:47:43 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
12253
12254         * regmove.c (copy_src_to_dest): Don't copy if that requires
12255         (a) new register(s).
12256
12257 Wed Sep 16 01:29:12 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
12258
12259         * global.c (reg_allocno): Now static.
12260         * reload1.c (reg_allocno): Delete declaration.
12261         (order_regs_for_reload): Take no arguments.  Don't treat regs
12262         allocated by global differently than those allocated by local-alloc.
12263
12264 Wed Sep 16 01:09:01 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
12265
12266         * m68k/m68k.c (output_function_prologue): Reverse NO_ADDSUB_Q
12267         condition, fix format strings.
12268         (output_function_epilogue): Likewise.
12269
12270         * m68k/m68k.c: Don't include <stdlib.h> directly.
12271
12272 Wed Sep 16 00:30:56 1998  Geoff Keating  <geoffk@ozemail.com.au>
12273
12274         * gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
12275         mem_first_set, mem_last_set; because 0 can be a CUID.
12276         (oprs_unchanged_p): Use new definition.
12277         (record_last_reg_set_info): Likewise.
12278         (record_last_mem_set_info): Likewise.
12279         (compute_hash_table): Likewise.
12280
12281 Tue Sep 15 22:59:52 1998  Jeffrey A Law  (law@cygnus.com)
12282
12283         * rs6000.c (output_epilogue): Handle Chill.
12284
12285         * mn10200.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
12286         * mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
12287
12288         * combine.c (make_extraction): If no mode is specified for
12289         an operand of insv, extv, or extzv, default it to word_mode.
12290         (simplify_comparison): Similarly.
12291         * expmed.c (store_bit_field): Similarly.
12292         (extract_bit_field): Similarly.
12293         * function.c (fixup_var_regs_1): Similarly.
12294         * recog.c (validate_replace_rtx_1): Similarly.
12295         * mips.md (extv, extzv, insv expanders): Default modes for most
12296         operands.  Handle TARGET_64BIT.
12297         (movdi_uld, movdi_usd): New patterns.
12298
12299         * pa.c (emit_move_sequence): Do not replace a pseudo with its
12300         equivalent memory location unless we have been provided a scratch
12301         register.  Similarly do not call find_replacement unless a
12302         scratch register has been provided.
12303
12304 Tue Sep 15 19:23:01 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
12305
12306         * i386.h (PREFERRED_RELOAD_CLASS): For standard 387 constants,
12307         return FLOAT_REGS.
12308
12309 Tue Sep 15 19:09:06 1998  Richard Henderson  <rth@cygnus.com>
12310
12311         * tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused.  Kill.
12312         (BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill.
12313         (BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill.
12314         (BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New.
12315         * c-decl.c (init_decl_processing): Update accordingly.
12316         * expr.c (expand_builtin): Likewise.
12317
12318         * rtl.h (global_rtl): Add cfa entry.
12319         (virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New.
12320         (LAST_VIRTUAL_REGISTER): Update.
12321         * emit-rtl.c (global_rtl): Add cfa entry.
12322         (init_emit): Initialize it.
12323         * function.c (cfa_offset): New.
12324         (instantiate_virtual_regs): Initialize it.
12325         (instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx.
12326         (expand_function_end): Call expand_eh_return.
12327         * tm.texi (ARG_POINTER_CFA_OFFSET): New.
12328
12329         * except.c (current_function_eh_stub_label): Kill.
12330         (current_function_eh_old_stub_label): Likwise; update all references.
12331         (expand_builtin_set_return_addr_reg): Kill.
12332         (expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill.
12333         (expand_builtin_set_eh_regs): Kill.
12334         (eh_regs): Produce a third reg for the actual handler address.
12335         (eh_return_context, eh_return_stack_adjust): New.
12336         (eh_return_handler, eh_return_stub_label): New.
12337         (init_eh_for_function): Initialize them.
12338         (expand_builtin_eh_return, expand_eh_return): New.
12339         * except.h: Update prototypes.
12340         * flow.c (find_basic_blocks_1): Update references to the stub label.
12341         * function.h (struct function): Kill stub label elements.
12342
12343         * libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the
12344         register number is one that would be in the previous window.
12345         Provide a dummy definition for non-windowed targets.
12346         (get_reg_addr): New function.
12347         (get_reg, put_reg, copy_reg): Use it.
12348         (__throw): Rely on in_reg_window, not INCOMING_REGNO.  Kill stub
12349         generating code and use __builtin_eh_return.  Use __builtin_dwarf_cfa.
12350
12351         * alpha.c (alpha_eh_epilogue_sp_ofs): New.
12352         (alpha_init_expanders): Initialize it.
12353         (alpha_expand_epilogue): Use it.
12354         * alpha.h: Declare it.
12355         * alpha.md (eh_epilogue): New.
12356
12357         * m68h.h (ARG_POINTER_CFA_OFFSET): New.
12358         * sparc.h (ARG_POINTER_CFA_OFFSET): New.
12359
12360 Tue Sep 15 19:31:58 1998  Michael Meissner  <meissner@cygnus.com>
12361
12362         * i960.h (CONST_COSTS): Fix thinko.  Test flag, not the constant
12363         flag bit mask.
12364
12365 Tue Sep 15 14:10:54 1998  Andrew MacLeod  <amacleod@cygnus.com>
12366
12367         * except.h (struct eh_entry): Add false_label field.
12368         (end_catch_handler): Add prototype.
12369         * except.c (push_eh_entry): Set false_label field to NULL_RTX.
12370         (start_catch_handler): When using old style exceptions, issue
12371         runtime typematch code before continuing with the handler.
12372         (end_catch_handler): New function, generates label after handler
12373         if needed by older style exceptions.
12374         (expand_start_all_catch): No need to check for new style exceptions.
12375         (output_exception_table_entry): Only output the first handler label
12376         for old style exceptions.
12377         * libgcc2.c (__eh_rtime_match): New routine to lump runtime matching
12378         mechanism into one function, if a runtime matcher is provided.
12379
12380 Tue Sep 15 13:53:59 1998  Andrew MacLeod  <amacleod@cygnus.com>
12381
12382         * config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1.
12383
12384 Tue Sep 15 09:59:01 1998  Mark Mitchell  <mark@markmitchell.com>
12385
12386         * integrate.c (copy_decl_list): Fix typo.
12387
12388 Tue Sep 15 04:18:52 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
12389
12390         * config/sparc/sparc.md (movdf_const_intreg_sp32): Fix length
12391         attribute.
12392
12393 Mon Sep 14 14:02:53 1998  Jeff Law  (law@cygnus.com)
12394
12395         * version.c: Bump for snapshot.
12396
12397 Mon Sep 14 10:33:56 1998  Jeff Law  (law@cygnus.com)
12398
12399         * version.c: Bump for snapshot.
12400
12401 Mon Sep 14 09:51:05 1998  Jeff Law  (law@cygnus.com)
12402
12403         * version.c: Bump for snapshot.
12404
12405 Sun Sep 13 22:10:18 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
12406
12407         * invoke.texi (C Dialect Options): Put back missing @end itemize.
12408
12409 Mon Sep 14 02:33:46 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
12410
12411         * configure.in: Remove usage of `!' to negate the result of a
12412         command; some common shells do not support it.
12413
12414 Sun Sep 13 19:17:35 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
12415
12416         * configure.in: In sparc9-sol2 config, use 'if test' not
12417         brackets.
12418         * configure: Rebuilt.
12419
12420         * config/sparc/sol2-sld-64.h (SPARC_DEFAULT_CMODEL): Change to
12421         CM_MEDANY.
12422         (CPP_CPU_SPEC): Do not define _LP64, header files do this.
12423         (CPP_CPU_DEFAULT_SPEC): Likewise.
12424         * config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Get the names right
12425         for arch64 libfuncs.
12426         
12427         * config/sparc/sparc.md (goto_handler_and_restore): Allow any mode
12428         for operand zero.
12429
12430 Sun Sep 13 09:11:59 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12431
12432         * acconfig.h (NEED_DECLARATION_STRSIGNAL): Provide a stub.
12433
12434         * collect2.c: Don't declare `sys_siglist' here.
12435         (my_strsignal): Prototype and define new function.  Use it in
12436         place of `sys_siglist' hacks.
12437
12438         * mips_tfile.c: Likewise.
12439
12440         * configure.in (AC_CHECK_FUNCS): Check for strsignal.
12441         (GCC_NEED_DECLARATIONS): Likewise.
12442
12443         * system.h (strsignal): Prototype it, if necessary.
12444         (sys_siglist): Declare it, if necessary.
12445
12446 Sun Sep 13 04:37:28 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
12447
12448         * loop.c (move_movables): While removing insn sequences, preserve
12449         the next pointer of the most recently deleted insn when we skip
12450         over a NOTE.
12451
12452 Sun Sep 13 08:13:39 1998  Ben Elliston  <bje@cygnus.com>
12453
12454         * objc/config-lang.in: Do not output the name of the selected
12455         thread file when building the front-end.  The Makefile for the
12456         runtime library will do this.
12457
12458         * objc/Make-lang.in: Do not build the runtime library or install
12459         the Objective C header files.  The Makefile for the runtime
12460         library will do this.
12461
12462         * objc/Makefile.in (all.indirect): Only build the front-end.
12463         (compiler): Rename to `frontend'.
12464         (obj-runtime): Remove target.
12465         (copy-headers): Likewise.
12466         (clean): No need to remove `libobjc.a' any longer.
12467
12468 Sat Sep 12 11:37:19 1998  Michael Meissner  <meissner@cygnus.com>
12469
12470         * rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
12471         supported with -mcpu=xxx.
12472
12473 Fri Sep 11 23:55:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
12474
12475         * flow.c (mark_set_1): Recognize multi-register structure return
12476         values in CALL insns.
12477         (mark_used_regs): Likewise.
12478         (count_reg_sets_1): Likewise.
12479         (count_reg_references): Likewise.
12480         * rtlanal.c (note_stores): Likewise.
12481         (reg_overlap_mentioned_p): Likewise.
12482         * haifa-sched.c (check_live_1): Likewise.
12483         (update_live_1): Likewise.
12484         (sched_analyze_1): Likewise.
12485         (sched_note_set): Likewise.
12486         (birthing_insn_p): Likewise.
12487         (attach_deaths): Likewise.
12488
12489         * config/sparc/sparc.md (movdf_const_intreg_sp64): Disable.
12490
12491 Fri Sep 11 22:57:55 1998  Eric Dumazet  <dumazet@cosmosbay.com>
12492
12493         * config/i386/sco5.h (ASM_WEAKEN_LABEL): Defined as in svr4.h.
12494
12495 Thu Sep 10 22:02:04 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
12496
12497         * glimits.h (__LONG_MAX__): Recognize __sparcv9 too.
12498
12499 Thu Sep 10 21:19:10 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
12500
12501         * configure.in: Add check for GAS subsection -1 support.
12502         * acconfig.h (HAVE_GAS_SUBSECTION_ORDERING): Add.
12503         * configure config.in: Rebuilt.
12504         * config/sparc/sparc.h (CASE_VECTOR_MODE): For V9 flag_pic, use
12505         SImode is subsection -1 works, else use DImode.
12506         (ASM_OUTPUT_ADDR_VEC_START, ASM_OUTPUT_ADDR_VEC_END): Define if
12507         subsection -1 works.
12508         * config/sparc/sparc.c (sparc_output_addr_vec,
12509         sparc_output_addr_diff_vec): Use them if defined.
12510
12511 Thu Sep 10 10:46:01 1998  Mark Mitchell  <mark@markmitchell.com>
12512
12513         * tree.h (DECL_ORIGIN): New macro.
12514         * integrate.c (copy_and_set_decl_abstract_origin): New function.
12515         (copy_decl_list): Use it.
12516         (integrate_parm_decls): Likewise.
12517         (integrate_decl_tree): Likewise.
12518         * dwarf2out.c (decl_ultimate_origin): Simplify.
12519         * dwarfout.c (decl_ultimate_origin): Likewise.
12520         * c-decl.c (duplicate_decls): Use DECL_ORIGIN.
12521         (pushdecl): Likewise.
12522
12523 Thu Sep 10 08:01:31 1998  Anthony Green  <green@cygnus.com>
12524
12525         * config/rs6000/rs6000.c (output_epilog): Add Java support.
12526
12527 Thu Sep 10 14:48:59 1998  Martin von Löwis  <loewis@informatik.hu-berlin.de>
12528
12529         * invoke.texi (C++ Dialect Options): Document -fhonor-std.
12530
12531 Thu Sep 10 01:38:05 1998  Jeffrey A Law  (law@cygnus.com)
12532
12533         * reg-stack.c (straighten_stack): Do nothing if the virtual stack is
12534         empty or has a single entry.
12535
12536         * toplev.c (rest_of_compilation): Open up the dump file for reg-stack
12537         before calling reg_to_stack.
12538
12539 Thu Sep 10 00:03:34 1998  Richard Henderson  <rth@cygnus.com>
12540
12541         * alpha.c (alphaev5_insn_pipe): Abort on default case.
12542         (alphaev5_next_group): Swallow CLOBBERs and USEs.
12543
12544         * c-tree.h (warn_long_long): Declare it.
12545
12546 Wed Sep  9 23:31:36 1998  (Stephen L Moshier)  <moshier@world.std.com>
12547
12548         * emit-rtl.c (gen_lowpart_common): Disable optimization of
12549         initialized float-int union if the value is a NaN.
12550
12551 Wed Sep  9 23:00:48 1998  Nathan Sidwell  <nathan@acm.org>
12552
12553         * c-lex.c (real_yylex): Don't warn about long long constants if
12554         we're allowing long long
12555
12556 Wed Sep  9 21:58:41 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
12557
12558         * except.h (current_function_eh_stub_label): Declare.
12559         (current_function_eh_old_stub_label): Declare.
12560         * function.h (struct function): New members eh_stub_label and
12561         eh_old_stub_label.
12562         * except.c (current_function_eh_stub_label): New variable.
12563         (current_function_eh_old_stub_label): New variable.
12564         (init_eh_for_function): Clear them.
12565         (save_eh_status): Save them.
12566         (restore_eh_status): Restore them.
12567         (expand_builtin_eh_stub): Set current_function_eh_stub_label.
12568         (expand_builtin_eh_stub_old): Set current_function_eh_old_stub_label.
12569         * flow.c (find_basic_blocks_1): When handling a REG_LABEL note, don't
12570         make an edge from the block that contains it to the block starting
12571         with the label if this label is one of the eh stub labels.
12572         If eh stub labels exist, show they are reachable from the last block
12573         in the function.
12574
12575         * reload1.c (reload): Break out several subroutines and make some
12576         variables global.
12577         (calculate_needs_all_insns): New function, broken out of reload.
12578         (calculate_needs): Likewise.
12579         (find_reload_regs): Likewise.
12580         (find_group): Likewise.
12581         (find_tworeg_group): Likewise.
12582         (something_needs_reloads): New global variable, formerly in reload.
12583         (something_needs_elimination): Likewise.
12584         (caller_save_spill_class): Likewise.
12585         (caller_save_group_size): Likewise.
12586         (max_needs): Likewise.
12587         (group_size): Likewise.
12588         (max_groups): Likewise.
12589         (max_nongroups): Likewise.
12590         (group_mode): Likewise.
12591         (max_needs_insn): Likewise.
12592         (max_groups_insn): Likewise.
12593         (max_nongroups_insn): Likewise.
12594         (failure): Likewise.
12595
12596         * print-rtl.c (print_rtx): For MEMs, print MEM_ALIAS_SET.
12597
12598 Wed Sep  9 13:14:41 1998  Richard Henderson  <rth@cygnus.com>
12599
12600         * loop.c (load_mems): Copy rtx for output mem.
12601
12602 Wed Sep  9 15:16:58 1998  Gavin Romig-Koch  <gavin@cygnus.com>
12603
12604         * mips/abi64.h (LONG_MAX_SPEC): Don't set LONG_MAX for
12605         mips1 or mips2 either.
12606
12607 Wed Sep  9 12:31:35 1998  Jeffrey A Law  (law@cygnus.com)
12608
12609         * pa.c (pa_reorg): New marking scheme for jumps inside switch
12610         tables.
12611         (pa_adjust_insn_length): Update to work with new marking scheme
12612         for jumps inside switch tables.
12613         * pa.md (switch_jump): Remove pattern.
12614         (jump): Handle jumps inside jump tables.
12615
12616         * Makefile.in (profile.o): Depend on insn-config.h
12617
12618 Wed Sep  9 09:36:51 1998  Jim Wilson  <wilson@cygnus.com>
12619
12620         * iris6.h (DWARF2_UNWIND_INFO): Undef.
12621
12622 Wed Sep  9 01:32:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
12623
12624         Add preliminary native sparcv9 Solaris support.
12625         * configure.in: Recognize sparv9-*-solaris2*
12626         * configure: Rebuilt.
12627         * config.sub: Recognize sparcv9 just like sparc64.
12628         * config/sparc/sol2-c1.asm config/sparc/sol2-ci.asm
12629         config/sparc/sol2-cn.asm: Macroize so it can be shared between
12630         32-bit and 64-bit Solaris systems.
12631         * config/sparc/t-sol2: Assemble those with cpp.
12632         * config/sparc/sparc.h (TARGET_CPU_sparcv9): New alias for v9.
12633         (*TF*_LIBCALL): If ARCH64 use V9 names.
12634         * config/sparc/{xm-sysv4-64,sol2-sld-64}.h: New files.
12635
12636 Wed Sep  9 01:07:30 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
12637
12638         * config/sparc/sparc.h (TARGET_CM_MEDMID): Fix documentation.
12639         (CASE_VECTOR_MODE): Set to SImode even if PTR64, when MEDLOW and
12640         not doing pic.
12641         (ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT): Check CASE_VECTOR_MODE not
12642         Pmode.
12643         * config/sparc/sparc.md (tablejump): Likewise, and sign extend op0
12644         to Pmode if CASE_VECTOR_MODE is something else.
12645
12646 Wed Sep  9 00:10:31 1998  Jeffrey A Law  (law@cygnus.com)
12647
12648         * prefix.c (update_path): Correctly handle cases where PATH is
12649         a substring of the builtin prefix, but specifies a different
12650         directory location.
12651
12652 Tue Sep  8 23:46:04 1998  Hans-Peter Nilsson  <hp@axis.se>
12653
12654         * expr.c: Corrected comment about what MOVE_RATIO does.
12655         * config/alpha/alpha.h: Likewise.
12656         * config/1750a/1750a.h: Likewise.
12657         * config/clipper/clipper.h: Likewise.
12658         * config/i386/i386.h: Likewise.
12659
12660 Tue Sep  8 22:56:12 1998  Jeffrey A Law  (law@cygnus.com)
12661
12662         * configure.in (m68k-next-nextstep3*): Use collect2.
12663         Similarly for x86 NeXT configurations.
12664         * configure: Rebuilt.
12665
12666 Tue Sep  8 01:38:57 1998  Nathan Sidwell  <nathan@acm.org>
12667
12668         * configure.in: Don't assume srcdir is .../gcc.
12669         * configure: Rebuilt.
12670
12671 Sat Sep  5 16:34:34 1998  John Wehle  (john@feith.com)
12672
12673         * global.c: Update comments.
12674         (global_alloc): Assign allocation-numbers
12675         even for registers allocated by local_alloc in case
12676         they are later spilled and retry_global_alloc is called.
12677         (mark_reg_store, mark_reg_clobber,
12678         mark_reg_conflicts, mark_reg_death): Always record a
12679         conflict with a pseudo register even if it has been
12680         assigned to a hard register.
12681         (dump_conflicts): Don't list pseudo registers already assigned to
12682         a hard register as needing to be allocated, but do list their
12683         conflicts.
12684         * local-alloc.c: Update comment.
12685
12686 Mon Sep  7 23:38:01 1998  Jeffrey A Law  (law@cygnus.com)
12687
12688         * configure.in: Check for bogus GCC_EXEC_PREFIX and LIBRARY_PATH.
12689         * configure: Rebuilt.
12690
12691 Mon Sep  7 22:41:46 1998  Michael Meissner  <meissner@cygnus.com>
12692
12693         * rs6000.c (rs6000_override_options): Fix name for ec603e, to add
12694         missing 'c'.
12695         * t-ppccomm (MULTILIB_MATCHES_FLOAT): Add support for -mcpu=xxx
12696         for all targets that set -msoft-float.
12697
12698 Mon Sep  7 23:30:07 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12699
12700         * toplev.c (print_switch_values): Make static to match prototype.
12701
12702 Mon Sep  7 19:13:59 1998  Jeffrey A Law  (law@cygnus.com)
12703
12704         * configure.in: If we are unable to find the "gnatbind" program,
12705         then do not configure the ada subdir.
12706         * configure: Rebuilt.
12707
12708 Sun Sep  6 14:03:58 1998  Jeff Law  (law@cygnus.com)
12709
12710         * version.c: Bump for snapshot.
12711
12712 Sun Sep  6 13:28:07 1998  Jeff Law  (law@cygnus.com)
12713
12714         * version.c: Bump for snapshot.
12715
12716 Sun Sep  6 08:54:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12717
12718         * Makefile.in (toplev.o): Depend on $(EXPR_H).
12719         (insn-extract.o, insn-attrtab.o): Depend on toplev.h.
12720
12721         * gansidecl.h: Define ATTRIBUTE_NORETURN.
12722
12723         * genattrtab.c: Have insn-attrtab.c include toplev.h.
12724
12725         * genextract.c: Have insn-extract.c include toplev.h.
12726
12727         * rtl.h: Don't prototype `fatal_insn_not_found' and `fatal_insn'.
12728
12729         * toplev.c: Include expr.h.
12730         (really_sorry, fancy_abort): Remove prototypes.
12731         (set_target_switch): Add argument in prototype.
12732         (vfatal): Mark prototype with ATTRIBUTE_NORETURN.
12733         (v_really_sorry): Likewise.
12734         (print_version, print_single_switch, print_switch_values): Make
12735         static and add prototype arguments.
12736         (decl_printable_name): Add prototype arguments.
12737         (lang_expand_expr_t): New typedef.
12738         (lang_expand_expr): Declare as a lang_expand_expr_t.
12739         (incomplete_decl_finalize_hook): Add prototype argument.
12740         (decl_name): Mark variable `verbosity' with ATTRIBUTE_UNUSED.
12741         (botch): Likewise for variable `s'.
12742         (rest_of_type_compilation): Mark variables `type' and `toplev'
12743         with ATTRIBUTE_UNUSED if none of DBX_DEBUGGING_INFO,
12744         XCOFF_DEBUGGING_INFO or SDB_DEBUGGING_INFO are defined.
12745         (display_help): Make variable `i' an `unsigned long'.
12746         (main): Remove unused parameter `envp'.
12747         Cast assignment to `lang_expand_expr' to a `lang_expand_expr_t'.
12748         Cast -1 when comparing it with a `size_t'.
12749
12750         * toplev.h (fatal, fatal_io_error, pfatal_with_name): Mark
12751         prototype with ATTRIBUTE_NORETURN.
12752         (fatal_insn_not_found, fatal_insn, really_sorry,
12753         push_float_handler, pop_float_handler): Add prototypes.
12754         (fancy_abort): Mark prototype with ATTRIBUTE_NORETURN.
12755         (do_abort, botch): Add prototypes.
12756         
12757 Sat Sep  6 12:05:18 1998  John Carr  <jfc@mit.edu>
12758
12759         * final.c (final): If a label is reached only from a single jump,
12760         call NOTICE_UPDATE_CC on the jump and its predecessor before
12761         emitting the insn after the label.
12762         
12763         * i386.h: Add AMD K6 support.
12764         Change TARGET_* macros to use table lookup.
12765         (INITIALIZE_TRAMPOLINE): Improve trampoline code.
12766         (ADJUST_COST): Change definition to call function in i386.c.
12767         (ISSUE_RATE): Define as 2 for anything newer than an 80486.
12768         * i386.c: Add AMD K6 support.
12769         Add constants for feature tests used by TARGET_* macros.
12770         (split_di): If before reload, call gen_lowpart and gen_highpart.
12771         (x86_adjust_cost): New function.
12772         (put_jump_code): New function.
12773         (print_operand): New codes 'D' and 'd'.
12774         * i386.md: New insn types.  New insn attribute "memory".
12775         Redefine scheduling parameters to use new types and add AMD K6
12776         support.  Explicitly set type of most insns.
12777         (move insns): K6 prefers movl $0,reg to xorl reg,reg.  Pentium
12778         Pro and K6 prefer movl $1,reg to incl reg.
12779         (adddi3, subdi3): Set cc_status.
12780         (DImode shift patterns): Change label counters from HOST_WIDE_INT
12781         to int; x86 can't have more than 2^31 DImode shifts per file.
12782         (setcc): Combine all setcc patterns.  Allow writing memory.
12783         Combine all jump patterns using match_operator.
12784         (*bzero): Name pattern.  Emit multiple stos instructions when that
12785         is faster than rep stos.
12786         (xordi3, anddi3, iordi3): Simplify DImode logical patterns and
12787         add define_split.
12788
12789 Sun Sep  6 11:17:20 1998  Dave Love  <d.love@dl.ac.uk>
12790
12791         * config/m68k/x-next (BOOT_LDFLAGS): Define suitably for f771
12792         linking.
12793
12794 Sat Sep  5 22:05:25 1998  Richard Henderson  <rth@cygnus.com>
12795
12796         * alpha.c (alpha_ra_ever_killed): Inspect the topmost sequence,
12797         not whatever we're generating now.
12798
12799         * alpha.c (set_frame_related_p, FRP): New.
12800         (alpha_expand_prologue): Mark frame related insns.
12801         (alpha_expand_epilogue): Likewise, but with a null FRP.
12802         * alpha.h (INCOMING_RETURN_ADDR_RTX): New.
12803         * alpha.md (exception_receiver): New.
12804         * alpha/crtbegin.asm (.eh_frame): New beginning.
12805         (__do_frame_setup, __do_frame_takedown): New.
12806         * alpha/crtend.asm (.eh_frame): New ending.
12807         * alpha/elf.h (DWARF2_DEBUGGING_INFO): Define.
12808         (ASM_SPEC): Don't emit both dwarf2 and mdebug.
12809         (ASM_FILE_START): Don't emit .file for dwarf2.
12810
12811         * rtl.h (enum reg_note): Add REG_FRAME_RELATED_EXPR.
12812         * rtl.c (reg_note_name): Likewise.
12813         * rtl.texi (REG_NOTES): Likewise.
12814         * dwarf2out.c (dwarf2out_frame_debug): Use it.  Recognize a store
12815         without an offset.
12816
12817 Sat Sep  5 14:47:17 1998  Richard Henderson  <rth@cygnus.com>
12818
12819         * i386.h (PREFERRED_RELOAD_CLASS): Standard fp constants load to TOS.
12820         * i386.md (movsf, movdf, movxf): Validate memory address returned
12821         from force_const_mem.  Kill useless REG_EQUAL setting code.
12822
12823 Sat Sep  5 14:23:31 1998  Torbjorn Granlund  <tege@matematik.su.se>
12824
12825         * m68k.md (zero_extendsidi2): Fix typo.
12826
12827 Sat Sep  5 13:40:24 1998  Krister Walfridsson  <cato@df.lth.se>
12828
12829         * configure.in: Removed references to the removed file.
12830         * config/xm-netbsd.h: Use ${cpu_type}/xm-netbsd.h for
12831         arm*-*-netbsd* and ns32k-*-netbsd*.
12832         * config/i386/xm-netbsd.h: Removed unnecessary file.
12833         * config/m68k/xm-netbsd.h: Likewise.
12834         * config/sparc/xm-netbsd.h: Likewise.
12835         * config/mips/xm-netbsd.h: Likewise.
12836
12837 Sat Aug 29 13:32:58 1998  Mumit Khan  <khan@xraylith.wisc.edu>
12838
12839         * i386/cygwin32.h (BIGGEST_ALIGNMENT): Define.
12840         (PCC_BITFIELD_TYPE_MATTERS): Define to be 0.
12841
12842         * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't check for
12843         for exact section attributions.
12844
12845         * i386/mingw32.h (CPP_PREDEFINES): Add __MSVCRT__ for msvc
12846         runtime.
12847         * i386/crtdll.h (CPP_PREDEFINES): Define.
12848
12849 Sat Sep  5 03:23:05 1998  Jeffrey A Law  (law@cygnus.com)
12850
12851         * m68k.md (5200 movqi): Do not allow byte sized memory references
12852         using address regs.
12853         * m68k.c (output_move_qimode): Do not use byte sized operations on
12854         address registers.
12855
12856         * Makefile.in (pexecute.o): Use pexecute.c from libiberty.  Provide
12857         explicit rules for building.  Similarly for alloca, vfprintf,
12858         choose-temp and mkstemp, getopt, getopt1, and obstack.
12859         (INCLUDES): Add $(srcdir)/../include.
12860         * pexecute.c, alloca.c, vfprintf.c, choose-temp.c, mkstemp.c: Delete.
12861         * getopt.h, getopt.c getopt1.c, obstack.c, obstack.h: Likewise.
12862
12863 Fri Sep  4 11:57:50 1998  Tom Tromey  <tromey@cygnus.com>
12864
12865         * gcc.c (do_spec_1): [case 'o'] Account for
12866         lang_specific_extra_outfiles.
12867         (main): Correctly clear all slots in outfiles for
12868         lang_specific_extra_outfiles.  Set input_file_number before
12869         calling lang_specific_pre_link.
12870
12871 Fri Sep  4 10:37:07 1998  Jim Wilson  <wilson@cygnus.com>
12872
12873         * loop.c (load_mems): Fix JUMP_LABEL field after for_each_rtx call.
12874
12875 Fri Sep  4 02:01:05 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
12876
12877         * config/sparc/sparc.c (output_double_int): In all V9 symbolic
12878         cases, use xword.
12879         (sparc_output_deferred_case_vectors): If no work to do, return.
12880         Fix thinko in Sept 1 change.
12881
12882 1998-09-03  SL Baur  <steve@altair.xemacs.org>
12883
12884         * Makefile.in: Add semicolon in BISON definition for portability.
12885
12886 Thu Sep  3 13:34:41 1998  Toon Moene  <toon@moene.indiv.nluug.nl>
12887
12888         * config/nextstep.c (handle_pragma): Correct name of third
12889         argument.
12890
12891 Tue Sep  1 11:30:33 1998  Nick Clifton  <nickc@cygnus.com>
12892
12893         * config/m32r/m32r.md: Change (reg:CC 17) to (reg:SI 17).
12894         * config/m32r/m32r.h: Make register 17 be fixed.
12895         * config/m32r/m32r.c: Use SImode for cc operations.
12896
12897 Thu Sep  3 18:17:34 1998  Benjamin Kosnik  <bkoz@cygnus.com>
12898
12899         * invoke.texi (Warning Options): Add -Wnon-template-friend
12900         documentation.
12901
12902 Thu Sep  3 18:16:16 1998  Michael Meissner  <meissner@cygnus.com>
12903
12904         * rs6000.c (rs6000_override_options): Add -mcpu={401,e603e}.
12905
12906 Thu Sep  3 18:05:16 1998  David Edelsohn  <edelsohn@gnu.org>
12907
12908         * rs6000.md (movsf): Disable explicit secondary-reload-like
12909         functionality if TARGET_POWERPC64.
12910         (movdf): Remove TARGET_POWERPC64 explicit secondary-reload-like
12911         functionality.
12912
12913 Thu Sep  3 11:41:40 1998  Robert Lipe  <robertl@dgii.com>
12914
12915         * fixinc.sco: Borrow code to wrap 'bool' typedefs from tinfo.h
12916         and term.h from fixinc.wrap.
12917
12918 Thu Sep  3 09:47:31 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12919
12920         * aclocal.m4 (GCC_HEADER_STRING): New macro to detect if it is
12921         safe to include both string.h and strings.h together.
12922         (GCC_NEED_DECLARATION): Test STRING_WITH_STRINGS when deciding
12923         which headers to search for function declarations.  Continue to
12924         prefer string.h over strings.h when both are not acceptable.
12925
12926         * acconfig.h (STRING_WITH_STRINGS): Add stub.
12927
12928         * configure.in: Call GCC_HEADER_STRING.
12929
12930         * system.h: Test STRING_WITH_STRINGS when deciding which headers
12931         to include.  Continue to prefer string.h over strings.h when both
12932         are not acceptable.
12933
12934 Wed Sep  2 23:56:29 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
12935
12936         * config/sparc/sparc.c (output_double_int): If V9 and MEDLOW, do
12937         not assume top 32-bits of symbolic addresses are zero if
12938         flag_pic.
12939
12940 Thu Sep  3 00:23:21 1998  Richard Henderson  <rth@cygnus.com>
12941
12942         * ginclude/va-alpha.h: Protect entire second portion of the
12943         file against double inclusion.
12944
12945 Thu Sep  3 00:37:55 1998  Ovidiu Predescu  <ovidiu@aracnet.com>
12946
12947         Added support for the Boehm's garbage collector.
12948         * configure.in: Handle --enable-objc-gc.
12949         * configure: Rebuilt.
12950         * Makefile.in (CHECK_TARGETS): Add check-objc.
12951         (check-objc): New rule.
12952         * objc/Make-lang.in: Build a different Objective-C library that
12953         runs with the Boehm's collector.
12954         * objc/encoding.c (objc_round_acc_size_for_types): New function.
12955         * objc/encoding.c: Correctly compute the size of compound types in
12956         the presence of bitfields. Skip the variable name of the type if
12957         any. Added support for long long.
12958         * objc/encoding.h (_C_GCINVISIBLE): New specifier.
12959         (_F_GCINVISIBLE): New mask.
12960         * objc/gc.c: New file. Compute the type memory mask associated with
12961         a class based on the runtime information.
12962         * objc/misc.c: Added the hooks that use the Boehm's collector
12963         allocation functions.
12964         * objc/objc-act.c (build_class_template): Generate a new class
12965         member (gc_object_type) to hold the class' type memory mask.
12966         (build_shared_structure_initializer): Initialize the new member to
12967         NULL.
12968         (encode_complete_bitfield): New function. Generate the new
12969         encoding.
12970         (encode_field_decl): Generate the new encoding only for the GNU
12971         runtime.
12972         * objc/objc-api.h (_C_LNG_LNG, _C_ULNG_LNG): New specifiers for the
12973         long long types.
12974         (class_get_gc_object_type): New function to mark a pointer instance
12975         variable as a weak pointer.
12976         * objc/objc-features.texi: New file.
12977         * objc/objc.h (gc_object_type): New class member.
12978         * objc/objects.c (class_create_instance): Create a typed memory
12979         object when compiled with Boehm's collector support.
12980         * objc/sendmsg.c (__objc_init_install_dtable): Call
12981         __objc_send_initialize instead of setting the initialize flag.
12982         (__objc_send_initialize): Call __objc_generate_gc_type_description
12983         to generate the class type memory mask. Rewrite the code that
12984         sends the +initialize so that it is called only once (bug report
12985         and fix from Ronald Pijnacker <Ronald.Pijnacker@best.ms.philips.com>).
12986         * testsuite/objc: New testsuite for Objective-C type encoding.
12987         * testsuite/lib/objc-torture.exp: New file.
12988         * testsuite/lib/objc.exp: New file.
12989
12990 Wed Sep  2 14:47:36 1998  Jim Wilson  <wilson@cygnus.com>
12991
12992         * jump.c (jump_optimize): In if/then/else transformations, add
12993         another call to modified_between_p for the jump insn.
12994
12995 Wed Sep  2 14:16:49 1998  Jeffrey A Law  (law@cygnus.com)
12996
12997         * fix-header.c (symlink): Treat like readlink.
12998
12999 Wed Sep  2 19:30:06 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
13000
13001         * dwarfout.c (fundamental_type_code): Encode 32 bit floats/doubles
13002         as FT_float.
13003
13004 Wed Sep  2 10:06:07 1998  Nick Clifton  <nickc@cygnus.com>
13005
13006         * config/nextstep.h:    Update HANDLE_PRAGMA macro.
13007         * config/h8300/h8300.h: Update HANDLE_PRAGMA macro.
13008         * config/i960/i960.h:   Update HANDLE_PRAGMA macro.
13009         
13010         * config/nextstep.c (handle_pragma): Take three arguments, as per
13011         the new HANDLE_PRAGMA macro specification.
13012         * config/h8300/h8300.c (handle_pragma): Take three arguments, as
13013         per the new HANDLE_PRAGMA macro specification.
13014         * config/i960/i960.c (process_pragma): Take three arguments, as
13015         per the new HANDLE_PRAGMA macro specification.
13016
13017 Wed Sep  2 09:25:29 1998  Nick Clifton  <nickc@cygnus.com>
13018
13019         * c-lex.c (check_newline): Call HANDLE_PRAGMA before
13020         HANDLE_SYSV_PRAGMA if both are defined.  Generate warning messages
13021         if unknown pragmas are encountered.
13022         (handle_sysv_pragma): Interpret return code from
13023         handle_pragma_token ().  Return success/failure indication rather
13024         than next unprocessed character.
13025         (pragma_getc): New function: retrieves characters from the
13026         input stream.  Defined when HANDLE_PRAGMA is enabled.
13027         (pragma_ungetc): New function: replaces characters back into the
13028         input stream.  Defined when HANDLE_PRAGMA is enabled.
13029         
13030         * c-pragma.c (handle_pragma_token): Return success/failure status
13031         of the parse.
13032         
13033         * c-pragma.h: Change prototype of handle_pragma_token().
13034
13035         * varasm.c (handle_pragma_weak): Only create this function if
13036         HANDLE_PRAGMA_WEAK is defined.
13037
13038         * c-common,c (decl_attributes): If defined call the expression
13039         contained within the INSERT_ATTRIBUTES macro before adding
13040         attributes to a decl.
13041
13042         * tm.texi (HANDLE_PRAGMA): Document the new version of
13043         HANDLE_PRAGMA, which takes three arguments.
13044         (INSERT_ATTRIBUTES): Document this new macro.
13045
13046         * LANGUAGES: Document the new version of HANDLE_PRAGMA and the
13047         new INSERT_ATTRIBUTES macro.
13048
13049 Wed Sep  2 02:03:23 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13050
13051         * config/sparc/sparc.md (movdf): Only generate special RTL for
13052         LABEL_REFs when PIC.
13053         (move_label_di): Remove.
13054         (movdi_pic_label_ref, movdi_high_pic_label_ref,
13055         movdi_lo_sum_pic_label_ref): New patterns for 64-bit label
13056         references when PIC.
13057         * config/sparc/sparc.h (ASM_OUTPUT_ADDR_VEC_ELT,
13058         ASM_OUTPUT_ADDR_DIFF_ELT): Don't do anything special for MEDLOW,
13059         output an .xword for all 64-bit cases.
13060         
13061 Tue Sep  1 15:55:17 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13062
13063         * config/sparc/sparc.c (finalize_pic): Don't output arbitrary
13064         alignment, use FUNCTION_BOUNDARY instead.
13065         (sparc_output_deferred_case_vectors): Likewise.
13066
13067 Mon Aug 31 17:25:41 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13068
13069         * config/sparc/sparc.md (movsf_const_intreg): Kill warning.
13070         (movtf_insn_sp64, movtf_no_e_insn_sp64): Reorder alternatives.
13071
13072 Mon Aug 31 13:57:55 1998  Richard Henderson  <rth@cygnus.com>
13073
13074         * alpha/va_list.h: New file.
13075         * alpha/x-alpha (EXTRA_HEADERS): New.  Add va_list.h.
13076
13077 Mon Aug 31 14:55:02 1998  Jeffrey A Law  (law@cygnus.com)
13078
13079         * NEWS: Add SCO Openserver and Unixware 7 notes.
13080
13081         * NEWS: Fix typos.
13082
13083 Mon Aug 31 15:42:18 1998  Dave Brolley  <brolley@cygnus.com>
13084
13085         * varasm.c (compare_constant_1): Handle RANGE_EXPR.
13086         (record_constant_1): Handle RANGE_EXPR.
13087
13088 Mon Aug 31 10:54:03 1998  Richard Henderson  <rth@cygnus.com>
13089
13090         * print-rtl.c (print_rtx): NOTE_INSN_LIVE has an rtx not a bitmap.
13091         * haifa-sched.c (sched_analyze): Handle NOTE_INSN_RANGE_START
13092         and NOTE_INSN_RANGE_END specially.
13093         (reemit_notes): Likewise.
13094
13095 Mon Aug 31 10:18:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13096
13097         * sparc.c (TMASK, UMASK): Use `(unsigned)1' not `1U'.
13098         (ultrasparc_sched_init): Remove unneeded &.
13099
13100 Mon Aug 31 10:47:16 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
13101
13102         * config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040
13103         for m68020-60, to prevent the use of fintrz.
13104
13105 Sun Aug 30 22:17:20 1998  Mark Mitchell  <mark@markmitchell.com>
13106
13107         * configure.in: If the native compiler is GCC use $(WARN_CFLAGS)
13108         even in stage1.
13109         * Makefile.in: Likewise.
13110         * configure: Regenerated.
13111
13112 Sun Aug 30 22:15:41 1998  H.J. Lu  (hjl@gnu.org)
13113
13114         * configure.in (gxx_include_dir): Changed to
13115         '${prefix}/include/g++'-${libstdcxx_interface}.
13116         * configure: Rebuilt.
13117
13118 Sun Aug 30 20:19:43 1998  Hans-Peter Nilsson  <hp@axis.se>
13119
13120         * expr.c (expand_expr): Change ">" to ">=" making MOVE_RATIO use
13121         consistent.
13122         * tm.texi (Costs): Say MOVE_RATIO is number of mem-mem move
13123         *sequences* *below* which scalar moves will be used.
13124
13125 Sun Aug 30 17:18:43 1998  Jeffrey A Law  (law@cygnus.com)
13126
13127         * collect2.c (mktemp): Delete unused declaration.
13128
13129         * config/xm-netbsd.h: Remove unnecessary file.
13130         * config/*/xm-netbsd.h: Do not include the generic xm-netbsd.h
13131         file anymore, it is not needed.
13132
13133 Sun Aug 30 16:05:45 1998  Mark Mitchell  <mark@markmitchell.com>
13134
13135         * convert.c (convert_to_integer): Issue an error on conversions to
13136         incomplete types.
13137
13138 Sun Aug 30 16:47:20 1998  Martin von Lvwis  <loewis@informatik.hu-berlin.de>
13139
13140         * Makefile.in: Add lang_tree_files and gencheck.h.
13141         * configure.in: Generate them.
13142         * gencheck.c: Include gencheck.h.
13143
13144 Sat Aug 29 21:38:24 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13145
13146         * config/sparc/sparc.md (pic_lo_sum_di, pic_sethi_di): Rename to
13147         movdi_lo_sum_pic and movdi_high_pic and make visible.
13148         * config/sparc/sparc.c (legitimize_pic_address): For -fPIC,
13149         emit these when Pmode is not SImode.
13150         * config/sparc/linux64.h (SPARC_DEFAULT_CMODEL): Make CM_MEDLOW.
13151
13152 Sat Aug 29 14:59:32 1998  Mumit Khan  <khan@xraylith.wisc.edu>
13153
13154         * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit
13155         .linkonce directive after the first time.
13156
13157 Sat Aug 29 12:39:56 1998  Jeffrey A Law  (law@cygnus.com)
13158
13159         * m68k.md (beq0_di): Generate correct (and more efficient) code when
13160         the clobbered operand overlaps with an input.
13161         (bne0_di): Similarly.
13162
13163         * Makefile.in (INSTALL): Remove "--no-header" argument.
13164
13165         * NEWS: Various updates.
13166
13167 Fri Aug 28 19:00:44 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13168
13169         * config/sparc/sparc.c (arith_operand, const64_operand,
13170         const64_high_operand, arith_double_4096_operand): Mark mode as
13171         unused.
13172         (create_simple_focus_bits): Remove unused arg highest_bit_set, all
13173         callers changed.
13174         (sparc_emit_set_const64): Remove unused variable i.
13175         (sparc_splitdi_legitimate): Likewise for addr_part.
13176         (ultra_code_from_mask): Likewise for mask.
13177         (ultra_cmove_results_ready_p): Fixup entry modulo calc. and
13178         reverse return values so it matches usage and comments.
13179         (ultra_flush_pipeline): Likewise.
13180         (ultra_fpmode_conflict_exists): Likewise, remove unused variable
13181         this_type, and allow loads and stores of differing FP modes as
13182         they do not create a conflict.
13183         (ultra_find_type): Initialize fpmode to SFmode, fix
13184         parenthesization thinkos in large conditional.
13185         (ultrasparc_sched_init): Mark dump and sched_verbose as unused.
13186         Init free_slot_mask after ultra_cur_hist is reset, not before.
13187         (ultrasparc_rescan_pipeline_state): Remove unused variable ucode.
13188         (ultrasparc_sched_reorder): Don't bzero current pipeline state,
13189         use ultra_flush_pipeline instead, then re-init group pointer.
13190         Fix statement with no effect.  If no progress made in, and no
13191         instructions scheduled at all, advance to new pipeline cycle else
13192         we get into an endless loop.
13193         (ultrasparc_adjust_cost): Remove previous arg.
13194         * config/sparc/sparc.h (ADJUST_COST): Update to reflect that.
13195         
13196 Fri Aug 28 13:52:35 1998  Jim Wilson  <wilson@cygnus.com>
13197
13198         * sparc.md (DImode, DFmode, TFmode splits): Delete self_reference
13199         code.  Use reg_overlap_mentioned_p to detect when source and
13200         destination overlap.
13201         (negtf2_notv9+1): Use DFmode instead of SFmode in last two operands.
13202
13203 1998-08-28  Brendan Kehoe  <brendan@cygnus.com>
13204
13205         * loop.c (check_dbra_loop): Pass COMPARISON_VALUE, not
13206         COMPARISON_VAL, into invariant_p.
13207
13208 Fri Aug 28 15:13:25 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
13209
13210         * regmove.c (regclass_compatible_p): New function.
13211         (regmove_optimize): Use it.
13212
13213         Use NREGS parameter instead of calling max_reg_num.
13214
13215         (fixup_match_1): Don't use code = MINUS when later tieing with
13216         a hard register is likely.
13217
13218 Fri Aug 28 14:54:07 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
13219
13220         * loop.c (check_dbra_loop): Fix calculation of FINAL_VALUE when
13221         COMPARISON_VAL was normalized.
13222
13223 Thu Aug 27 20:10:46 1998  Jeffrey A Law  (law@cygnus.com)
13224
13225         * loop.c (check_dbra_loop): The loop ending comparison value
13226         must be an invariant or we can not reverse the loop.
13227
13228         * loop.c (scan_loop): Count down from max_reg_num - 1 to
13229         FIRST_PSEUDO_REGISTER to avoid calling max_reg_num each iteration
13230         of the loop.
13231         (load_mems_and_recount_loop_regs_set): Likewise.
13232
13233         * i386.c (print_operand): Remove obsolete 'c' docs.
13234
13235 Wed Aug 26 17:13:37 1998  Tom Tromey  <tromey@cygnus.com>
13236
13237         * gthr.h: Document __GTHREAD_MUTEX_INIT_FUNCTION.
13238         * frame.c (init_object_mutex): New function.
13239         (init_object_mutex_once): Likewise.
13240         (find_fde): Call it.
13241         (__register_frame_info): Likewise.
13242         (__register_frame_info_table): Likewise.
13243         (__deregister_frame_info): Likewise.
13244
13245 Thu Aug 27 15:14:18 1998  Jeffrey A Law  (law@cygnus.com)
13246
13247         * haifa-sched.c (sched_analyze_insn): Fix thinko in last change.
13248
13249 Thu Aug 27 16:34:51 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
13250
13251         * loop.c (check_dbra_loop): Enable code for reversal
13252         of some loops without a known constant loop end.
13253
13254 Wed Aug 26 18:38:15 1998  Richard Henderson  <rth@cygnus.com>
13255
13256         * haifa-sched.c (last_clock_var): New.
13257         (schedule_block): Initialize it.
13258         (schedule_insn): Use it to fill insn modes with issue information.
13259
13260         * alpha.c (alpha_handle_trap_shadows): Remove do-nothing exit.
13261         Tag trapb and next insn with TImode.
13262         (alphaev5_insn_pipe, alphaev5_next_group, alphaev5_align_insns): New.
13263         (alpha_reorg): Add conditional for alpha_handle_trap_shadows.
13264         Invoke alphaev5_align_insns as appropriate.
13265         * alpha.h (LABEL_ALIGN_AFTER_BARRIER): Was ALIGN_LABEL_AFTER_BARRIER.
13266         (MD_SCHED_VARIABLE_ISSUE): New.
13267         * alpha.md (attr type): Add multi.
13268         (define_asm_attributes): New.
13269         (prologue_stack_probe_loop, builtin_setjmp_receiver): Set type multi.
13270         (arg_home): Likewise.
13271         (fnop, unop, realign): New.
13272
13273 Wed Aug 26 15:55:41 1998  Jim Wilson  <wilson@cygnus.com>
13274
13275         * iris5.h (PREFERRED_DEBUGGING_TYPE): Undef.
13276         * iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
13277
13278         * configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
13279         (rs6000-ibm-aix4.[12]*): Likewise.
13280         * configure: Regenerate.
13281
13282 Wed Aug 26 09:30:59 1998  Nick Clifton  <nickc@cygnus.com>
13283
13284         * config/arm/thumb.c (thumb_exit): Do not move a4 into lr if it
13285         already contains the return address.
13286
13287 Wed Aug 26 12:57:09 1998  Jeffrey A Law  (law@cygnus.com)
13288
13289         * calls.c (expand_call): Use bitfield instructions to extract/deposit
13290         word sized hunks when loading unaligned args into registers.
13291
13292         * haifa-sched.c (sched_analyze_insn): Only create scheduling
13293         barriers for LOOP, EH and SETJMP notes on the loop_notes list.
13294
13295         * mn10300.h (RTX_COSTS): Handle UDIV and UMOD too.
13296
13297 Wed Aug 26 16:35:37 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
13298
13299         * loop.c (check_dbra_loop): Add some code that would allow reversal
13300         of some loops without a known constant loop end if it were enabled.
13301
13302 Wed Aug 26 11:08:44 1998  Gavin Romig-Koch  <gavin@cygnus.com>
13303
13304         * mips.md (lshrsi3_internal2+2): Fix type-o.
13305
13306 Wed Aug 26 10:53:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13307
13308         * system.h: Include stdarg.h/varargs.h, make sure they are ordered
13309         correctly with regards to stdio.h.
13310         
13311         * calls.c: Remove stdarg.h/varargs.h.
13312         * cccp.c: Likewise.
13313         * cexp.y: Likewise.
13314         * combine.c: Likewise.
13315         * cpperror.c: Likewise.
13316         * cpplib.c: Likewise.
13317         * cpplib.h: Likewise.
13318         * doprint.c: Likewise.
13319         * emit-rtl.c: Likewise.
13320         * final.c: Likewise.
13321         * fix-header.c: Likewise.
13322         * gcc.c: Likewise.
13323         * genattr.c: Likewise.
13324         * genattrtab.c: Likewise.
13325         * gencodes.c: Likewise.
13326         * genconfig.c: Likewise.
13327         * genemit.c: Likewise.
13328         * genextract.c: Likewise.
13329         * genflags.c: Likewise.
13330         * genopinit.c: Likewise.
13331         * genoutput.c: Likewise.
13332         * genpeep.c: Likewise.
13333         * genrecog.c: Likewise.
13334         * mips-tfile.c: Likewise.
13335         * prefix.c: Likewise.
13336         * protoize.c: Likewise.
13337         * regmove.c: Likewise.
13338         * toplev.c: Likewise.
13339         * tree.c: Likewise.
13340
13341 Wed Aug 26 05:09:27 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
13342
13343         * config/sparc/sparc.c (sparc_override_options): If not
13344         TARGET_FPU, turn off TARGET_VIS.
13345         * config/sparc/sparc.h (TARGET_SWITCHES): Add no-vis.
13346         (LEGITIMATE_CONSTANT_P): Allow SF/DF mode zero when TARGET_VIS.
13347         * config/sparc/sparc.md (movsi_insn): Use fzeros not fzero.
13348         (movdi_insn_sp64): Add VIS fzero alternative.
13349         (clear_sf, clear_df): New VIS patterns.
13350         (movsf, movdf expanders): Allow fp_zero_operand flat out when
13351         TARGET_VIS.
13352         (one_cmpldi2_sp64): Provide new fnot1 VIS alternative.
13353         
13354 Tue Aug 25 10:57:41 1998  Mark Mitchell  <mark@markmitchell.com>
13355
13356         * loop.c (n_times_set, n_times_used, may_not_optimize,
13357         reg_single_usage): Convert to varrays.  All uses changed.
13358         (insert_loop_mem): Return a value.
13359         (scan_loop): Tweak AVOID_CC_MODE_COPIES code.
13360         (load_mems_and_recount_loop_regs_set): Likewise.  Grow the arrays, if
13361         necessary.
13362
13363 Tue Aug 25 23:57:12 1998  Jeffrey A Law  (law@cygnus.com)
13364
13365         * From Alexandre:
13366         * configure.in: Do not set thread_file to "irix" since no such
13367         support exists yet.
13368
13369         * sparc.md (float abs/neg splits): Check reload_completed before
13370         calling alter_subreg.
13371
13372 Tue Aug 25 19:17:59 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13373
13374         * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): New
13375         function.
13376         * config/sparc/sparc.h: Declare it.
13377         * config/sparc/sparc.md (float abs/neg splits): Use it.
13378         (all other splits): Handle SUBREGs properly where necessary.
13379         (unnamed (1<<x)-1 V8PLUS pattern): Disable for now.
13380
13381 Tue Aug 25 19:48:46 1998  Jeffrey A Law  (law@cygnus.com)
13382
13383         * reorg.c (fill_simple_delay_slots): Do not abort if we encounter
13384         an insn on the unfilled_slots_list that has no delay slots.
13385         (fill_eager_delay_slots): Similarly.
13386
13387 Tue Aug 25 13:35:20 1998  Nick Clifton  <nickc@cygnus.com>
13388
13389         * config/v850/v850.c (movsi_source_operand): Treat CONSTANT_P_RTX
13390         as an ordinary operand.
13391
13392 Tue Aug 25 12:54:57 1998  Jason Merrill  <jason@yorick.cygnus.com>
13393
13394         * tree.c (valid_machine_attribute): Don't apply attributes to both
13395         decl and type.
13396
13397 Tue Aug 25 12:23:20 1998  Richard Henderson  <rth@cygnus.com>
13398
13399         * reload.c (operands_match_p): Handle rtvecs.
13400
13401         * i386.c (legitimate_pic_address_disp_p): New.
13402         (legitimate_address_p): Use it.
13403         (legitimize_pic_address): Use unspecs to represent @GOT and @GOTOFF.
13404         Handle constant pool symbols just like statics.
13405         (emit_pic_move): Use Pmode not SImode for clarity.
13406         (output_pic_addr_const) [SYMBOL_REF]: Remove @GOT and @GOTOFF hacks.
13407         [UNSPEC]: New, handling what we killed above.
13408         [PLUS]: Detect and abort on invalid symbol arithmetic.
13409         * i386.h (CONSTANT_ADDRESS_P): Remove HIGH.
13410
13411 Tue Aug 25 12:02:23 1998  Mark Mitchell  <mark@markmitchell.com>
13412
13413         * alias.c: Include output.h.
13414         (DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as
13415         different if we're in a varargs function.
13416         * Makefile.in (alias.o): Depend on output.h
13417         
13418 Tue Aug 25 19:20:12 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
13419
13420         * sh.h (GIV_SORT_CRITERION): Delete.
13421
13422 Tue Aug 25 13:19:46 1998  Dave Brolley  <brolley@cygnus.com>
13423
13424         * regclass.c (regclass): Use xmalloc/free instead of alloca.
13425         * stupid.c (stupid_life_analysis): Likewise.
13426         * reload1.c (reload): Likewise.
13427
13428 Tue Aug 25 05:48:18 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
13429
13430         * config/sparc/sparc.c (arith_4096_operand, arith_add_operand,
13431         arith_double_4096_operand, arith_double_add_operand): New
13432         predicates.
13433         * config/sparc/sparc.h (PREDICATE_CODES): Add them, declare them.
13434         * config/sparc/sparc.md (adddi3, addsi3, subdi3, subsi3): Use
13435         them to transform add/sub 4096 into add/sub -4096.
13436
13437 Mon Aug 24 23:31:03 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13438
13439         * loop.c (scan_loop): Allocate some slop to handle pseudos
13440         generated by move_movables.
13441         (load_mems_and_recount_loop_regs_set): Honor AVOID_CC_MODE_COPIES
13442         here too.
13443
13444 Mon Aug 24 19:45:40 1998  Jim Wilson  <wilson@cygnus.com>
13445
13446         * tree.def (DECL_RESULT): Correct documentation.
13447
13448 Tue Aug 25 01:15:27 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
13449
13450         * reload1.c (reload_reg_free_before_p): New argument EQUIV;  Changed
13451         all callers.  Abort for RELOAD_FOR_INSN.  RELOAD_FOR_OUTADDR_ADDR:
13452         conflicts will all RELOAD_FOR_OUTPUT reloads.
13453
13454         * reload1.c (reload_cse_regs_1): When deleting a no-op move that
13455         loads the function result, substitute with a USE.
13456
13457 Mon Aug 24 15:20:19 1998  David Edelsohn  <edelsohn@gnu.org>
13458
13459         * rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64
13460         when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode.
13461         (LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup.
13462         * rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4.
13463         (print_operand, cases 'O' and 'T'): Fix typos in lossage strings.
13464         * rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT
13465         operand.
13466         (movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
13467         'o' to 'm' for GPR variant constraints.
13468
13469 Mon Aug 24 10:25:46 1998  Jeffrey A Law  (law@cygnus.com)
13470
13471         * loop.c (scan_loop): Honor AVOID_CC_MODE_COPIES.
13472
13473         * h8300.h (STRIP_NAME_ENCODING): Fix typo.
13474
13475         * sparc.md (TFmode splits): Use reg_overlap_mentioned_p to detect
13476         when the source and destination overlap.
13477
13478         * stmt.c (emit_case_nodes): Change rtx_function to rtx_fn to avoid
13479         clash with global type.
13480
13481 Mon Aug 24 00:53:53 1998  Jason Merrill  <jason@yorick.cygnus.com>
13482
13483         * fixinc.irix: Add curses.h handling from fixinc.wrap.
13484
13485         * c-common.c (combine_strings): Also set TREE_READONLY.
13486         Change warn_write_strings to flag_const_strings.
13487         * c-decl.c, c-tree.h: Likewise.
13488
13489 Sun Aug 23 18:39:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13490
13491         * config/sparc/sparc.c (sparc_emit_set_const32): If outputting a
13492         CONST_INT, not a symbolic reference, don't use a HIGH/LO_SUM
13493         sequence, use SET/IOR instead so CSE can see it.
13494         * config/sparc/sparc.md (movhi_const64_special,
13495         movsi_const64_special): New patterns necessitated by that change.
13496         (movhi_high): Remove.
13497         (movhi_lo_sum): Change to match an IOR.
13498         (movdf_insn_sp32): Test TARGET_V9 not TARGET_ARCH64.
13499         (movdf_insn_v9only): New pattern for when V9 but not ARCH64.
13500         (movdf_insn_sp64): Test both TARGET_V9 and TARGET_ARCH64.
13501         (movdf splits): Allow when not V9 or when not ARCH64 and integer
13502         registers are involved.
13503         (snesi_zero_extend split): Remove reload_completed test.
13504         (unnamed plus and minus zero_extend sidi splits): Add it.
13505
13506 Sun Aug 23 11:56:08 1998  Mark Mitchell  <mark@markmitchell.com>
13507
13508         * extend.texi: Remove description of extension to explicit
13509         instantiation that is now endorsed by standard C++.
13510
13511 Sun Aug 23 09:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13512
13513         * config/arc/arc.c (arc_initialize_pic): Remove.
13514         * config/arc/arc.h (INITIALIZE_PIC): Similarly, this routine does
13515         nothing on any platform and is invoked by no-one, it does not even
13516         appear in the documentation.
13517         * config/sparc/sparc.h (INITIALIZE_PIC): Likewise.
13518         * config/sparc/sparc.c (initialize_pic): Likewise.
13519         (find_addr_reg): Remove this as well, no longer referenced after
13520         my rewrite.
13521
13522 Sun Aug 23 00:17:14 1998  Jeffrey A Law  (law@cygnus.com)
13523
13524         * recog.c (validate_replace_rtx_group): New function.
13525         * recog.h (validate_replace_rtx_group): Declare it.
13526         * regmove.c (optimize_reg_copy_3): If any substitution fails, then undo
13527         the entire group of substitutions.
13528
13529 Sat Aug 22 23:31:00 1998  Klaus-Georg Adams  (Klaus-Georg.Adams@chemie.uni-karlsruhe.de)
13530
13531         * loop.c (load_mems): Fix initializers.
13532
13533 Fri Aug 21 23:07:46 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13534
13535         * config/sparc/sparc.md (TFmode splits): Handle destination
13536         registers being referenced in the address correctly.
13537
13538         * expmed.c (make_tree) [CONST_INT]: Sign extend even if
13539         TREE_UNSIGNED, when bitsize of type's mode is larger than
13540         HOST_BITS_PER_WIDE_INT.
13541
13542 Fri Aug 21 19:31:31 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
13543
13544         * tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes.
13545         * tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
13546         EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New
13547         macros.
13548         * expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and
13549         EXIT_BLOCK_EXPR.
13550
13551 Thu Aug 20 19:43:44 1998  Jeffrey A Law  (law@cygnus.com)
13552
13553         * h8300.c (h8300_encode_label): Use '&' for tiny data items.
13554         * h8300.h (TINY_DATA_NAME_P): Likewise.
13555         (STRIP_NAME_ENCODING): Handle '&'.
13556
13557         * mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the
13558         register (it could be accessed via an outer SUBREG).
13559         (REG_OK_FOR_BASE_P): Likewise.
13560         (GO_IF_LEGITIMATE_ADDRESS): Consistently use REGNO_OK_FOR_BASE_P.
13561
13562         * remove.c (optimize_reg_copy_3): Abort instead of silently generating
13563         bogus rtl.
13564
13565         * jump.c (rtx_renumbered_equal_p): Do not consider PLUS commutative.
13566
13567 Thu Aug 20 17:35:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13568
13569         * config/sparc/sparc.md (movtf_insn_sp32): All memory operands
13570         must be offsettable so the splits can be made.
13571
13572 Thu Aug 20 13:56:53 1998  Michael Meissner  <meissner@cygnus.com>
13573
13574         * config/i386/winnt.c: Include system.h, not stdio.h to get
13575         sys/param.h pulled in before rtl.h in case the system defines MIN
13576         and MAX.
13577
13578 Thu Aug 20 13:44:20 1998  David Edelsohn  <edelsohn@gnu.org>
13579
13580         * rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.
13581
13582 Thu Aug 20 13:15:11 1998  Dave Brolley  <brolley@cygnus.com>
13583
13584         * stor-layout.c (layout_type): Compute TYPE_SIZE_UNIT correctly for
13585         arrays of bits.
13586         * cpplib.c (cpp_define): Handle macros with parameters.
13587
13588 Wed Aug 19 21:33:19 1998  David Edelsohn  <edelsohn@gnu.org>
13589
13590         * rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
13591         (output_toc): Use single TOC slot or llong minimal-toc for DFmode
13592         and DImode 64-bit.  Use llong for minimal-toc SFmode and
13593         SYMBOL_REF / LABEL_REF 64-bit.
13594         (output_function_profiler): Use llong for profiler label and ld to
13595         load 64-bit label address.
13596
13597 Wed Aug 19 17:52:27 1998  Nick Clifton  (nickc@cygnus.com)
13598
13599         * config/arm/thumb.md (extendqisi2_insn): Cope with REG +
13600         OFFSET addressing.
13601
13602 Wed Aug 19 14:13:31 1998  Jeff Law  (law@cygnus.com)
13603
13604         * version.c: Bump for snapshot.
13605
13606 Wed Aug 19 13:10:30 1998  Jeff Law  (law@cygnus.com)
13607
13608         * version.c: Bump for snapshot.
13609
13610 Wed Aug 19 13:06:47 1998  Jason Merrill  <jason@yorick.cygnus.com>
13611
13612         * collect2.c (extract_init_priority): Use atoi instead of strtoul.
13613
13614 Wed Aug 19 13:51:35 1998  Hans-Peter Nilsson  <hp@axis.se>
13615
13616         * tm.texi (Misc): Fix typo "teh".
13617
13618         * tm.texi (PIC): Fix typo "PPIC".
13619
13620         * tm.texi (Caller Saves): Say that DEFAULT_CALLER_SAVES has no
13621         effect when -O2 and higher.
13622         * invoke.texi (Optimize Options): Likewise for -fcaller-saves.
13623
13624 1998-08-19  Michael Hayes  <michaelh@ongaonga.chch.cri.nz>
13625
13626         * regclass.c: Changed register set documentation to be consistent
13627         with GCC behavior.
13628
13629         * final.c (final_start_function): Removed redundant test for
13630         call_fixed_regs.
13631
13632 Wed Aug 19 13:28:41 1998  Mark Mitchell  <mark@markmitchell.com>
13633
13634         * rtl.h (rtx_function): New type.
13635         (for_each_rtx): New function.
13636         * rtlanal.c (for_each_rtx): Define it.
13637         
13638         * recog.c (change_t): New type.
13639         (change_objects, change_old_codes, change_locs, change_olds):
13640         Replace with ...
13641         (changes): New variable.
13642         (validate_change): Dynamically allocate room for more changes, if
13643         necessary.  Uses changes array instead of change_objects, etc.
13644         (apply_change_group): Use changes array instead of
13645         change_objects, etc.
13646         
13647         * loop.c (loop_mem_info): New type.
13648         (loop_mems): New variable.
13649         (loop_mems_idx): Likewise.
13650         (looop_mems_allocated): Likewise.
13651         (scan_loop): Remove nregs parameter.
13652         (next_insn_in_loop): New function.
13653         (load_mems_and_recount_loop_regs_set): Likewise.
13654         (load_mems): Likewise.
13655         (insert_loop_mem): Likewise.
13656         (replace_loop_mem): Likewise.
13657         (replace_label): Likewise.
13658         (INSN_IN_RANGE_P): New macro.
13659         (loop_optimize): Don't pass max_reg_num() to scan_loop.
13660         (scan_loop): Remove nregs parameter, compute it after any new
13661         registers are created by load_mems.  Use INSN_IN_RANGE_P and
13662         next_insn_in_loop rather than expanding them inline.  Call
13663         load_mems to load memory into pseudos, if appropriate.
13664         (prescan_loop): Figure out whether or not there are jumps from the
13665         loop to targets other than the label immediately following the
13666         loop.  Call insert_loop_mem to notice all the MEMs used in the
13667         loop, if it could be safe to pull MEMs into REGs for the duration
13668         of the loop.
13669         (strength_reduce): Use next_insn_in_loop.  Tweak comments.
13670
13671 Wed Aug 19 08:29:44 1998  Richard Earnshaw  (rearnsha@arm.com)
13672
13673         * arm.c (arm_override_options): Remove lie about ignoring PIC flag.
13674
13675 Wed Aug 19 07:08:15 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13676
13677         * config/sparc/sparc.c (finalize_pic): Check for the correct
13678         nonlocal_goto_receiver UNSPEC number.
13679         * config/sparc/sparc.md (nonlocal_goto_receiver): Add comment
13680         making note of this dependency existing in sparc.c.
13681         (negtf2_notv9 split): Give NEG SFmode.
13682         (negsf2): Fix insn output string.
13683         
13684 Tue Aug 18 12:40:27 1998  Richard Henderson  <rth@cygnus.com>
13685
13686         * c-common.c (decl_attributes): Issue an error if the argument
13687         to alias is not a string.
13688
13689 Tue Aug 18 10:33:30 1998  Jeffrey A Law  (law@cygnus.com)
13690
13691         * haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
13692         pending memory flush list.
13693
13694         * combine.c (can_combine_p): Allow combining insns with REG_RETVAL
13695         notes.
13696         (try_combine): Allow combining insns with REG_LIBCALL notes.
13697
13698         * expr.c (emit_block_move): Do not call memcpy as a libcall
13699         instead build up a CALL_EXPR and call it like any other
13700         function.
13701         (clear_storage): Similarly for memset.
13702
13703         * regmove.c (fixup_match_2): Do not call reg_overlap_mentioned_p
13704         on notes.
13705
13706         * Makefile.in (cplus-dem.o): Provide explicit rules for building
13707         cplus-dem.o.
13708
13709         * regmove.c (optimize_reg_copy_1): Update REG_N_CALLS_CROSSED
13710         and REG_LIVE_LENGTH as successful substitutions are made.
13711
13712 Tue Aug 18 07:15:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13713
13714         * config/sparc/sparc.c (ultra_find_type): Add empty semicolon
13715         statement after end of loop label.
13716
13717 Tue Aug 18 07:13:27 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13718
13719         * config/sparc/sparc.c (ultra_types_avail): New variable.
13720         (ultra_build_types_avail): New function to record mask of insn
13721         types in ready list at this cycle.
13722         (ultrasparc_sched_reorder): Call it.
13723         (ultra_find_type): Use it to quicken the search.  Also simplif
13724         dependency check, don't use rtx_equal_p because we know exactly
13725         what we are looking for.
13726
13727 Tue Aug 18 03:20:53 1998  Richard Earnshaw  (rearnsha@arm.com)
13728
13729         * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling
13730         for architecture v4.
13731
13732 Mon Aug 17 21:26:38 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13733
13734         * config/sparc/sparc.md (sltu, sgeu): Don't FAIL, call
13735         gen_compare_reg.
13736         (movsf_const_intreg, movsf_const_high, movsf_const_lo,
13737         movdf_const_intreg and helper splits): New patterns to move float
13738         constants into integer registers.
13739         (negtf2, negdf2, abstf2, absdf2): Rework using new patterns and
13740         splits.
13741
13742 Mon Aug 17 11:46:19 1998  Jeffrey A Law  (law@cygnus.com)
13743
13744         * From Graham
13745         * tree.c (build_index_type): Copy TYPE_SIZE_UNIT from sizetype
13746         to itype.
13747         * c-decl.c (finish_enum): Copy TYPE_SIZ_UNIT from enumtype to tem.
13748
13749         * rs6000.c (secondary_reload_class): For TARGET_ELF, indicate that
13750         a BASE_REGS register is needed as an intermediate when copying
13751         a symbolic value into any register class other than BASE_REGS.
13752
13753         * expr.c (move_by_pieces): No longer static.  Remove prototype.
13754         * rtl.h (move_by_pieces): Add extern prototype.
13755         * mips.c (expand_block_move): Handle aligned straight line copy by
13756         calling move_by_pieces.
13757
13758         * expr.c (expand_expr): Allow assignments from TImode PARM_DECLs
13759         and VAR_DECLs.
13760
13761 Mon Aug 17 10:28:52 1998  Mark Mitchell  <mark@markmitchell.com>
13762
13763         * stmt.c (expand_end_loop): Tidy.  Allow unconditional
13764         jumps out of the loop to be treated as part of the exit test.
13765
13766 Mon Aug 17 10:06:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13767                           Jeff Law  <law@cygnus.com>
13768
13769         * Makefile.in (cplus-dep.o): Use cplus-dem.c from libiberty.
13770         * cplus-dem.c: Delete.
13771
13772         * Makefile.in (fold-const.o): Depend on $(RTL_H).
13773
13774         * fold-const.c: Include rtl.h to get the prototype for
13775         `set_identifier_local_value'.
13776
13777         * loop.c (express_from_1): Remove unused variable `tmp'.
13778         (combine_givs): Cast the first argument of bzero to char *.
13779
13780         * toplev.c (display_help): Remove unused variable `looking_for_start'.
13781
13782         * c-decl.c (init_decl_processing): Remove unneeded &.
13783
13784         * alpha.h (alpha_initialize_trampoline): Provide prototype.
13785         
13786         * except.c (set_exception_lang_code, set_exception_version_code):
13787         Change parameter from `short' to `int' to avoid using a gcc
13788         extension.
13789
13790         * except.h (set_exception_lang_code, set_exception_version_code):
13791         Likewise for prototypes.
13792
13793         * flow.c (count_reg_references): Remove unused variables `regno'
13794         and `i'.
13795
13796         * gcse.c (hash_scan_insn): Declare parameter `in_libcall_block'.
13797
13798         * prefix.c (translate_name): Cast the result of `alloca'.
13799
13800         * varray.h (VARRAY_FREE): Reimplement as a `do-while(0)' statement.
13801
13802 Mon Aug 17 09:23:42 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
13803
13804         * config/m68k/m68k.c: Include "system.h" instead of <stdio.h>.
13805         Include "toplev.h".
13806         (valid_dbcc_comparison_p): Mark mode argument as unused.
13807         (symbolic_operand): Likewise.
13808         (legitimize_pic_address): Likewise.
13809         (const_uint32_operand): Likewise.
13810         (const_sint32_operand): Likewise.
13811         * sched.c [!INSN_SCHEDULING]: Define only dummy function
13812         schedule_insns and comment out rest of file.
13813
13814         * m68k.c (output_move_simode_const): Use subl to move a zero into an
13815         address register.
13816         (output_move_[hq]imode): Likewise.
13817
13818 Mon Aug 17 09:15:47 1998  Jeffrey A Law  (law@cygnus.com)
13819
13820         * toplev.c (main): Enable -fstrict-aliasing for -O2 and above.
13821         * invoke.texi: Corresponding changes.
13822
13823 Mon Aug 17 02:03:55 1998  Richard Henderson  <rth@cygnus.com>
13824
13825         * regclass.c (allocate_reg_info): Respect MIN when clearing data.
13826
13827 Sun Aug 16 17:37:06 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13828
13829         * config/sparc/sparc.c (ultra_code_from_mask,
13830         ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
13831         ultra_find_type, ultra_schedule_insn, ultra_flush_pipeline,
13832         ultrasparc_sched_init, ultrasparc_variable_issue,
13833         ultra_rescan_pipeline_state, ultrasparc_sched_reorder): New
13834         functions to describe UltraSPARC pipeline exactly to Haifa.
13835         (ultrasparc_adjust_cost): Indicate IMUL type insns have zero cost,
13836         as there is nothing the scheduler can do about it.  Indicate that
13837         REG_DEP_OUTPUT's collide.  Fixup formatting.
13838         * config/sparc/sparc.h (RTX_COSTS): Fixup integer multiply and
13839         divide costs on Ultra for DImode.
13840         (MD_SCHED_INIT, MD_SCHED_REORDER, MD_SCHED_VARIABLE_ISSUE):
13841         Define.
13842         * config/sparc/sparc.md (ieu_unnamed function unit): Rename to
13843         ieuN and add call_no_delay_slot to type list.
13844         (cti function unit): New unit for branches on UltraSPARC.
13845         (subx/addx insns): Set type to misc.
13846         (sidi zero/sign extension insns on arch64): Set type to shift.
13847         (sign_extendhidi2_insn): Set type to sload.
13848
13849 Sun Aug 16 13:52:00 1998  David Edelsohn  <edelsohn@gnu.org>
13850
13851         * rs6000.c (rs6000_stack_info): Use if == 0 for sizes.
13852         (output_epilog): Use if != 0 for offset.
13853         (rs6000_fatal_bad_address): Prepare for Intl.
13854         * rs6000.h (rs6000_fatal_bad_address): Declare.
13855         * rs6000.md (movsfcc, movdfcc): Use else if.
13856         (elf_high): Use {liu|lis}.
13857         (elf_low): Use {cal|la}.  Remove %a template from old mnemonics.
13858         (movsi): Use rs6000_fatal_bad_address.
13859         
13860 Sun Aug 16 01:53:21 1998  Richard Henderson  <rth@cygnus.com>
13861
13862         * reload.c (find_equiv_reg): Reject equivalences separated
13863         by a volatile instruction.
13864
13865 Sun Aug 16 00:21:44 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13866
13867         * rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define.
13868
13869 Sat Aug 15 20:51:35 1998  Richard Henderson  <rth@cygnus.com>
13870
13871         * alpha.md (movsicc): Fix mode mismatch.
13872
13873 Sat Aug 15 20:22:33 1998  H.J. Lu  (hjl@gnu.org)
13874
13875         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated
13876         return type.
13877         * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
13878
13879 Sat Aug 15 08:39:49 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13880
13881         * config/sparc/sparc.md (movsi_lo_sum_pic_label_reg): Remove
13882         write-only modifier from operand 1 constraint.
13883
13884 Sat Aug 15 06:28:19 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13885
13886         * config/sparc/sparc.c (sparc_emit_set_const64_quick1): If
13887         emitting a XOR of -1 at the end, emit a NOT instead for combine's
13888         sake.
13889         (sparc_emit_set_const64): Likewise, also when computing trailing
13890         bits do not negate low_bits and make fast_int an int.
13891
13892 Fri Aug 14 21:07:03 1998  Jeffrey A Law  (law@cygnus.com)
13893
13894         * loop.c (add_label_notes): Do not ignore references to labels
13895         before dispatch tables.  Mirrors Apr 8 change to mark_jump_label.
13896         * gcse.c (add_label_notes): Similarly.
13897
13898         * pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding.
13899
13900         * m68k.md (adddi_dilshr32): One of the operands must be a register.
13901         (adddi_dishl32): Similarly.
13902
13903 Fri Aug 14 14:12:59 1998  Jason Merrill  <jason@yorick.cygnus.com>
13904
13905         * i386.h (MODES_TIEABLE_P): Reorganize to shut up warnings.
13906         * alias.c (memrefs_conflict_p): Add braces to shut up warnings.
13907         * cse.c (cse_basic_block): Add parens to shut up warnings.
13908
13909 Fri Aug 14 12:58:21 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13910
13911         * config/sparc/sparc.c (sparc_emit_set_const64_quick2,
13912         sparc_emit_set_const64_longway, const64_is_2insns,
13913         create_simple_focus_bits, sparc_emit_set_const64): Fix more bugs
13914         in 64-bit constant formation.
13915         * config/sparc/sparc.md (snesi_zero_extend split): Generate
13916         rtl for addx not subx.
13917         (define_insn movdi_const64_special): Make available even when
13918         HOST_BITS_PER_WIDE_INT is not 64.
13919         (movdi_lo_sum_sp64_cint, movdi_high_sp64_cint): Remove.
13920         (losum_di_medlow, sethm, setlo): Make op2 symbolic_operand.
13921         (cmp_siqi_trunc_set, cmp_diqi_trunc_set): Encapsulate both
13922         instances of operand 1 inside a QI subreg.
13923         (xordi3_sp64_dbl): Remove '%' constraint for op1.
13924         (one_cmpldi2_sp64): Fix output string.
13925         (one_cmplsi2_not_liveg0): Rewrite to remove unneeded extra
13926         alternative case.
13927         (unnamed arch64 ashift DI): Truncate shift count if greater than
13928         63, not 31.
13929
13930 Fri Aug 14 21:52:53 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
13931
13932         * expr.c (store_expr): Don't optimize away load-store pair
13933         when either source or destination have a side effect.
13934
13935 Fri Aug 14 16:50:10 1998  John Carr  <jfc@mit.edu>
13936
13937         * genrecog.c (add_to_sequence): Fatal error if the modes of the
13938         operands of SET are incompatible.
13939
13940         * alpha.md: Fix max and min patterns so modes of SET operands match.
13941
13942 Fri Aug 14 12:22:55 1998  Ian Lance Taylor  <ian@cygnus.com>
13943
13944         * configure.in: Avoid [[ by using test and changequote.
13945         * configure: Rebuild.
13946
13947 Fri Aug 14 01:22:31 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13948
13949         * rtl.def (CONSTANT_P_RTX): Fix typo in string name.
13950
13951         * config/sparc/sparc.md (seqdi_special_trunc, snedi_special_trunc,
13952         seqsi_special_extend, snesi_special_extend, snesi_zero_extend and
13953         split, snedi_zero_trunc and split, seqsi_zero_extend and split,
13954         seqdi_zero_trunc and split, pic_lo_sum_di, pic_sethi_di,
13955         movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc, addx_extend_sp32 and
13956         split, addx_extend_sp64, subx_extend_sp64, subx_extend and split):
13957         Fix mismatching modes in SET operands.
13958         (conditional move patterns): Fix formatting.
13959         (unnamed subx arch64 pattern): Remove duplicate insn.
13960         
13961 Fri Aug 14 00:34:34 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
13962
13963         * config/sparc/sparc.c (const64_operand, const64_high_operand):
13964         Get it right when HOST_BITS_PER_WIDE_INT is not 64.
13965         (input_operand): Fixup test for what we accept for constant
13966         integers.
13967         (sparc_emit_set_const32, sparc_emit_set_symbolic_const64): Give
13968         set VOIDmode.
13969         (safe_constDI): Remove.
13970         (sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
13971         gen_safe_XOR64): New functions.
13972         (sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2,
13973         sparc_emit_set_const64_longway, sparc_emit_set_const64): Use
13974         them.
13975         * config/sparc/sparc.md (define_insn xordi3_sp64_dbl): Only make
13976         available when HOST_BITS_PER_WIDE_INT is not 64.
13977         (define_insn movdi_sp64_dbl, movdi_const64_special): Likewise and
13978         move before movdi_insn_sp64 pattern.
13979         (define_insn movdi_lo_sum_sp64_dbl, movdi_high_sp64_dbl): Remove.
13980         (define_insn sethi_di_medlow, seth44, setm44, sethh): Use
13981         symbolic_operand as predicate for second operand.
13982         (DImode minus split on arch32, negsi2 expander, one_cmplsi2
13983         expander): Give set VOIDmode.
13984         
13985 Fri Aug 14 01:45:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>
13986
13987         * i386/cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define.
13988
13989 Fri Aug 14 01:40:21 1998  Geoffrey Keating  <geoffk@ozemail.com.au>
13990
13991         * rs6000/linux.h (LINK_SPEC): Pass -G args to the linker.
13992
13993 Fri Aug 14 01:23:23 1998  Richard Earnshaw  (rearnsha@arm.com)
13994
13995         * arm/netbsd.h (TARGET_DEFAULT): Default includes software floating
13996         point.
13997         (CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly.
13998
13999 Fri Aug 14 01:19:08 1998  Robert Lipe  <robertl@dgii.com>
14000
14001         * install.texi: Various SCO OpenServer tweaks.
14002
14003 Thu Aug 13 20:14:40 1998  Jim Wilson  <wilson@cygnus.com>
14004
14005         * reload1.c (eliminate_regs_in_insn): Handle another case when
14006         eliminating the frame pointer to the hard frame pointer.  Add
14007         missing ep->to_rtx check to one existing case.
14008
14009         * mips/mips.md (movhi_internal2+2): Fix typo mem:SI -> mem:HI.
14010
14011 Thu Aug 13 17:08:11 1998  Jason Merrill  <jason@yorick.cygnus.com>
14012
14013         * tree.h: De-conditionalize init_priority code.
14014
14015         * mips.h (NM_FLAGS): Change from -Bp to -Bn.
14016         * collect2.c (NM_FLAGS): Change from -p to -n.
14017
14018         * configure.in: Turn on collect2 for mipstx39-elf.
14019         Handle use_collect2=no properly.
14020
14021         * c-common.c: De-conditionalize init_priority code.
14022         * collect2.c (extract_init_priority, sort_ids): New fns.
14023         (main): Call sort_ids.
14024         Move sequence_number to file scope.
14025
14026         * configure.in: Handle --enable-init-priority.
14027         * c-common.c (attrs): Add A_INIT_PRIORITY.
14028         (init_attributes, decl_attributes): Likewise.
14029         * tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros.
14030         * tree.c (get_file_function_name_long): Split out...
14031         (get_file_function_name): ...from here.
14032
14033 Thu Aug 13 16:09:53 1998  Martin von Loewis  <loewis@informatik.hu-berlin.de>
14034
14035         * expr.c (safe_from_p): Change code to ERROR_MARK only when not
14036         accessing nodes.
14037
14038 Thu Aug 13 15:24:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
14039
14040         * toplev.c (display_help): Add braces to shut up warnings.
14041         * tree.c (simple_cst_equal): Likewise.
14042
14043         * fold-const.c (non_lvalue): Don't deal with null pointer
14044         constants here.
14045         (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
14046
14047         * c-typeck.c (initializer_constant_valid_p): Allow conversion of 0
14048         of any size to a pointer.
14049
14050 Thu Aug 13 12:53:13 1998  Jim Wilson  <wilson@cygnus.com>
14051
14052         * i386/winnt.c (i386_pe_asm_file_end): Check TREE_SYMBOL_REFERENCED.
14053
14054 Wed Aug 12 17:25:18 1998  Jeffrey A Law  (law@cygnus.com)
14055
14056         * mn10300.c (REG_SAVE_BYTES): Only reserve space for registers
14057         which will be saved.
14058         * mn10300.md (prologue insn): Only save registers which need saving.
14059         (epilogue insn): Similarly.
14060
14061         * mn10300.c, mn10300.h, mn10300.md: Remove "global zero register"
14062         optimizations.
14063
14064 Wed Aug 12 12:39:16 1998  Gavin Romig-Koch  <gavin@cygnus.com>
14065
14066         * mips/mips.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG for
14067         VAR_DECL's in gp addressable sections.
14068
14069 Tue Aug 11 23:02:31 1998  John Carr  <jfc@mit.edu>
14070
14071         * sparc.c: Change return <exp> to <exp>; return; in functions
14072         returning void.
14073         * sparc.md: Add empty semicolon statement after final label in
14074         move expanders.
14075
14076 Tue Aug 11 22:42:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
14077
14078         * config/sparc/sparc.md (define_insn addx_extend): Rename to
14079         addx_extend_sp64, only allow when TARGET_ARCH64.
14080         (define_insn addx_extend_sp32 and split): Version that works when
14081         not TARGET_ARCH64.
14082         (define_insn subx_extend): Likewise.
14083         (define_split adddi3 and subdi3 with zero extension): Fixup and
14084         correct bugs when not TARGET_ARCH64.
14085
14086 Tue Aug 11 16:04:34 1998  John Carr  <jfc@mit.edu>
14087
14088         * except.c (set_exception_lang_code, set_exception_version_code):
14089         Use prototype-style definition if __STDC__, to match declaration
14090         in except.h.
14091
14092         * genemit.c: Change FAIL and DONE macros not to use loops.
14093
14094 Tue Aug 11 12:27:03 1998  Jim Wilson  <wilson@cygnus.com>
14095
14096         * dwarf2out.c (ASM_OUTPUT_DWARF_ADDR_CONST): Use
14097         ASM_OUTPUT_DWARF2_ADDR_CONST if defined.
14098
14099         * mips/mips.md (reload_outsi): Use M16_REG_P when TARGET_MIPS16.
14100
14101 Tue Aug 11 18:12:53 1998  Dave Love  <d.love@dl.ac.uk>
14102
14103         * README.g77: Update from Craig.
14104
14105 Tue Aug 11 04:46:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
14106
14107         * config/sparc/sparc.c (sparc_emit_set_const32): INTVAL is of
14108         type HOST_WIDE_INT.
14109         (safe_constDI sparc_emit_set_const64_quick1,
14110         sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
14111         analyze_64bit_constant, const64_is_2insns,
14112         create_simple_focus_bits): Fix some bugs when compiled on real
14113         64-bit hosts.
14114         (function_arg_record_value_3, function_arg_record_value_2,
14115         function_arg_record_value): Add fully prototyped forward decls.
14116         * config/sparc/sparc.md (define_insn cmpsi_insn_sp32): Rename back
14117         to cmpsi_insn and use on both 64 and 32 bit targets.
14118         (define_insn cmpsi_insn_sp64): Remove.
14119         (define_expand zero_extendsidi2): Allow for 32-bit target too.
14120         (define_insn zero_extendsidi2_insn): Rename to
14121         zero_extendsidi2_insn_sp64.
14122         (define_insn zero_extendsidi2_insn_sp32): New pattern and
14123         associated forced split for it.
14124
14125         * config/sparc/sparc.c (const64_operand, const64_high_operand):
14126         New predicates.
14127         * config/sparc/sparc.h: Declare them.
14128         (PREDICATE_CODES): Add them.
14129         * config/sparc/sparc.md (movdi_lo_sum_sp64_dbl,
14130         movdi_high_sp64_dbl, xordi3_sp64_dbl): Use them.
14131
14132 Mon Aug 10 22:57:24 1998  John Carr  <jfc@mit.edu>
14133
14134         * config/sparc/sparc.md (define_insn jump): Output ba,pt not b,pt
14135         in v9 case as the latter makes the Solaris assembler crash.
14136
14137 Mon Aug 10 22:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
14138
14139         * config/sparc/sparc.c (input_operand): Do not accept a LO_SUM MEM
14140         for TFmode when !v9.  We require offsettable memory addresses.
14141         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Handle TFmode to
14142         DFmode register number conversions.
14143         * config/sparc/sparc.md (define_split DFmode moves): If register
14144         is a SUBREG do alter_subreg on it before using.
14145         (define_expand movtf): Fixup comment about alignment on v9.
14146         (define_split TFmode moves): Don't use gen_{high,low}part, create
14147         explicit SUBREGs instead.
14148
14149 Mon Aug 10 19:02:55 1998  John Carr  <jfc@mit.edu>
14150
14151         * Makefile.in (mbchar.o): Depend on mbchar.c.
14152
14153 Mon Aug 10 04:28:13 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
14154                           Richard Henderson  <rth@cygnus.com>
14155         
14156         Rewrite Sparc backend for better code generation and
14157         improved sparc64 support.
14158         * config/sparc/sp64-elf.h: Set JUMP_TABLES_IN_TEXT_SECTION to
14159         zero.
14160         * config/sparc/sysv4.h: Likewise.
14161         * config/sparc/sparc.c (v8plus_regcmp_p, sparc_operand,
14162         move_operand, v8plus_regcmp_op, emit_move_sequence,
14163         singlemove_string, doublemove_string, mem_aligned_8,
14164         output_move_double, output_move_quad, output_fp_move_double,
14165         move_quad_direction, output_fp_move_quad, output_scc_insn):
14166         Remove.
14167         (small_int_or_double): New predicate.
14168         (gen_compare_reg): Remove TARGET_V8PLUS cmpdi_v8plus emission.
14169         (legitimize_pic_address): Emit movsi_{high,lo_sum}_pic instead of
14170         old pic_{sethi,lo_sum}_si patterns.
14171         (mem_min_alignment): New generic function to replace
14172         mem_aligned_8, which uses REGNO_POINTER_ALIGN information when
14173         available and can test for arbitrary alignments.  All callers
14174         changed.
14175         (save_regs, restore_regs, build_big_number,
14176         output_function_prologue, output_cbranch, output_return,
14177         sparc_flat_save_restore, sparc_flat_output_function_prologue,
14178         sparc_flat_output_function_epilogue): Prettify
14179         insn output.
14180         (output_function_epilogue): Likewise and add code to output
14181         deferred case vectors.
14182         (output_v9branch): Likewise, add new arg INSN and use it to tack
14183         on branch prediction settings.  All callers changed.
14184         (print_operand): Likewise and output %l44 for LO_SUMs when
14185         TARGET_CM_MEDMID.
14186         (sparc_splitdi_legitimate): New function to make sure DImode
14187         splits can be run properly when !arch64.
14188         (sparc_initialize_trampoline, sparc64_initialize_trampoline):
14189         Reformat example code in comments.
14190         (set_extends): Remove UNSPEC/v8plus_clear_high case.
14191         (sparc_addr_diff_list, sparc_addr_list): New statics to keep track
14192         of deferred case vectors we need to output.
14193         (sparc_defer_case_vector): Record a case vector.
14194         (sparc_output_addr_vec, sparc_output_addr_diff_vec,
14195         sparc_output_deferred_case_vectors): New functions to output them.
14196         (sparc_emit_set_const32): New function to form 32-bit constants in
14197         registers when that requires more than one instruction.
14198         (safe_constDI, sparc_emit_set_const64_quick1,
14199         sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
14200         analyze_64bit_constant, const64_is_2insns,
14201         create_simple_focus_bits, sparc_emit_set_const64): New functions
14202         which do the same for 64-bit constants when arch64.
14203         (sparc_emit_set_symbolic_const64): New function to emit address
14204         loading for all code models on v9.
14205         * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Do not make
14206         %g1 fixed when arch64, unfix %g0 when TARGET_LIVE_G0.
14207         (ALTER_HARD_SUBREG): Fix thinko, return REGNO + 1 not 1.
14208         (SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Fix
14209         inaccuracies in comments, add symbolic and text_segment operands
14210         when TARGET_CM_MEDANY and TARGET_CM_EMBMEDANY respectively.  Use
14211         GENERAL_REGS in these cases as a temp REG is needed to load these
14212         addresses into a register properly.
14213         (EXTRA_CONSTRAINT): Document more accurately, remove Q case as it
14214         is no longer used.
14215         (GO_IF_LEGITIMATE_ADDRESS): Allow TFmode for LO_SUM on v9 since fp
14216         quads are guaranteed to have 16-byte alignment.
14217         (LEGITIMIZE_ADDRESS): For SYMBOL_REF, CONST, and LABEL_REF use
14218         copy_to_suggested_reg instead of explicit LO_SUM and HIGH.
14219         (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC): New macros for
14220         deferred case vector implementation.
14221         (ASM_OUTPUT_ADDR_VEC_ELT): Use fputc to output newline.
14222         (ASM_OUTPUT_ADDR_DIFF_ELT): Parenthesize LABEL in macro calls.
14223         Generate "internal label - label" instead of "label - 1b".
14224         (PRINT_OPERAND_ADDRESS): For LO_SUM use %l44 on TARGET_CM_MEDMID.
14225         (PREDICATE_CODES): Remove sparc_operand, move_operand,
14226         v8plus_regcmp_op.  Add small_int_or_double, input_operand, and
14227         zero_operand.
14228         (doublemove_string, output_block_move, output_fp_move_double,
14229         output_fp_move_quad, output_move_double, output_move_quad,
14230         output_scc_insn, singlemove_string, mem_aligned_8, move_operand,
14231         sparc_operand, v8plus_regcmp_op, v8plus_regcmp_p): Remove externs.
14232         (sparc_emit_set_const32, sparc_emit_set_const64,
14233         sparc_emit_set_symbolic_const64, input_operand, zero_operand,
14234         mem_min_alignment, small_int_or_double): Add externs.
14235         * config/sparc/sparc.md: Document the many uses of UNSPEC and
14236         UNSPEC_VOLATILE in this backend.
14237         (define_function_unit ieu): Rename to ieu_unnamed.  Add move and
14238         unary to types which execute in it.
14239         (define_function_unit ieu_shift): Rename to ieu0.
14240         (define_function_unit ieu1): New, executes compare, call, and
14241         uncond_branch type insns.
14242         (define_function_units for type fdivs, fdivd, fsqrt): These
14243         execute in the fpu multiply unit not the adder on UltraSparc.
14244         (define_expand cmpdi): Disallow TARGET_V8PLUS.
14245         (define_insn cmpsi_insn): Rename to cmpsi_insn_sp32.
14246         (define_insn cmpsi_insn_sp64): New, same as sp32 variant except it
14247         allows the arith_double_operand predicate and rHI constraint when
14248         TARGET_ARCH64.
14249         (define_insn cmpdi_sp64, cmpsf_fpe, cmpdf_fpe, cmptf_fpe,
14250         cmpsf_fp, cmpdf_fp, cmptf_fp, sltu_insn, neg_sltu_insn,
14251         neg_sltu_minux_x, neg_sltu_plus_x, sgeu_insn, neg_sgeu_insn,
14252         sltu_plus_x, sltu_plus_x, sltu_plus_x_plus_y, x_minus_sltu,
14253         sgeu_plus_x, x_minus_sgeu, movqi_cc_sp64, movhi_cc_sp64,
14254         movsi_cc_sp64, movdi_cc_sp64, movsf_cc_sp64, movdf_cc_sp64,
14255         movtf_cc_sp64, movqi_cc_reg_sp64, movhi_cc_reg_sp64,
14256         movsi_cc_reg_sp64, movdi_cc_reg_sp64, movsf_cc_reg_sp64,
14257         movdf_cc_reg_sp64, movtf_cc_reg_sp64, zero_extendhisi2_insn,
14258         cmp_siqi_trunc, cmp_siqi_trunc_set, sign_extendhisi2_insn,
14259         sign_extendqihi2_insn, sign_extendqisi2_insn,
14260         sign_extendqidi2_insn, sign_extendhidi2_insn,
14261         extendsfdf2, extendsftf2, extenddftf2, truncdfsf2, trunctfsf2,
14262         trunctfdf2, floatsisf2, floatsidf2, floatsitf2, floatdisf2,
14263         floatdidf2, floatditf2, fix_truncsfsi2, fix_truncdfsi2,
14264         fix_trunctfsi2, fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2,
14265         adddi3_sp64, addsi3, cmp_ccx_plus, cmp_cc_plus_set, subdi_sp64,
14266         subsi3, cmp_minus_ccx, cmp_minus_ccx_set, mulsi3, muldi3,
14267         muldi3_v8plus, cmp_mul_set, mulsidi3, mulsidi3_v8plus,
14268         const_mulsidi3_v8plus, mulsidi3_sp32, const_mulsidi3,
14269         smulsi3_highpart_v8plus, unnamed subreg mult,
14270         const_smulsi3_highpart_v8plus, smulsi3_highpart_sp32,
14271         const_smulsi3_highpart, umulsidi3_v8plus, umulsidi3_sp32,
14272         const_umulsidi3, const_umulsidi3_v8plus, umulsi3_highpart_v8plus,
14273         const_umulsi3_highpart_v8plus, umulsi3_highpart_sp32,
14274         const_umulsi3_highpart, divsi3, divdi3, cmp_sdiv_cc_set, udivsi3,
14275         udivdi3, cmp_udiv_cc_set, smacsi, smacdi, umacdi, anddi3_sp64,
14276         andsi3, and_not_di_sp64, and_not_si, iordi3_sp64, iorsi3,
14277         or_not_di_sp64, or_not_si, xordi3_sp64, xorsi3, xor_not_di_sp64,
14278         xor_not_si, cmp_cc_arith_op, cmp_ccx_arith_op,
14279         cmp_cc_arith_op_set, cmp_ccx_arith_op_set, cmp_ccx_xor_not,
14280         cmp_cc_xor_not_set, cmp_ccx_xor_not_set, cmp_cc_arith_op_not,
14281         cmp_ccx_arith_op_not, cmp_cc_arith_op_not_set,
14282         cmp_ccx_arith_op_not_set, negdi2_sp64, cmp_cc_neg, cmp_ccx_neg,
14283         cmp_cc_set_neg, cmp_ccx_set_neg, one_cmpldi2_sp64, cmp_cc_not,
14284         cmp_ccx_not, cmp_cc_set_not, cmp_ccx_set_not, addtf3, adddf3,
14285         addsf3, subtf3, subdf3, subsf3, multf3, muldf3, mulsf3,
14286         muldf3_extend, multf3_extend, divtf3, divdf3, divsf3, negtf2,
14287         negdf2, negsf2, abstf2, absdf2, abssf2, sqrttf2, sqrtdf2, sqrtsf2,
14288         ashlsi3, ashldi3, unnamed DI ashift, cmp_cc_ashift_1,
14289         cmp_cc_set_ashift_1, ashrsi3, ashrdi3, unnamed DI ashiftrt,
14290         ashrdi3_v8plus, lshrsi3, lshrdi3, unnamed DI lshiftrt,
14291         lshrdi3_v8plus, tablejump_sp32, tablejump_sp64, call_address_sp32,
14292         call_symbolic_sp32, call_address_sp64, call_symbolic_sp64,
14293         call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
14294         call_address_untyped_struct_value_sp32,
14295         call_symbolic_untyped_struct_value_sp32, call_value_address_sp32,
14296         call_value_symbolic_sp32, call_value_address_sp64,
14297         call_value_symbolic_sp64, branch_sp32, branch_sp64,
14298         flush_register_windows, goto_handler_and_restore,
14299         goto_handler_and_restore_v9, goto_handler_and_restore_v9_sp64,
14300         flush, all ldd/std peepholes, return_qi, return_hi, return_si,
14301         return_addsi, return_di, return_adddi, return_sf, all call+jump
14302         peepholes, trap, unnamed trap insns): Prettify output strings.
14303         (define_insn anddi3_sp32, and_not_di_sp32, iordi3_sp32,
14304         or_not_di_sp32, xordi3_sp32, xor_not_di_sp32, one_cmpldi2):
14305         Likewise and force + implement splits for integer cases.
14306         (define_insn return_sf_no_fpu): Likewise and allow to match when
14307         no-fpu because of our subreg SFmode splits.
14308         (define_insn zero_extendqihi2, zero_extendqisi2_insn,
14309         zero_extendqidi2_insn, zero_extendhidi2_insn,
14310         zero_extendsidi2_insn, sign_extendsidi2_insn): Likewise and use
14311         input_operand for second operand.
14312         (cmp_minus_cc, cmp_minus_cc_set): Likewise and use
14313         reg_or_0_operand for operand 2 so new splits can use it.
14314         (cmp_zero_extendqisi2, cmp_zero_extendqisi2_set, cmp_cc_plus,
14315         cmp_cc_xor_not): Likewise and don't forget to check TARGET_LIVE_G0
14316         too.
14317         (cmp_zero_extract, cmp_zero_extract_sp64): Likewise and allow
14318         CONST_DOUBLEs for operand 2.
14319         (define_insn move_label_di): Likewise and label distance
14320         optimization because it no longer works with new deferred case
14321         vector scheme.  To be revisited.
14322         (define_insn x_minus_y_minus_sltu, x_minus_sltu_plus_y): Likewise
14323         and allow reg_or_0_operand and J constraint for second operand.
14324         (define_insn jump): Set branch predict taken on V9.
14325         (define_insn tablejump): Emit LABEL_REF + PLUS memory address for
14326         new deferred case vector scheme.
14327         (define_insn pic_tablejump_32, pic_tablejump_64): Remove.
14328         (define_insn negdi2_sp32): Force + implement splits.
14329         (define_insn negsi2, one_cmplsi2): Rename to negsi2_not_liveg0 and
14330         one_cmplsi2_not_liveg0 respectively, and create expander of original
14331         names which emit special rtl for TARGET_LIVE_G0.
14332         (define_insn cmpdi_v8plus, scc_si, scc_di): Remove.
14333         (define_insn seq, sne, slt, sge, sle, sltu, sgeu): Don't do
14334         gen_compare_reg, FAIL instead.
14335         (define_insn sgtu, sleu): Likewise and check gen_s*() return
14336         values when trying to reverse condition codes, if they FAIL then
14337         do likewise.
14338         (define_insn snesi_zero, neg_snesi_zero, snesi_zero_extend,
14339         snedi_zero, neg_snedi_zero, snedi_zero_trunc, seqsi_zero,
14340         neg_seqsi_zero, seqsi_zero_extend, seqdi_zero, neg_seqdi_zero,
14341         seqdi_zero_trunc, x_plus_i_ne_0, x_minus_i_ne_0, x_plus_i_eq_0,
14342         x_minus_i_eq_0): Add new splits to perform these multi-insn cases,
14343         set output string to # to indicate they are mandatory splits.
14344         (define_insn pic_lo_sum_si, pic_sethi_si, pic_lo_sum_di,
14345         pic_sethi_di, move_pic_label_si): Remove.
14346         (define_insn movsi_low_sum, movsi_high, movsi_lo_sum_pic,
14347         movsi_high_pic, movsi_pic_label_reg): New patterns to take their
14348         place.
14349         (define_expand movsi_pic_label_ref, define_insn
14350         movsi_high_pic_label_ref, movsi_lo_sum_pic_label_ref): New
14351         expander and insns to handle PIC label references and deferred
14352         case vectors.
14353         (define_insn get_pc_via_rdpc): Comment out as it is no longer
14354         used.
14355         (define_expand movqi, movhi, movsi, movdi, movsf, movdf, movtf):
14356         Rewrite to not use emit_move_sequence, make use of new constant
14357         formation code, and new splits for all multi-insn cases.
14358         (define_insn movqi_insn): Remove sethi case, it can never happen.
14359         Use reg_or_zero_operand instead of const0_rtx explicit test,
14360         use input_operand instead of move_operand for source, and use
14361         general_operand now for dest.
14362         (define_insn movhi_insn): Similar but leave sethi case.
14363         (define_insn lo_sum_qi, store_qi, store_hi): Remove.
14364         (define_insn sethi_hi lo_sum_hi): Rename to movhi_high and
14365         movhi_lo_sum respectively, prettify output string.
14366         (define_insn movsi_zero_liveg0): New pattern to put zero into a
14367         register when needed on TARGET_LIVE_G0.
14368         (define_insn movsi_insn): Use general_operand and input_operand
14369         for dest and src respectively.  Simplify applicability test.
14370         Prettify output strings, and add clr alternative for J
14371         constraint.
14372         (define_insn movdi_sp32_v9, movdi_sp32, define_splits for
14373         deprecated std and reg-reg DI moves): Remove and...
14374         (define_insn movdi_insn_sp32, movdi_insn_sp64): Replace with new
14375         implementation which uses forced splits for all non-single insn
14376         cases.
14377         (define_split DI move cases on !arch64): New splits to handle all
14378         situations of 64-bit double register DImode on 32bit, and
14379         unaligned registers and memory addresses for all subtargets.
14380         (define_insn movsf_const_insn, movdf_const_insn, store_sf):
14381         Remove.
14382         (define_insn movsf_insn, movsf_no_f_insn): Use general_operand and
14383         input_operand for dest and src respectively, prettify output
14384         strings.
14385         (define_insn movdf_insn, movdf_no_e_insn, store_df,
14386         movtf_const_insn, movtf_insn, movtf_no_e_insn, store_tf): Remove
14387         and...
14388         (define_insn movdf_insn_sp32, movdf_no_e_insn_sp32,
14389         movdf_insn_sp64, movdf_no_e_insn_sp64, movtf_insn,
14390         movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_sp64,
14391         movtf_no_e_insn_sp64): Replace with new
14392         implementation which uses forced splits for all non-single insn
14393         cases.
14394         (define_split DF move cases): New splits in similar vein to DI
14395         move counterparts.
14396         (define_insn sethi_di_medlow, sethi_di_medium_pic,
14397         sethi_di_embmedany_data, sethi_di_embmedany_text, sethi_di_sp64,
14398         movdi_sp64_insn): Remove old v9 code model and constant loading
14399         support insns and..
14400         (define_insn pic_lo_sum_di, pic_sethi_di,
14401         sethi_di_medlow_embmedany_pic, sethi_di_medlow, losum_di_medlow,
14402         seth44, setm44, setl44, sethh, setlm, sethm, setlo,
14403         embmedany_sethi, embmedany_losum, embmedany_brsum,
14404         embmedany_textuhi, embmedany_texthi, embmedany_textulo,
14405         embmedany_textlo, movdi_lo_sum_sp64_cint, movdi_lo_sum_sp64_dbl,
14406         movdi_high_sp64_cint, movdi_high_sp64_dbl): Replace with new
14407         scheme, using unspecs, secondary reloads, and one to one sparc
14408         insn to rtl insn mapping for better scheduling and code gen.
14409         (define_expand reload_indi, reload_outdi): Reload helpers for
14410         MEDANY and EMBMEDANY symbol address loading cases which require a
14411         temporary register.
14412         (define_expand movsicc): Remove v8plus_regcmp cases.
14413         (define_insn movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc,
14414         cmp_zero_extendqidi2, cmp_zero_extendqidi2_set, cmp_qidi_trunc,
14415         cmp_diqi_trunc_set): New patterns used by some of the new scc
14416         splits on arch64.
14417         (define_insn xordi3_sp64_dbl): New pattern used for constant
14418         formation when crossing from 32-bit targets.
14419         (define_insn movsi_cc_reg_v8plus, v8plus_clear_high, and helper
14420         split): Remove.
14421         (define_insn addx, subx): Make visible and prettify.
14422         (define_insn adddi3_insn_sp32): Likewise and force split.
14423         (define_insn addx_extend, subx_extend, unnamed): New patterns for
14424         64bit scc split usage.
14425         (define_insn unnamed plusDI zero_extend, unnamed minusDI
14426         zero_extend, subdi3): Force and implement splits.
14427         
14428         * final.c (final_scan_insn): Don't output labels if target
14429         specifies ASM_OUTPUT_ADDR_{DIFF}_VEC.  Do these macro operations
14430         instead.
14431         
14432         * reorg.c (dbr_schedule): When taking on BR_PRED notes at the end,
14433         don't forget to walk inside SEQUENCESs too as these are what the
14434         delay slot scheduler will create.
14435         
14436 Mon Aug 10 01:21:01 1998  Richard Henderson  <rth@cygnus.com>
14437
14438         * alpha.md (extxl+1,+2): New patterns to work around
14439         combine lossage.
14440
14441 Sat Aug  8 19:20:22 1998  Gary Thomas  (gdt@linuxppc.org)
14442
14443         * rs6000.c (rs6000_allocate_stack_space): Fix typo which
14444         caused bad assembly code to be generated.
14445
14446 Sat Aug  8 18:53:28 1998  Jeffrey A Law  (law@cygnus.com)
14447
14448         * netbsd.h: Fix typo.
14449
14450 Mon Aug  3 00:06:42 1998  Robert Lipe  <robertl@dgii.com>
14451
14452         * config.sub: Fix typo.
14453
14454 Sun Aug  2 22:39:08 1998  Hans-Peter Nilsson  <hp@axis.se>
14455
14456         * invoke.texi (Environment Variables): Typo: Change "ascpects"
14457         into "aspects".
14458         (Running Protoize): Typo: Change "ther" into "other".
14459
14460 Sun Aug  2 00:42:50 1998  Jeffrey A Law  (law@cygnus.com)
14461
14462         * i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
14463         * m68k/netbsd.h: Likewise.
14464         * ns32k/netbsd.h: Likewise.
14465         * sparc/netbsd.h: Likewise.
14466
14467 Sat Aug  1 17:59:30 1998  Richard Henderson  <rth@cygnus.com>
14468
14469         * ginclude/va-alpha.h (va_list): Use a typedef, not a define.
14470         * ginclude/va-clipper.h (va_list): Likewise.
14471
14472 Fri Jul 31 20:22:02 1998  Michael Meissner  <meissner@cygnus.com>
14473
14474         * rs6000.c (rs6000_override_options): If big endian and -Os, use
14475         load/store multiple instructions unless user overrides.
14476
14477 Fri Jul 31 17:08:59 1998  Jeffrey A Law  (law@cygnus.com)
14478
14479         * ns32k/netbsd.h: Fix typo.
14480
14481 Fri Jul 31 10:23:55 1998  Doug Evans  <devans@canuck.cygnus.com>
14482
14483         * m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Always output line number
14484         labels with .debugsym if no parallel insns.
14485
14486 Thu Jul 30 19:15:53 1998  Richard Henderson  <rth@cygnus.com>
14487
14488         * alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN.
14489         (fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap.
14490
14491 Thu Jul 30 19:50:15 1998  David Edelsohn  <edelsohn@gnu.org>
14492
14493         * rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
14494         (AR_FOR_TARGET): Define.
14495
14496 Thu Jul 30 12:29:12 1998  Mark Mitchell  <mark@markmitchell.com>
14497
14498         * dyn-string.h: New file.
14499         * dyn-string.c: Likewise.
14500         * Makefile.in (OBJS): Add dyn-string.o.
14501         (dwarf2out.o): Add dyn-string.h dependency.
14502         (dyn-string.o): List dependencies.
14503         * dwarf2out.c: Include dyn-string.h.
14504         (ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy.
14505         (addr_const_to_string): Take a dyn_string_t, not a char* as a
14506         prototype.  Use dyn_string_append rather than strcat, throughout.
14507         (addr_to_string): Use dyn_string_t.
14508
14509 Thu Jul 30 13:08:07 1998  Ken Raeburn  <raeburn@cygnus.com>
14510
14511         Function entry/exit profiling instrumentation:
14512         * expr.h (profile_function_entry_libfunc,
14513         profile_function_exit_libfunc): Declare new variables.
14514         * optabs.c: Define them here.
14515         (init_optabs): Initialize them.
14516         * tree.h (struct tree_decl): New flag
14517         no_instrument_function_entry_exit.
14518         (DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT): New accessor macro.
14519         * c-decl.c (duplicate_decls): Merge it.
14520         * c-common.c (enum attrs): New value A_NO_INSTRUMENT_FUNCTION.
14521         (init_attributes): Use it for "no_instrument_function".
14522         (decl_attributes): Handle it, for functions that have not yet been
14523         compiled.  Set decl flag.
14524         * flags.h (flag_instrument_function_entry_exit): Declare new
14525         variable.
14526         * toplev.c (flag_instrument_function_entry_exit): Define it here.
14527         (f_options): New option "instrument-functions".
14528         * function.h (struct function): New field instrument_entry_exit.
14529         * function.c (current_function_instrument_entry_exit): New
14530         variable.
14531         (push_function_context_to, pop_function_context_from): Save and
14532         restore.
14533         (expand_function_start): Set current_ variable, maybe emit return
14534         label and entry profile call.
14535         (expand_function_end): Maybe emit exit profile call.
14536
14537 Thu Jul 30 00:58:34 1998  Jeffrey A Law  (law@cygnus.com)
14538
14539         * i386.md (movqi): When optimizing a load of (const_int 1) into a
14540         NON_QI_REG_P, pretend the register is SImode.
14541
14542 Wed Jul 29 23:49:23 1998  Todd Vierling  <tv@netbsd.org>
14543
14544         * configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
14545         Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
14546         manufacturer id for ns32k.
14547         * configure: Regenerated.
14548         * config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
14549         * config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
14550         * config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
14551         * config/m68k/netbsd.h: Same.
14552         * config/ns32k/netbsd.h: Same.
14553         * config/sparc/netbsd.h: Same.
14554
14555 Wed Jul 29 22:39:21 1998  Jeffrey A Law  (law@cygnus.com)
14556
14557         * unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO
14558         or UNROLL_COMPLETELY loop that starts with a jump to its
14559         exit code.
14560
14561 Wed Jul 29 22:18:14 1998  David Edelsohn  <edelsohn@gnu.org>
14562
14563         * rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS.
14564         * rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT.
14565         (print_operand, case 'B'): Don't fall through.
14566         (print_operand, case 'S'): Correct mask begin/end computation.
14567         Use HOST_BITS_PER_WIDE_INT.
14568         * rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG.
14569         (CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT.
14570         * rs6000/aix41.h (CPP_PREDEFINES): Same.
14571         * rs6000/aix43.h (CPP_PREDEFINES): Same.
14572
14573 Wed Jul 29 11:47:10 1998  Nick Clifton  <nickc@cygnus.com>
14574
14575         * config/arm/thumb.md (extendqisi2_insn): Remove earlyclobber
14576         constraint from second alternative.
14577
14578 Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>
14579
14580         * configure.in: Fix --without/--disable cases for local-prefix,
14581         gxx-include-dir and checking.
14582
14583 Tue Jul 28 22:01:23 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
14584
14585         * configure.in (enable_haifa): Set by default for sparc64 too.
14586         configure: Rebuilt.
14587
14588 Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>
14589
14590         * i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
14591         * i386/winnt.c (associated_type): New fn.
14592         (i386_pe_valid_type_attribute_p): New fn.
14593         (i386_pe_check_vtable_importexport): Remove.
14594         (i386_pe_dllexport_p): Use associated_type.
14595         (i386_pe_dllimport_p): Likewise.
14596
14597         From Antonio M. O. Neto <anmendes@cruzeironet.com.br>:
14598         * i386.c (i386_valid_type_attribute_p): Also accept
14599         attributes for METHOD_TYPEs.
14600
14601 Tue Jul 28 23:17:39 1998  Peter Gerwinski  <peter@gerwinski.de>
14602
14603         * tree.c (build_range_type): Copy TYPE_SIZE_UNIT.
14604
14605 Tue Jul 28 22:31:12 1998  Craig Burley  <burley@gnu.org>
14606
14607         * gcc.c: Fix commentary describing %g, %u, %U, and %O.
14608
14609         * gcc.c (do_spec_1): Fix handling of %g%O and %U%O to prevent
14610         them from generating a new base name for each occurrence of
14611         a specific suffix.
14612
14613 1998-07-28  Vladimir N. Makarov  <vmakarov@cygnus.com>
14614
14615         * cse.c (cse_insn): Enable substitution inside libcall only for REG,
14616         SUBREG, MEM.
14617         * rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE.
14618
14619         * cplus-dem.c (type_kind_t): New type.
14620         (demangle_template_value_parm): Add type_kind_t parameter.  Rely
14621         on this parameter, rather than demangling the type again.
14622         (demangle_integral_value): Pass tk_integral.
14623         (demangle_template_: Pass the value returned from do_type.
14624         (do_type): Return a type_kind_t.  Pass tk_integral to
14625         demangle_template_value_parm for array bounds.
14626         (demangle_fund_type): Likewise.
14627         
14628 Mon Jul 27 00:54:41 1998  Jason Merrill  <jason@yorick.cygnus.com>
14629
14630         * tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are
14631         identical.
14632
14633 Mon Jul 27 22:18:36 1998  Jeffrey A Law  (law@cygnus.com)
14634
14635         * pa.c (move_operand): Accept CONSTANT_P_RTX.
14636
14637 Mon Jul 27 17:18:52 1998  Dave Brolley  <brolley@cygnus.com>
14638
14639         * stor-layout.c (layout_type): Handle arrays of bits, for Chill.
14640
14641         * expr.c (get_inner_reference): Handle zero-based, unsigned, array
14642         index conversion.
14643
14644 Mon Jul 27 14:51:33 1998  Jeffrey A Law  (law@cygnus.com)
14645
14646         * mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
14647         (DEBUGGER_ARG_OFFSET): Likewise.
14648
14649         * mn10300.md (movsf): Remove last change.  Not needed.
14650
14651 Mon Jul 27 14:22:36 1998  Dave Brolley  <brolley@cygnus.com>
14652
14653         * c-lex.c (yylex): Fix boundary conditions in character literal and
14654         string literal loops.
14655
14656 Mon Jul 27 11:43:54 1998  Stan Cox  <scox@cygnus.com>
14657
14658         * longlong.h (count_leading_zeros): Sparclite scan instruction was
14659         being invoked incorrectly.
14660
14661         * i386.c (ix86_prologue): Added SUBTARGET_PROLOGUE invocation.
14662         * i386/cygwin32.h (STARTFILE_SPEC, LIB_SPEC, SUBTARGET_PROLOGUE):
14663         Add -pg support.
14664         * i386/win32.h: New file.  Hybrid mingw32.h/cygwin32.h configuration.
14665         * configure.in: Added i[34567]86-*-win32.
14666         * config.sub: Likewise.
14667         * configure: Rebuilt.
14668         
14669 Sun Jul 26 01:11:12 1998  H.J. Lu  (hjl@gnu.org)
14670
14671         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating
14672         the frame pointer and compiling PIC code and reload has not completed.
14673
14674         * i386.c (output_to_reg): Add code to emulate non-popping DImode
14675         case.
14676
14677 Sun Jul 26 01:01:32 1998  Jeffrey A Law  (law@cygnus.com)
14678
14679         * regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head.
14680
14681 Sat Jul 25 23:29:23 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14682
14683         * Makefile.in (install-info): Only try to update the info
14684         directory file if it exists in the first place.
14685
14686 Fri Jul 24 18:58:37 1998  Klaus Espenlaub  <kespenla@student.informatik.uni-ulm.de>
14687
14688         * rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.
14689
14690 Fri Jul 24 14:20:26 1998  Jeffrey A Law  (law@cygnus.com)
14691
14692         * mn10300.md (movqi, movhi, movsi, movsf): Correctly handle
14693         CONST_DOUBLE source.
14694
14695 Fri Jul 24 11:17:04 1998  Nick Clifton  <nickc@cygnus.com>
14696
14697         * config/arm/thumb.c (thumb_print_operand): Decode %_ in asm
14698         strings as the insertion of USER_LABEL_PREFIX.
14699         * config/arm/thumb.h (PRINT_OPERAND_PUNCT_VALID_P): Accept _ as a
14700         valid code.
14701         * config/arm/thumb.md: Use %_ as a prefix to gcc library function
14702         calls.
14703
14704 Thu Jul 23 18:53:20 1998  Jim Wilson  <wilson@cygnus.com>
14705
14706         * dbxout.c (dbxout_range_type): Only call dbxout_type_index for
14707         already defined type.
14708
14709 Thu Jul 23 13:49:41 1998  Jeffrey A Law  (law@cygnus.com)
14710
14711         * expr.c (check_max_integer_computation_mode): Allow conversions
14712         of constant integers to MAX_INTEGER_COMPUTATION_MODE.
14713         (expand_expr): Likewise.
14714
14715 Thu Jul 23 11:12:06 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
14716
14717         * expr.c (expand_expr): Expand RETURN_EXPR.
14718
14719 Thu Jul 23 11:00:29 1998  Jim Wilson  <wilson@cygnus.com>
14720
14721         * dwarf2out.c (dwarf2out_finish): Call stripattributes on TEXT_SECTION.
14722
14723 Wed Jul 22 19:10:00 1998  Catherine Moore  <clm@cygnus.com>
14724
14725         * dwarf2out.c (output_aranges): Call stripattributes
14726         for TEXT_SECTION references.
14727         (output_line_info): Likewise.
14728
14729 Wed Jul 22 14:08:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
14730
14731         * profile.c (branch_prob): Call allocate_reg_info after outputting
14732         profile rtl in instrument_arcs.
14733
14734 Wed Jul 22 12:47:49 1998  Jim Wilson  <wilson@cygnus.com>
14735
14736         * fixinc.irix (math.h): Install wrapper instead of copying.
14737
14738 Wed Jul 22 12:37:14 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
14739
14740         * tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression
14741         so WFL are expanded correctly when contained in a COMPOUND_EXPR.
14742         * tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use
14743         lang_flag_0. Added documentation in the flag table.
14744
14745 Tue Jul 21 23:28:35 1998  Klaus Kaempf  <kkaempf@rmi.de>
14746
14747         * cccp.c (do_include): Fix vax c style include handling.
14748
14749 Tue Jul 21 13:28:19 1998  Jason Merrill  <jason@yorick.cygnus.com>
14750
14751         * cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
14752
14753 Sun Jul 12 01:27:05 1998  Jason Merrill  <jason@yorick.cygnus.com>
14754
14755         * fold-const.c (non_lvalue): Don't deal with null pointer
14756         constants here.
14757         (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
14758
14759 Tue Jul 21 15:49:31 1998  David Edelsohn  <edelsohn@gnu.org>
14760
14761         * rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
14762         * rs6000.md (movsi, movdi): Add CONSTANT_P_RTX.
14763         * rs6000.c (short_cint_operand): Add CONSTANT_P_RTX.
14764         (u_short_cint_operand): Same.
14765         (reg_or_cint_operand): Same.
14766         (logical_operand): Same.
14767         (input_operand): Same.
14768         (reg_or_short_operand): Use u_short_cint_operand.
14769
14770 Tue Jul 21 08:56:42 1998  Richard Henderson  <rth@cygnus.com>
14771
14772         * alpha.md (fix_truncdfsi2, fix_truncsfsi2): Remove the define_expands,
14773         but keep the insns and splits.  Adjust so when the ultimate destination
14774         is memory, use cvtql.
14775
14776 Tue Jul 21 08:55:09 1998  Richard Henderson  <rth@cygnus.com>
14777
14778         * flow.c (regno_uninitialized): Fixed regs are never uninitialized.
14779
14780 Tue Jul 21 00:31:01 1998  Jeffrey A Law  (law@cygnus.com)
14781
14782         * gcc.c (do_spec): Call "error" not "warning".
14783
14784         * configure.in: Fix minor problems with gas feature detection code.
14785         * configure: Rebuilt.
14786
14787         * gcc.c (do_spec): Issue a warning for '%[]' usage.
14788
14789         * Undo this change.
14790         * gcc.c: Delete %[spec] support.
14791         (do_spec_1, case '('): Likewise.
14792         (do_spec_1, case '['): Call error.
14793
14794 Mon Jul 20 22:34:17 1998  Richard Henderson  <rth@cygnus.com>
14795
14796         * alpha.h (CPP_SPEC): Tidy.  Hook to cpp_cpu and cpp_subtarget.
14797         (CPP_SUBTARGET_SPEC): Default to empty string.
14798         (CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New.
14799         (EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New.
14800         * alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker).
14801         * alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New.
14802         (LIB_SPEC): Tidy.
14803         * alpha/linux.h (CPP_PREDEFINES): Tidy.
14804         * alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New.
14805         * alpha/netbsd.h (CPP_PREDEFINES): Tidy.
14806         * alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC.
14807         * alpha/win-nt.h (CPP_PREDEFINES): Likewise.
14808         * alpha/vsf.h (CPP_PREDEFINES): Likewise.
14809         (CPP_SUBTARGET_SPEC): New.  Do this instead of overriding CPP_SPEC.
14810         * alpha/vxworks.h: Likewise.
14811
14812 Mon Jul 20 22:51:57 1998  Ken Raeburn  <raeburn@cygnus.com>
14813
14814         * mips.md (reload_outsi): Added missing REGNO call.
14815         (smulsi3_highpart, umulsi3_highpart): Provide prototype for
14816         function pointer.
14817         (mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use
14818         another match_operator and compare the codes.
14819
14820         * mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero.
14821
14822         * MIPS multiply pattern fixes:
14823         * mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
14824         Add union classes for HI, LO, or HILO plus general registers.
14825         (GENERATE_MADD): Deleted.
14826         * mips.md (mulsi3_mult3): Don't disparage output-LO alternative.
14827         Add TARGET_MAD to condition.
14828         (mulsi3): Test HAVE_mulsi3_mult3, not specific flags.
14829         (mul_acc_si): Expand GENERATE_MADD here; it's the only use.  Use
14830         "*d" for accumulator, to give preference to LO initially but not
14831         during reload.
14832
14833 Mon Jul 20 16:16:38 1998  Dave Brolley  <brolley@cygnus.com>
14834
14835         * configure.in (enable_c_mbchar): New configure option.
14836         (extra_cpp_objs): Always available now.
14837
14838         * cexp.y (mbchar.h): #include it.
14839         (yylex): Handle Multibyte characters in character literals.
14840
14841         * cccp.c (mbchar.h): #include it.
14842         (main): Set character set based on LANG environment variable.
14843         (rescan): Handle multibyte characters in comments.
14844         (skip_if_group): See above.
14845         (validate_else): See above.
14846         (skip_to_end_of_comment): See above.
14847         (macarg1): See above.
14848         (discard_comments): See above.
14849         (rescan): Handle multibyte characters in string and character literals.
14850         (collect_expansion): See above.
14851         (skip_quoted_string): See above.
14852         (macroexpand): See above.
14853         (macarg1): See above.
14854         (discard_comments): See above.
14855         (change_newlines): See above.
14856
14857         * c-lex.c (mbchar.h): #include it.
14858         (GET_ENVIRONMENT): New macro.
14859         (init_lex): Set character set based on LANG environment variable.
14860         (yylex): Handle multibyte characters in character literals.
14861         (yylex): Handle multibyte characters in string literals.
14862
14863         * Makefile.in (mbchar.o): New target.
14864         (cccp$(exeext)): @extra_cpp_objs@ is always available.
14865         (cppmain$(exeext)): @extra_cpp_objs@ is always available.
14866
14867         * mbchar.[ch]: New files for multibyte character handling.
14868
14869 Mon Jul 20 01:11:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
14870
14871         * jump.c (jump_optimize): When simplifying noop moves and
14872         PUSH_ROUNDING, fix thinko so we use same criterion for identifying
14873         the PUSHes to rewrite in second loop as we did in the first.
14874
14875 Sun Jul 19 08:23:53 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14876
14877         * cplus-dem.c (demangle_nested_args): Make function definition
14878         static to match the prototype.
14879
14880 Fri Jul 17 14:58:44 1998  Richard Henderson  <rth@cygnus.com>
14881
14882         * alloca.c: Respect USE_C_ALLOCA.
14883         * gencheck.c (xmalloc): Ignore __GNUC__ for definition.
14884         * gengenrtl.c (xmalloc): Likewise.
14885
14886 Fri Jul 17 14:18:14 1998  Richard Henderson  <rth@cygnus.com>
14887
14888         * loop.h (struct induction): Add no_const_addval.
14889         * loop.c (the_movables, reg_address_cost): New variables.
14890         (init_loop): Init reg_address_cost.
14891         (loop_optimize): Call end_alias_analysis.
14892         (scan_loop): Init the_movables.
14893         (record_giv): Init induction->no_const_addval.
14894         (basic_induction_var) [PLUS]: Use rtx_equal_p instead of ==.
14895         [REG]: Rearrange loop search test to catch more cases.
14896         (general_induction_var): Return success not benefit; take an extra
14897         argument for that.  Change all callers.
14898         (simplify_giv_expr) [PLUS]: Always combine invariants.  Use sge_plus.
14899         [MULT]: Use rtx_equal_p instead of ==.  Combine simple invariants.
14900         [default]: Search the_movables for additional combinations.
14901         (sge_plus_constant, sge_plus): New functions.
14902         (express_from_1): New function.
14903         (express_from): Always define.  Rewrite using express_from_1.
14904         (combine_givs_p): Handle more cases.  Ignore address cost.
14905         (cmp_combine_givs_stats): New function.
14906         (combine_givs_used_once, combine_givs_benefit_from): New functions.
14907         (combine_givs): Rewrite to do best-fit combination.
14908
14909         * fold-const.c (operand_equal_p): Handle RTL_EXPR.
14910         (fold): Do a complete (A*C)+(B*C) association check.
14911
14912 Fri Jul 17 11:21:55 1998  Jim Wilson  <wilson@cygnus.com>
14913
14914         * function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT.
14915
14916 Fri Jul 17 11:48:55 1998  Jeffrey A Law  (law@cygnus.com)
14917
14918         * mn10300.c (MODES_TIEABLE_P): Fix typo.
14919
14920 Fri Jul 17 03:26:12 1998  Rihcard Earnshaw  (rearnsha@arm.com)
14921
14922         * tree.c (valid_machine_attribute): Only create a new type variant if
14923         there is a decl to use it.
14924
14925 Thu Jul 16 14:48:04 1998  Nick Clifton  <nickc@cygnus.com>
14926
14927         * gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have
14928         a suffix.
14929
14930 Fri Jul 17 03:24:40 1998  Hans-Peter Nilsson  <hp@axis.se>
14931
14932         * extend.texi (Explicit Reg Vars): Typo: change "may deleted" into "may
14933         be deleted"
14934
14935 Thu Jul 16 14:48:47 1998  Jeffrey A Law  (law@cygnus.com)
14936
14937         * mn10300.c (count_tst_insns): New arg oreg_countp.  Callers changed.
14938         Simplify tests for clearing an address register.
14939         (expand_prologue): Corresponding changes.
14940
14941         * mn10300.md (movXX patterns): Make sure the destination is an
14942         ADDRESS_REG when substituting "zero_areg" for (const_int 0).
14943         (logical patterns): Split into expanders + patterns.
14944         (zero and sign extension patterns): Similarly.
14945         (shift patterns): Similarly.
14946
14947 Thu Jul 16 01:17:44 1998  Richard Henderson  <rth@cygnus.com>
14948
14949         * loop.c (emit_iv_add_mult): Scan the entire insn list generated
14950         for the sequence, recording base values.
14951
14952 Wed Jul 15 10:49:55 1998  Richard Henderson  <rth@cygnus.com>
14953
14954         * i386.h (CPP_CPU_SPEC): Remove -Asystem(unix).
14955
14956 Tue Jul 14 14:15:30 1998  Nick Clifton  <nickc@cygnus.com>
14957
14958         * gcc.c: Remove ANSI-C ism from --help code.
14959
14960         * toplev.c: Support --help with USE_CPPLIB.
14961
14962 Tue Jul 14 14:46:08 1998  Jeffrey A Law  (law@cygnus.com)
14963
14964         * configure.in: Rework gas feature code to work with symlink based
14965         source trees.
14966
14967         * extend.texi: Clarify some issues related to local variables
14968         assigned to explicit registers.
14969
14970         * mn10300.md (mulsi): Turn into expander + pattern.
14971
14972         * mn10300.md (movsi, movsf, movdi, movdf): Remove "x" from I -> a
14973         alternative.
14974
14975 Tue Jul 14 07:41:59 1998  Richard Earnshaw  (rearnsha@arm.com)
14976
14977         * arm/tcoff.h (USER_LABEL_PREFIX): Make it empty to match coff.h.
14978
14979 Tue Jul 14 03:02:44 1998  Jeffrey A Law  (law@cygnus.com)
14980
14981         * version.c: Bump again to distinguish mainline tree from the
14982         egcs-1.1 branch.
14983
14984 See ChangeLog.0 for earlier changes.
14985
14986 Local Variables:
14987 add-log-time-format: current-time-string
14988 End: