OSDN Git Service

* lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-03-07  Richard Henderson  <rth@redhat.com>
2
3         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
4         of block notes and exception handling notes.
5
6         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
7         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
8         (compile_file): ... here.
9
10 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11
12         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
13
14         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
15         config.h now.  Include libiberty.h to handle alloca.
16
17 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
18
19         * c-parse.in (yylexname): New function, split out of _yylex.
20         (objc_rid_sans_at): New table.
21         (init_reswords): Initialize it.
22         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
23         retrieving the next token and checking it for significance as
24         an ObjC keyword or string constant.
25
26         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
27         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
28
29         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
30         to CPP_OSTRING.
31
32 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
33
34         * config/m68k/m68k.c (const_uint32_operand): Accept any
35         const_int on a 32-bit host.
36
37 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
38
39         * objc/objc-act.c (init_objc): Set save_lang_status,
40         restore_lang_status, and mark_lang_status.
41
42 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
43
44         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
45
46 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
47
48         * cppinternals.texi: Update.
49
50 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
51
52         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
53         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
54         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
55         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
56         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
57         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
58         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
59         config/i386/xm-i386.h, config/i860/xm-i860.h,
60         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
61         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
62         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
63         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
64         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
65         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
66         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
67         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
68         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
69         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
70         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
71         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
72         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
73         match the defaults provided in hwint.h.
74
75         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
76         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
77
78         * config.gcc (xm_file): Don't set to files which are deleted.
79
80         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
81         guard this file against these macros being undefined.
82
83 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
84
85         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
86         and DECL_DEFER_OUTPUT on the decl we create, before calling
87         rest_of_decl_compilation.
88
89 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
90
91         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
92         AC_FUNC_ALLOCA.
93         * configure, config.in: Regenerate.
94         * config.gcc: Remove references to deleted files.
95
96         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
97         genrecog.c, rtl.c: Do not use alloca anywhere.
98
99         * Makefile.in, build-make, system.h, config/x-interix,
100         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
101         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
102         config/arc/xm-arc.h, config/arm/xm-arm.h,
103         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
104         config/h8300/xm-h8300.h, config/i370/x-oe,
105         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
106         config/i386/x-ncr3000, config/i386/x-sco5,
107         config/i386/xm-dgux.h, config/i860/x-sysv4,
108         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
109         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
110         config/m68k/x-hp320g, config/m69k/x-mot3300,
111         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
112         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
113         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
114         config/m88k/x-sysv4, config/m88k/x-tekXD88,
115         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
116         config/mips/x-iris, config/mips/x-iris3,
117         config/mips/x-sni-svr4, config/mips/x-sysv,
118         config/mips/xm-iris6.h, config/mips/xm-mips.h,
119         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
120         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
121         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
122         config/pa/xm-papro.h, config/romp/xm-romp.h,
123         config/rs6000/x-aix31, config/rs6000/x-aix41,
124         config/rs6000/x-beos, config/rs6000/x-lynx,
125         config/rs6000/x-mach, config/rs6000/x-rs6000,
126         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
127         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
128         config/sparc/x-sysv4, config/sparc/xm-linux.h,
129         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
130         config/vax/xm-vms.h: Eradicate all references to alloca and
131         related stuff.
132
133         * config/xm-alloca.h, config/clipper/x-clix,
134         config/i386/xm-sysv4.h, config/i860/x-fx2800,
135         config/i860/x-sysv3, config/m88k/x-sysv3,
136         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
137         (contained only alloca related hacks).
138
139         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
140         USE_C_ALLOCA.
141
142 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
143
144         * invoke.texi: Document __FAST_MATH__.
145
146 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
147
148         * crtstuff.c: Restore include of auto-host.h.
149
150 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
151
152         Put main() in a separate file, so that the language
153         front-end can use a different main().
154
155         * main.c: New.
156         * toplev.c: (main): Rename as toplev_main.
157         * toplev.h: Declare toplev_main.
158         * Makefile.in (OBJS): add toplev.o.
159           (BACKEND): remove toplev.o, add main.o.
160
161 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
162
163         * cppfiles.c (search_from): Special case the empty string.
164
165 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
166
167         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
168         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
169         strlen or strcpy; we already know the length.
170         (_cpp_compare_file_date): Similarly.
171         * cpphash.h (struct cpp_reader): Delete done_initialising.
172         (CPP_PREV_BUFFER): Delete.
173         * cppinit.c (cpp_start_read): Don't set done_initialising.
174         * cpplex.c (parse_string): Guarantee null-termination.
175         (_cpp_equiv_toklists): Remove.
176         * cpplib.c (glue_header_name): Null-terminate.
177         (do_line): Don't leak memory.
178         * cpplib.h (BT_WEAK): Delete.
179         * cppmain.c (cb_ident): Strings are now null-terminated.
180
181 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
182
183         * gcc.c (convert_filename): Append executable suffix
184         if NO_AUTO_EXE_SUFFIX is not defined.
185         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
186         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
187
188 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
189
190         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
191         * c-parse.gperf, c-gperf.h: Delete.
192         (c-gperf.h was accidently re-added to the CVS repo in the rev
193         1.16 commit by tromey)
194
195 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
196
197         * cpplex.c (_cpp_lex_token): Don't warn about directives in
198         macro arguments when looking for the '('.
199         * cppmacro.c (funlike_invocation_p): Set parsing_args to
200         2 when really parsing arguments; 1 when looking for '('.
201         Always restore the lexer position.
202
203 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
204
205         * longlong.h (umul_ppmm): Don't use a multiline string.
206
207 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
208
209         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
210         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
211         t_bool in declaration because pcc can't combine volatile with typedef
212         types.
213
214 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
215
216         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
217         until when it is really needed.
218         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
219         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
220         * i386.md (float?i?f splitter): Don't force source operand to memory
221         for SSE.
222         (sse_movdfcc): Fix constraint.
223         (sse_movdfcc splitter): Handle properly the second alternative.
224
225 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
226
227         * cpplex.c (parse_string): Unconditionally pedwarn.
228
229 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
230
231         * cpp.texi: Update.
232         * cppexp.c (parse_number): Update.
233         * cpplex.c (parse_string): Pedwarn if multiline string does not
234         result from a system header's macro.
235         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
236         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
237         for function-like macros too.
238         * c-lex.c (lex_number): Update.
239
240 2001-03-03  Richard Henderson  <rth@redhat.com>
241
242         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
243
244 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
245
246         * combine.c (try_combine): If split with mode-changed scratch
247         register didn't work, try the original mode.
248
249 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
250
251         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
252         * config/c4x/c4x.h: Likewise.
253         * stor-layout.c (compute_record_mode): Likewise.
254         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
255
256 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
257
258         * configure.in: Kill tm.h.  Include the files in the $tm_file
259         list in all three of config.h, hconfig.h, tconfig.h, after the
260         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
261         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
262         * configure: Regenerate.
263         * Makefile.in (clean): Don't delete tm.h.
264
265         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
266         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
267         those are not defined, set SEC and FEC to 0 and 1.
268         * gcc.texi: Update to match.
269
270         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
271         * config/fp-bit.c, config/m68k/aux-crt2.asm,
272         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
273         Include tconfig.h, not tm.h.
274
275         * config/xm-lynx.h, config/xm-std32.h,
276         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
277         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
278         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
279         config/clipper/xm-clix.h, config/convex/xm-convex.h,
280         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
281         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
282         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
283         config/i386/xm-i386.h, config/i860/xm-i860.h,
284         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
285         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
286         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
287         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
288         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
289         config/pa/xm-linux.h, config/pa/xm-pa.h,
290         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
291         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
292         config/pj/xm-pj.h, config/romp/xm-romp.h,
293         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
294         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
295         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
296         config/v850/xm-v850.h, config/vax/xm-vax.h,
297         config/we32k/xm-we32k.h:
298         Don't include tm.h.
299         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
300
301         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
302         config/i370/xm-oe.h: Don't include tm.h.  Don't define
303         SUCCESS_EXIT_CODE.
304         * config/vax/xm-vms.h: Don't include tm.h.
305
306         * config/xm-lynx.h, config/avr/xm-avr.h,
307         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
308         Delete; made empty by above changes.
309         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
310         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
311         Don't include config/xm-lynx.h or tm.h.
312
313         * config/xm-gnu.h: Don't include fcntl.h.
314         * config/sparc/xm-lynx.h: Don't include sys/types.h and
315         sys/wait.h.
316         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
317
318 2001-03-02  Richard Henderson  <rth@redhat.com>
319
320         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
321         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
322
323 2001-03-02  Richard Henderson  <rth@redhat.com>
324
325         * Makefile.in (OBJS): Add dwarf2asm.o.
326         * dwarf2asm.c, dwarf2asm.h: New files.
327         * dwarf2out.c (*): Use them.
328         (size_of_uleb128, size_of_sleb128): Remove.
329         (output_uleb128, output_sleb128): Remove.
330         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
331         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
332         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
333         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
334         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
335         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
336         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
337         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
338         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
339         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
340         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
341         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
342         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
343         (dwarf2out_frame_debug): Remove unused variables.
344         (output_loc_operands): Don't abort on 8 byte constants if
345         host integers are wide enough.
346         (output_symbolic_ref): Remove.
347         (size_of_die): Don't assume 4 byte host integers.
348         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
349         and end labels.
350         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
351         something stupid with HOST_WIDE_INT to long truncation.
352         [CONST_DOUBLE]: Likewise.
353
354         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
355         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
356         * config/arm/unknown-elf.h: Likewise.
357         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
358         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
359         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
360         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
361         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
362         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
363         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
364         (ASM_OUTPUT_DWARF_OFFSET): Remove.
365         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
366         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
367         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
368         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
369
370 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
371
372         * cselib.c (hash_rtx): Cast enums to unsigned int.
373
374 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
375
376         * print-rtl.c (print_rtx): Cast enums to int for comparison.
377         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
378         shifts.
379         * c-format.c (C_STD_VER): Cast to int for comparisons.
380         (check_function_format): Cast various enums to int for &.
381         (maybe_read_dollar_number): Likewise.
382         (check_format_info): Likewise.
383         (check_format_info_main): Likewise.
384         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
385         (safe_from_p): Likewise.
386         * varasm.c (const_hash): Cast enum to int for %.
387         * emit-rtl.c (init_emit_once): Use int loop variable to work around
388         pcc enum problems with < and ++ operators.
389         * regclass.c (init_reg_sets_1): Cast enums for comparison.
390         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
391         (regclass_init): Change enum class to int to iterate over reg_classes.
392         * genrecog.c (merge_trees): Cast enums for comparison.
393         * rtl.h (GET_CODE): Cast to enum rtx_code.
394         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
395         (GET_MODE): Cast to enum machine_mode.
396         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
397         (GET_NOTE_INSN_NAME): Cast enum to int.
398         * tree.h (TREE_CODE): Cast to enum tree_code.
399         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
400         * timevar.c (timevar_print): Change loop variable id from enum to
401         unsigned int.
402         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
403         * config/i386/i386.md: Use PUT_MODE for mode assignment.
404         * toplev.c (compile_file): Cast enum DFI to int.
405         (decode_d_option): Likewise.
406
407 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
408
409         * cppinit.c (append_include_chain): Mark "after" include file name list
410         as a system directory.
411         * cpp.texi: Document new behavior.
412
413 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
414
415         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
416
417 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
418
419         * cppfiles.c (struct include_file): Update.
420         (stack_include_file): Use search_from.
421         (cpp_included, find_include_file): Update.
422         (cpp_execute_include): Update.  ptr->name may not be
423         null terminated.  Use the new search_from member variable
424         of cpp_buffer.
425         (_cpp_compare_file_date): Similarly.
426         (search_from): New function, similiar to actual_directory.
427         (actual_directory): Delete.
428         (remap_filename): Update.  loc->name may not be null terminated.
429         (struct file_name_list): Rename search_path.  Update.
430         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
431         search_from and dir.
432         (struct cpp_reader): Remove actual_dirs.
433         * cppinit.c (struct cpp_pending): Update for renamed objects.
434         (append_include_chain, remove_dup_dir, remove_dup_dirs,
435         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
436         * cpplib.h (struct cpp_options): Similarly.
437
438 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
439
440         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
441         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
442         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
443         config/clipper/xm-clix.h, config/convex/xm-convex.h,
444         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
445         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
446         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
447         config/i370/xm-linux.h, config/i370/xm-mvs.h,
448         config/i370/xm-oe.h, config/i386/xm-aix.h,
449         config/i386/xm-i386.h, config/i386/xm-osf.h,
450         config/i860/xm-i860.h, config/i960/xm-i960.h,
451         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
452         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
453         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
454         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
455         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
456         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
457         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
458         config/pj/xm-pj.h, config/romp/xm-romp.h,
459         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
460         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
461         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
462         config/v850/xm-v850.h, config/vax/xm-vax.h,
463         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
464         Do not define TRUE or FALSE.
465
466         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
467         empty by above change.
468         * config.gcc: Remove references to these files.
469
470         * configure.in: Detect stdbool.h.
471         * configure, config.in: Regenerate.
472         * system.h: Include stddef.h here if available.
473         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
474         Then set up a sensible boolean type at the very end.
475
476         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
477         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
478
479         * hash.h: Delete 'boolean' typedef and related #undefs.
480
481         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
482         all uses of 'boolean' with 'bool'.
483
484 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
485
486         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
487         * cppexp.c (lex): Cast enums for comparison.
488         * cppinit.c (parse_option): Cast enum for comparison.
489         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
490         (cpp_output_token): Likewise.
491         (cpp_can_paste): Cast enums for comparsion and plus/minus.
492         (cpp_avoid_paste): Cast enums for minus and comparison.
493
494 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
495
496         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
497         field to all array elements.
498
499 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
500
501         * cpphash.h (struct cpp_reader): Add print_version field.
502         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
503         just set print_version and other flags as appropriate.
504         (cpp_post_options): Print version here if print_version is set.
505
506         * toplev.c (exit_after_options): New flag.
507         (independent_decode_option): Don't exit here; just set
508         exit_after_options.
509         (main): Exit after calling lang_hooks.post_options if
510         exit_after_options is true.
511
512         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
513         (merge_include_chains): Adjust comment to match code.
514
515 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
516
517         * stringpool.c (set_identifier): New function.
518         * tree.h: Prototype it.
519
520         * c-parse.in: Kill D_YES. If compiled for objc, call
521         save_and_forget_protocol_qualifiers from init_reswords.
522         * objc/objc-act.c (remember_protocol_qualifiers,
523         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
524         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
525         vice versa.
526         (save_and_forget_protocol_qualifiers): New function.
527         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
528
529 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
530
531         * c-semantics.c (prune_unused_decls): Return error_mark_node
532         instead of (tree) 1 to stop traversing the tree chain.
533
534 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
535
536         Fix a problem introduced by Kenner's Feb 18 change.
537         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
538         flag_cse_skip_blocks only temporarily, not for ever.
539
540 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
541
542         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
543         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
544
545         * pa.c (emit_move_sequence): Verify operand0 is a hard register
546         before determining its register class.
547
548 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
549
550         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
551         from reg 4 if current_function_calls_setjmp.
552         (gen_nop_type): New function.
553         (ia64_emit_nops): New function.
554         (ia64_reorg): Call it.
555         (ia64_sched_reorder): Move code that rotates bundles up a bit.
556
557         * reload1.c (eliminate_regs_in_insn): Restrict the special case
558         code not to try to optimize adds with anything but a REG destination.
559
560         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
561         (INSN_PRIORITY_KNOWN): New accessor macro.
562         * haifa-sched.c (priority): Use it instead of testing priority against
563         zero.
564
565 2001-02-28  DJ Delorie  <dj@redhat.com>
566
567         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
568         since that doesn't work the way gcc wants on a generic m68k.
569
570 2001-02-28  Richard Henderson  <rth@redhat.com>
571
572         * caller-save.c (save_call_clobbered_regs): Fix typo in
573         comparison last change.
574
575 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
576
577         * i386.c (pentium4_cost): New.
578         (m_PENT4): New macro.
579         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
580         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
581         x86_integer_DFmode_moves, x86_partial_reg_dependency,
582         x86_memory_mismatch_stall): Add Pentium4
583         (x86_use_q_reg, x86_use_any_reg): Kill.
584         (override_options): Add pentium4.
585         (incdec_operand): Return 0 for pentium4.
586         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
587         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
588         (TARGET_PENTIUM4): Define.
589         (enum processor_type): Add PROCESSOR_PENTIUM4.
590         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
591         * i386.md (attribute "cpu"): Add pentium4.
592         * invoke.texi (march): Add pentium4.
593
594 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
595
596         * i386.md (sse_mov?fcc*): New patterns and splitters.
597         * i386.c (ix86_expand_movcc): Work post-reload; recognize
598         the SSE based conditional moves.
599
600 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
601
602         * i386.md (attribute mode): Add "TI".
603         (movsf_1): Add pxor support; remove constant propagation splitter.
604         (movdf_integer): Likewise.
605         (movdf_nointeger): Likewise.
606         (movxf constant prop splitter): Handle all modes; update for SSE.
607         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
608         * i386.c (standard_80387_constant_p): Rewrite.
609         (standard_sse_constant_p): New.
610         * i386-protos.h (standard_sse_constant_p): New.
611
612 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
613
614         * i386.md (sse_setccsf, sse_setccdf): New.
615         (sse_cmp* patterns): Use '%D' instead of outputtting condition
616         flag directly.
617         * i386.c (sse_comparison_operator): Accept the supported unordered
618         comparses; be ready for fast_math.
619         (print_operand): Support 'D'.
620
621 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
622
623         * jump.c (reversed_comparison_code): Kill.
624
625 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
626
627         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
628         for STACK_REGS
629
630 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
631
632         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
633         add missing '%' in constraints.
634
635 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
636
637         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
638         for HOST_BITS_PER_WIDE_INT == 32 too.
639
640 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
641
642         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
643         NREGS.
644         (insert_save, insert_restore): New parameter save_mode.
645         (init_caller_save): Update initialization of reg_save_code
646         and reg_restore_code.
647         (save_call_clobbered_regs):  Compute save_modes and update calls to
648         reg_save_code and reg_restore_code.
649         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
650         of spill; update use of reg_restore_code.
651         (insert_save):  Likewise.
652         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
653         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
654         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
655
656 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
657
658         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
659         noce_try_store_flag_inc, noce_try_store_flag_mask,
660         noce_try_cmove_arith):
661         Use reversed_comparison_code instead of reverse_comparison and
662         can_reverse_comparison_p.
663
664 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
665
666         * jump.c (reversed_comparison_code_parts): Allow reversal of
667         unordered compares in -ffast-math mode; reverse ordered compares
668         for FP even w/o -ffast-math.
669
670 2001-02-27  Richard Henderson  <rth@redhat.com>
671
672         * print-rtl.c (print_rtx) [i]: Don't print field five on
673         NOTEs other than NOTE_INSN_DELETED_LABEL.
674
675 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
676
677         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
678         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
679
680 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
681
682         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
683         even if walk_subtrees is 0.
684         * c-semantics.c (prune_unused_decls): Return a non-null value to
685         stop traversing the tree chain.
686
687 2001-02-27  DJ Delorie  <dj@redhat.com>
688
689         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
690         register, *then* define it as the new CFA.
691
692 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
693
694         * pa.c (override_options): Promote -fpic to -fPIC.
695         (legitimize_pic_address): Simplify due to removal of
696         small PIC as a code generation option.
697         (secondary_reload_class): Similarly.
698         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
699         (PRINT_OPERAND_ADDRESS): Similarly.
700         * pa.md (various patterns): Similarly.
701         (small pic lo_sum pattern): Remove.
702
703 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
704                               Fergus Henderson
705
706         * md.texi (min, max): Document
707
708 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
709
710         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
711         TARGET_PARTIAL_REG_DEPENDENCY.
712         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
713
714 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
715
716         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
717
718 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
719
720         * mips.c (mips_make_temp_file): Fix thinko in last change.
721
722 2001-02-26  Jason Eckhardt  <jle@redhat.com>
723
724         * combine.c (known_cond): Do not reverse the condition when
725         SMAX/UMAX is being considered and the condition is for equality
726         or inequality.
727
728         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
729
730 2001-02-26  Philip Blundell  <philb@gnu.org>
731
732         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
733         "armv2-*-linux".
734         * config/arm/linux-elf.h: Remove historical relics related to
735         above configurations.
736         * config/arm/linux-oldld.h: Delete.
737         * config/arm/linux-elf26.h: Delete.
738
739 2001-02-26  Jason Merrill  <jason@redhat.com>
740
741         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
742         definitions.
743         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
744         recognize a tentative definition.  Lose obsolete code.
745
746         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
747         variables unless necessary, either.
748
749 2001-02-25  Richard Henderson  <rth@redhat.com>
750
751         * ifcvt.c (struct noce_if_info): Add test_bb.
752         (noce_get_alt_condition): New.
753         (noce_try_minmax, noce_try_abs): New.
754         (noce_operand_ok): New.
755         (noce_process_if_block): Use them.
756         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
757
758 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
759
760         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
761         include.
762
763 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
764
765         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
766         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
767         properly.
768         (mips_asm_file_end): Free temp_filename here.
769
770 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
771
772         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
773         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
774
775         * config/i386/i386.md (movstrsi): Handle FAIL case.
776
777 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
778
779         * cppinit.c (builtin_array): Update.
780         (init_builtins): Flag builtins to warn if redefined or
781         undefined.  Define __GXX_WEAK as a normal macro.
782         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
783         * cpplib.h (NODE_WARN): New flag.
784         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
785         Handle __STDC__ as a builtin only on Solaris.
786         (warn_of_redefinition): Renamed from check_macro_definition.
787         Reverse sense of test.  Always warn if NODE_WARN.
788         (_cpp_create_definition): Use warn_of_redefinition.  Flag
789         any macro beginning with "__STDC_" to require a mandatory
790         warning if redefined or undefined.
791
792 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
793
794         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
795         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
796         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
797         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
798         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
799         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
800         Don't define any of:
801         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
802         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
803         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
804         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
805         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
806
807         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
808         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
809         definitions.
810
811         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
812         Delete now-empty file.
813
814         * alpha/vms.h: Define NEED_ATEXIT here...
815         * alpha/xm-vms.h: ...not here.
816
817         * i386/cygwin.h: Don't define PARAMS.
818         * mips/mips.c: Don't prototype mktemp.  Don't define
819         P_tmpdir.  Use make_temp_file to create temporary files.
820         Don't be clever and delete temporary files early.
821         * config.gcc: Drop references to deleted files.  Don't define
822         FULL_PROTOTYPES.
823         * gcc.texi: Don't mention USE_PROTOTYPES.
824
825 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
826
827         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
828         (ix86_set_move_mem_attrs_1): Likewise.
829         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
830         * config/i386/i386.md (movstrsi): Call it.
831
832 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
833
834         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
835         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
836         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
837         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
838
839         (i750a-*-*): Error here if hosting on i750a.
840         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
841
842         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
843         Remove (empty modulo comments).
844
845         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
846         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
847         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
848         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
849         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
850         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
851
852         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
853         Remove reference to winnt.h in comment.
854         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
855
856 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
857
858         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
859         used to set another biv.
860
861 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
862
863         * tree.h (BLOCK_DEAD): New macro.
864         (struct tree_block): New flag, dead_flag.
865         * print-tree.c (print_node, case 'b'): Print missing fields.
866         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
867         * function.c (identify_blocks): Enable test for misplaced notes.
868         (all_blocks): Skip BLOCK_DEAD blocks.
869         * integrate.c (integrate_decl_tree): Likewise.
870
871         * errors.c (internal_error, trim_filename): New functions.
872         (fancy_abort): Call internal_error.
873         * errors.h (internal_error, trim_filename): New declarations.
874
875 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
876
877         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
878         2000-08-26's patch.
879         (EXTRA_CONSTRAINT): Formatting changes.
880
881 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
882
883         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
884
885 2001-02-23  Per Bothner  <per@bothner.com>
886
887         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
888         so they can be called from java/jvspec.c.
889         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
890
891 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
892
893         * i386.c (ix86_frame): New structure.
894         (ix86_compute_frame_size): Kill.
895         (ix86_compute_frame_layout): New.
896         (ix86_save_reg): New.
897         (ix86_can_use_return_insn_p): Use frame layout stuff.
898         (ix86_expand_prologue): Likewise.
899         (ix86_expand_epilogue): Likewise.
900         (ix86_initial_elimination_offset): Likewise.
901         (ix86_nsaved_regs): Use ix86_save_reg.
902         (ix86_emit_save_regs): Likewise.
903
904 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
905
906         * flow.c (find_sub_basic_blocks): New function.
907         (split_block): Be ready for basic block introduced by CODE_LABEL.
908         (commit_one_edge_insertion): Call find_sub_basic_block.
909
910         * flow.c (make_edges): Add edge from entry for blocks starting with
911         label having ALTERNATE_NAME
912
913 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
914
915         * function.c (epilogue_done): Be ready for first basic block not
916         containing PROLOGUE_END note.
917         (reposition_prologue_and_epilogue_notes): Avoid placing
918         PROLOGUE_END note between BASIC_BLOCK.
919
920 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
921
922         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
923
924 2001-02-21  DJ Delorie  <dj@redhat.com>
925
926         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
927         check for current_function_has_nonlocal_goto from 1999-11-12.
928
929 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
930
931         * diagnostic.c (trim_filename): No longer static.
932         * toplev.h (trim_filename): Declare.
933         * rtl.c (rtl_check_failed_bounds): Call internal_error.
934         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
935         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
936         (rtvec_check_failed_bounds): Likewise.
937         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
938
939         * convert.c (convert_to_integer): Don't do unsigned unless result or
940         both inputs are unsigned.
941
942         * fold-const.c (fold_convert): Don't call size_int_type_wide if
943         input overflows.
944
945         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
946
947         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
948
949 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
950
951         * Makefile.in (resource.o): Add params.h dependence.
952         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
953         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
954         * resource.c: Add dependence on params.h.
955         (current_live_regs): Fix explanatory comment.
956         (find_basic_block): Add new parameter to permit limiting search
957         for a BARRIER.
958         (mark_target_live_regs): Add new argument to find_basic_block call.
959         (incr_ticks_for_insn): Likewise.
960
961 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
962
963         * diagnostic.c (output_to_stream): Rename to
964         output_buffer_to_stream. Loses the stream parameter.
965         (init_output_buffer): Set diagnosic_buffer's stream.
966         (flush_diagnostic_buffer): Adjust.
967         (default_print_error_function): Likewise.
968         (finish_diagnostic): Likewise.
969         (verbatim): Likewise.
970
971         * diagnostic.h (struct output_buffer): Add `stream' field.
972         (output_buffer_attached_stream): New macro.
973
974 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
975
976         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
977         check if either operand is divisible by C.
978         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
979         If type is signed, consider negative numbers as well.
980
981 2001-02-22  Richard Henderson  <rth@redhat.com>
982
983         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
984         reach .text instead of gp-relative relocs.
985         * config/ia64/crtend.asm (.init): Likewise.
986
987 2001-02-22  Andreas Jaeger  <aj@suse.de>
988
989         * extend.texi (C++ Attributes): Fix typo.
990
991 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
992
993         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
994         functions, drop current_function_args_info.words test.
995         (ia64_compute_frame_size): Mark syscall_linkage functions as
996         using eight input registers.
997
998 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
999         Bruce Korb  <bkorb@gnu.org>
1000
1001         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
1002         * fixinc/README: Document how to convert sed substitutions
1003         to format style c_fix-es.
1004         * fixinc/fixincl.x: regen
1005
1006 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
1007
1008         * gcc.c: Add comment explaining how to add a command-line option.
1009         Add title to specs language comment.
1010
1011 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
1012
1013         * gcc.c (cc1_options): Add "-param".
1014         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
1015         (option_map): Likewise.
1016         * toplev.c (display_help): Add entry for "--param".
1017         (independent_decode_option): Fix typographical error.
1018
1019 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
1020                               Bernd Schmidt  <bernds@redhat.com>
1021                               Jan Hubicka  <jh@suse.cz>
1022
1023         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
1024         (function_arg): Likewise.
1025
1026 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
1027
1028         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
1029
1030 2001-02-21  Kazu Hirata  <kazu@hxi.com>
1031
1032         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
1033         character.
1034         (xorsi3): Likewise.
1035
1036 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
1037
1038         * flow.c (init_propagate_block_info): Canon address and use single_set
1039         for killing dead memory stores.
1040
1041 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
1042
1043         * Makefile.in (reorg.o): Add params.h dependence.
1044         * params.def: Fix typographical error in comment.
1045         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
1046         * params.h: Modify introductory comment.
1047         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
1048         * reorg.c: Add dependence on params.h.
1049         (redundant_insn): Add parameterized throttle for search.
1050         (fill_simple_delay_slots): Add a comment explaining a variable.
1051         Move conditional out of loop, simplifying code.
1052         (fill_eager_delay_slots): Fix typographical error in comment.
1053
1054 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
1055
1056         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
1057
1058         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
1059         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
1060
1061 2001-02-21  Jason Merrill  <jason@redhat.com>
1062
1063         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
1064         (struct tree_decl): Add uninlinable bitfield.
1065         * c-decl.c (duplicate_decls): Set it.
1066         * integrate.c (function_cannot_inline_p): Check it.
1067
1068         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
1069         DW_AT_MIPS_linkage_name to abstract methods.
1070         (dwarf2out_abstract_function): Emit class context before calling
1071         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
1072         (gen_subprogram_die): Remove obsolete code.
1073         (gen_member_die): Don't include clones in the member list.
1074         (gen_decl_die): Emit abstract info for clone origin.
1075         * dwarfout.c (output_type): Don't include clones in the member list.
1076         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
1077         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
1078         DECL_ABSTRACT on a function that already has it set.
1079
1080         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
1081         (get_subprogram_die): Pass it in.
1082
1083 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
1084
1085         * flow.c (mark_set_1): Make not_dead unsigned long.  For
1086         non-pseudos, use it as a bitmask of the hard regs that
1087         don't die.
1088
1089 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
1090
1091         * cppfiles.c: Update comments.
1092         (_cpp_read_file): Don't check for NULL filenames any more.
1093         * cppinit.c (cpp_start_read): Don't do canonicalization of
1094         in_fname and out_fname.  Use the passed file name exclusively.
1095         (_cpp_handle_options): Don't treat "-" as a command line option,
1096         but as a normal filename.
1097         (_cpp_post_options): Canonicalize in_fname and out_fname.
1098         * cppmain.c (printer_init): Don't check out_fname for NULL.
1099         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
1100         (init_c_lex): Update, and use "" to represent stdin to CPP.
1101         (yyparse): Update.
1102
1103 2001-02-20  Will Cohen  <wcohen@redhat.com>
1104
1105         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
1106         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
1107         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
1108         fixunstfsi_libfunc.
1109
1110 2001-02-20  Stan Shebs  <shebs@apple.com>
1111
1112         * config/rs6000/rs6000.c (output_cbranch): Output branches
1113         on separate lines instead of using ';' to separate.
1114
1115 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
1116
1117         * cppinit.c (set_lang):  Move builtin handling to...
1118         (init_builtins): ...here.
1119         (_cpp_create_reader): Move call to set_lang.
1120
1121 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
1122
1123         * stmt.c (expand_return): If an attempt is made to return the
1124         error_mar_node, treat the return like a return without a value.
1125
1126 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
1127
1128         * sibcall.c (skip_copy_to_return_value): Call
1129         identify_call_return_value here, and return orig_insn if it
1130         returns zero.  Hardret and softret arguments now unnecessary.
1131         (call_ends_block_p): Don't call identify_call_return_value here.
1132
1133         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
1134         's' slots in RTXen.
1135         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
1136         * ggc.h (ggc_mark_if_gcable): Delete prototype.
1137
1138 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
1139
1140         * pa.c (move_operand): Accept code to load the address of a
1141         symbol out of the DLT as a valid move operand.
1142         (print_operand, case 'A'): New to handle generating a DLT
1143         reference for a LO_SUM expression.
1144         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
1145         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
1146
1147 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
1148
1149         * README, cpp.texi, gcc.texi, version.c: Update version number to
1150         3.1.
1151         * cpp.1, gcov.1, gcc.1: Regenerate.
1152
1153 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
1154
1155         * cppfiles.c (stack_include_file): Generate dependencies
1156         here, and manage include_count here too.
1157         (PRINT_THIS_DEP): Delete.
1158         (_cpp_execute_include): Do not generate dependencies here,
1159         apart from the case of a missing header.  Do not manage
1160         include_count.
1161         (_cpp_read_file): Leave dependency generation to
1162         stack_include_file.
1163
1164 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
1165
1166         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
1167         target_cpu_default.  Remove dead assignment to
1168         target_cpu_default.
1169
1170 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
1171
1172         * regclass.c (contains_reg_of_mode): Make global.
1173         (init_reg_sets): Remove contains_reg_of_mode; take into account
1174         CLASS_MAX_NREGS when looking for the proper mode.
1175         (dump_regclass): Dump only classes considered for the pseudo.
1176         (regclass): Use contains_reg_of_mode.
1177
1178 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
1179
1180         * gcc.c (do_spec_1): 'n' for printing notices.
1181         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
1182
1183 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
1184
1185         * reg-stack.c (next_flags_user): Use current_block->end
1186         (swap_rtx_condition): Look for next user if flags don't die;
1187         give up on CALL_INSNs; use current_block->end.
1188
1189 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1190
1191         * sibcall.c (call_ends_block_p): New function.
1192         (optimize_sibling_and_tail_recursive_call): Use it.
1193
1194 2001-02-18  Kazu Hirata  <kazu@hxi.com>
1195
1196         * config/h8300/h8300.md: Update copyright.
1197         (andsi3): Do not output an extra newline character.
1198
1199 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1200
1201         * toplev.c (note_deferral_of_defined_inlined_function): Argument
1202         FNDECL may be unused.
1203
1204         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
1205         follow jumps after first run.
1206         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
1207         it doesn't change any jumps.
1208
1209 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
1210
1211         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
1212         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
1213         (mostlyclean): Corresponding changes.
1214         * rtlanal.c (hard-reg-set.h): Include.
1215         (rtx_unstable_p): Do not treat the argument pointer specially
1216         if it is not a fixed register.
1217         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
1218
1219 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1220
1221         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
1222         against last real insn in basic block.
1223         Rework to avoid gotos.
1224
1225         * Makefile.in (gcse.o): Now includes ggc.h.
1226         * gcse.c: Include ggc.h.
1227         (want_to_gcse_p): Verify expression can be in SET as valid insn.
1228         (try_replace_reg): Remove warning of uninitialize variable.
1229         (process_insert_insn): Call invalid_insn_p to validate insn.
1230         * recog.c (insn_invalid_p): Now global.
1231         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
1232         * recog.h (insn_invalid_p): New declaration.
1233
1234         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
1235
1236         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
1237         assignments from FP constants since 'Y' output code can't handle it.
1238         (eligible_for_sibcall_delay): Likewise.
1239
1240         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
1241         Call fancy_abort directly, passing args.
1242         (print_rtl_and_abort): Now a macro, like fancy_abort.
1243
1244         * final.c (output_operand_lossage): Use internal_error, not error.
1245
1246 2001-02-18  Shane Nay  <shane@agendacomputing.com>
1247
1248         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
1249         structure shift insns.
1250
1251 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
1252
1253         * invoke.texi (-fsquangle): Remove documentation.
1254         (-fname-mangling-version): Likewise.
1255
1256 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
1257
1258         * optabs.c (expand_abs): Remove reference to
1259         HAVE_contitional_arithmetic.
1260         * combine.c (simplify_set): Likewise.
1261
1262 2001-02-18  Richard Henderson  <rth@redhat.com>
1263
1264         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
1265         would be disrupted.
1266
1267 2001-02-18  Richard Henderson  <rth@redhat.com>
1268
1269         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
1270
1271         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
1272
1273         * reload1.c (reload_cse_simplify_set): Fix typo.
1274
1275 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1276
1277         * diagnostic.c (_fatal_insn): Decrement errorcount.
1278
1279         * invoke.texi (-I): Add note avoiding use for system header files.
1280
1281         * rtl.h (add_clobbers): Remove duplicate declaration.
1282         * recog.h (added_clobbers_hard_reg_p): New declaration.
1283         * genemit.c (struct clobber_pat): New field has_hard_reg.
1284         (gen_insn): Record if added clobbers clobber hard reg.
1285         (gen_split): Avoid unused warning if number of operands is 0.
1286         (output_added_clobbers_hard_reg_p): New function.
1287         (main): Call it.
1288
1289 2001-02-18  Alan Modra <alan@linuxcare.com.au>
1290
1291         * pa.c (hppa_expand_prologue): Simplify code storing return
1292         pointer.  For large (>=8k) frames with a post_store, adjust stack
1293         pointer by 8k-64 first rather than by 64.  When testing with
1294         VAL_14_BITS_P, always use the actual value rather than the value
1295         negated.  Add blockage to prevent scheduling of spills before
1296         stack frame has been created.
1297         (hppa_expand_epilogue): Simplify code loading return pointer.
1298         Allow a slightly larger range for merge_sp_adjust_with_load case.
1299         When testing with VAL_14_BITS_P, always use the actual value.
1300
1301         * pa.c (pa_adjust_insn_length): Check that block move
1302         pattern is a set before looking at operands.
1303
1304 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
1305
1306         * fold-const.c (fold_binary_op_with_conditional_arg): New
1307         function, split out from ...
1308         (fold): ... here.
1309         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
1310         conditional arms that throw exceptions.
1311
1312         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
1313         looking at a BLOCK.
1314
1315 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1316
1317         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
1318         define HAVE_DECL_* to 1 to mask potential backup declarations.
1319         * configure: Regenerated.
1320
1321 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
1322
1323         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
1324
1325 2001-02-17  Richard Henderson  <rth@redhat.com>
1326
1327         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
1328         when replacing a memory load with a register.
1329
1330 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1331                           Jan Hubicka  <jh@suse.cz>
1332
1333         * recog.c (validate_replace_src_1): New.
1334         (validate_replace_src_data): Likewise.
1335         (validate_replace_src): Use note_uses.
1336         * rtl.h (note_uses): Declare.
1337         * rtlanal.c (note_uses): New.
1338
1339 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
1340
1341         * reg-stack.c (stack_def): Make field reg unsigned.
1342         (remove_regno_note): Unsignetize parameter.
1343
1344 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
1345
1346         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
1347         shladd_operand() call.
1348
1349 2001-02-16  Bruce Korb  <bkorb@gnu.org>
1350             Rodney Brown  <RodneyBrown@mynd.com>
1351
1352         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
1353         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
1354         machine restrictions
1355         * fixinc/fixincl.x: regen
1356
1357 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1358
1359         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
1360         Don't CSE a nop.
1361         (hash_scan_insn): Clean up calls to hash_scan_set.
1362         (compute_kill_rd): REGNO now unsigned.
1363         (try_replace_reg): Rework to use simplify_replace_rtx.
1364         (cprop_jump, cprop_cc0_jump): Likewise.
1365         (cprop_insn): Call find_reg_equal_equiv_note.
1366         Reflect changes to cprop_jump and cprop_cc0_jump.
1367
1368         * recog.c (validate_replace_src): Replace in operands of
1369         ZERO_EXTRACT in SET_DEST.
1370
1371         * cse.c (new_label_ref): New variable.
1372         (insert): Set it instead of recorded_label_ref.
1373         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
1374         CODE_LABEL for this function, and not already in REG_LABEL note.
1375
1376 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
1377
1378         * resource.c (mark_referenced_resources): Fix typo in introductory
1379         comment.
1380         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
1381         string constant.
1382
1383 2001-02-16  Jason Merrill  <jason@redhat.com>
1384
1385         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
1386         NULL.
1387         (gen_subprogram_die): Don't abort on seeing a second definition if
1388         the previous one was abstract.  Don't replace an abstract instance
1389         in the lookup table.
1390
1391         * dwarf2out.c (dwarf2out_abstract_function): Rename from
1392         gen_abstract_function.
1393         * dwarf2out.h: Declare it.
1394         * toplev.c (note_outlining_of_inline_function): New fn.
1395         * toplev.h: Declare it.
1396         * integrate.c (output_inline_function): Call it.
1397         * c-decl.c (duplicate_decls): Call it when redefining an extern
1398         inline.  Don't inline the new defn.
1399
1400         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
1401
1402 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1403
1404         * .gdbinit: Rename to gdbinit.in.
1405         * gdbinit.in: New file,
1406         * configure.in: Generate .gdbinit from gdbinit.in.
1407         * configure: Regenerated.
1408         * Makefile.in (distclean): Always remove .gdbinit.
1409
1410 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
1411
1412         * objc/objc-act.c (start_class): Register implemented_classes with
1413         GC.
1414
1415 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
1416
1417         * cppfiles.c (_cpp_make_system_header): Generate a file
1418         change callback.
1419
1420 2001-02-15  Jim Meyering  <meyering@lucent.com>
1421
1422         * Makefile.in (install-common): Don't depend on installdirs here.
1423         Instead, make each of the lang.install-common targets (e.g.,
1424         c++.install-common in cp/Make-lang.in) depend on it.
1425         (install-driver): Depend on installdirs.
1426
1427 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1428
1429         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
1430
1431         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
1432         do in memory.
1433
1434 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
1435
1436         * invoke.texi (--param): Document.
1437
1438 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
1439
1440         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
1441
1442 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
1443
1444         * i386.md (extendsfdf2_2): Fix constraints.
1445
1446 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
1447
1448         * i386.md (fop_df_3 splitter): Fix operand number.
1449
1450 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
1451
1452         * invoke.texi (-mreg-alloc): Nuke.
1453         * i386.c (ix86_reg_alloc_order, regs_allocated,
1454         order_regs_for_local_alloc): Nuke.
1455         (override_options): Kill reg_alloc code.
1456         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
1457         (REG_ALLOC_ORDER): SSE goes before I387.
1458         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
1459         (ix86_reg_alloc_order): Likewise.
1460         * i386-protos.h (ix86_reg_alloc_order): Kill.
1461
1462 2001-02-14  Richard Henderson  <rth@redhat.com>
1463
1464         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
1465
1466 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
1467
1468         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
1469
1470 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
1471
1472         * i386-protos.h (ix86_memory_move_cost): Move offline.
1473         * i386.c (ix86_register_move_cost): Compute properly cost of
1474         SSE, MMX and i387 instructions.
1475         (*_cost): Add costs of SSE/MMX moves.
1476         (ix86_memory_move_cost): Move offline from ....; Likewise.
1477         * i386.h (MEMORY_MOVE_COST): .... here;
1478         (struct processor costs): Add new fields to represent costs
1479         of SSE/MMX moves.
1480
1481 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
1482
1483         * regclass.c (init_reg_sets_1): Reinstall the optimization of
1484         move_cost together with Matt Kraai's fix.
1485
1486 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
1487
1488         * Makefile.in (OBJS): Add params.o.
1489
1490 2001-02-14  Richard Henderson  <rth@redhat.com>
1491             DJ Delorie  <dj@redhat.com>
1492
1493         * jump.c (jump_optimize_1): When we delete a conditional jump
1494         preceeding a non-conditional jump to effectively the same place,
1495         make sure that the combined jump skips any clobber insns between
1496         the two labels.
1497
1498 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
1499
1500         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
1501
1502 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
1503
1504         * Makefile.in (toplev.o): Depend on params.h.
1505         (intergate.o): Likewise.
1506         (params.o): New target.
1507         * flags.h (inline_max_insns): Remove.
1508         * integrate.c: Include params.h.
1509         Use MAX_INLINE_INSNS instead of inline_max_insns.
1510         * params.c: New file.
1511         * params.h: Likewise.
1512         * params.def: Likewise.
1513         * toplev.c: Include params.h.
1514         (lang_independent_params): New variable.
1515         (decode_f_option): Use the param machinery instead of setting
1516         max_inline_insns.
1517         (independent_decode_option): Handle "--param name=value".
1518         (main): Register language-independent parameters.
1519
1520 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
1521
1522         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
1523
1524 2001-02-14  Richard Henderson  <rth@redhat.com>
1525
1526         * regclass.c (init_reg_sets_1): Revert last two changes.
1527
1528 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
1529
1530         * stor-layout.c (is_pending_size, put_pending_size): New functions.
1531         (variable_size): Call put_pending_size.
1532         * tree.h (is_pending_size, put_pending_size): Add prototypes.
1533         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
1534         sizes list, put newly created SAVE_EXPR there as well.
1535
1536 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
1537
1538         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
1539         (errata_find_address_regs): load_group has only 2 entries.
1540         (errata_emit_nops): Likewise.  shladd is not problematic.
1541         Clear last_group if nop was emitted.
1542         (fixup_errata): load_group has only 2 entries.
1543         Optimize.
1544
1545 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
1546
1547         * c-lex.c (lex_number): Only warn traditionally for U suffix
1548         outside system macros.
1549         * cppexp.c (parse_number): Similarly.
1550         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
1551         * cppmacro.c (struct cpp_macro): New member node.
1552         (parse_args): Only warn about missing rest args if not
1553         a system macro.
1554         (funlike_invocation_p): Similarly for uninvoked funlike macros.
1555         (cpp_sys_objmacro_p): New.
1556         (_cpp_create_definition): Store the node with the macro defn.
1557         Remember if the macro is defined in a system header.
1558
1559 2001-02-13  DJ Delorie  <dj@redhat.com>
1560
1561         * configure.in (check_languages): determine languages to check
1562         * Makefile.in (check-c++): alias for check-g++
1563         (check-f77): alias for check-g77
1564         (CHECK_TARGETS): depend on configured languages
1565
1566 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
1567
1568         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
1569         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
1570         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
1571         (sqrtextendsfdf2): Disable for SSE2.
1572
1573 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
1574
1575         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
1576         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
1577         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
1578         (sqrtextendsfdf2): Disable for SSE2.
1579
1580 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
1581
1582         * i386.md (movsfcc_1): Support integer cmove instruction.
1583         (movdfcc_1): Likewise; new splitter.
1584
1585 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
1586
1587         * i386.c (output_fp_compare): Support SSE.
1588         (prepare_fp_compare_args): SSE comparisons always support memory.
1589         * i386.h (TARGET_CMOVE): SSE imply cmove.
1590         * i386.md (cmp?f2): Enable for SSE too.
1591         (cmpfp_i*): Support SSE.
1592         (cmpfp_i_sse): New.
1593         (cmpfp_i_sse_only): New.
1594         (s*, b* fp expanters): Enable for SSE too.
1595         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
1596         New patterns.
1597
1598 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
1599
1600         * regclass.c (init_reg_sets_1): Silence warning.
1601
1602 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
1603
1604         * i386.md (sqrt?f2): Change to expander.
1605         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
1606
1607 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1608
1609         * rtlanal.c (find_reg_equal_equiv_note): New function.
1610         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
1611         (simplify_gen_relational, simplify_replace_rtx): Likewise.
1612         * rtl.h: Add declarations for above functions.
1613
1614 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
1615
1616         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
1617         conditionals.
1618         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
1619         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
1620         * flow.c (mark_regs_live_at_end): Likewise.
1621         (calculate_global_regs_live): Likewise.
1622         * gcse.c (compute_hash_table): Likewise.
1623         (compute_kill_rd): Likewise.
1624         * resource.c (mark_target_live_regs): Likewise.
1625         * rtl.h (INVALID_REGNUM): New macro.
1626
1627 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
1628
1629         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
1630
1631 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
1632
1633         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
1634         for SSE.
1635
1636 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
1637
1638         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
1639         too.
1640         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
1641         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
1642         (fop_sf_1_sse, fop_df_1_sse): New patterns
1643         (fop_*): Disable float_extend and float patterns for SSE compilation.
1644         * i386.c (output_387_binary_op): Support SSE.
1645
1646 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
1647
1648         * i386.md (dummy_extendsfdf2): Support SSE2
1649         (extendsfdf2): Enable if 80387 or SSE2.
1650         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
1651         and no MIX_I387_SSE2
1652         (extendsfdf2_1_sse_only): New pattern.
1653         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
1654         of SSE.
1655         (truncdfsf2_1): Support SSE.
1656         (truncdfsf2_2): Support SSE.
1657         (truncdfsf2_2_1_sse): New pattern.
1658         (fixtruncsfsi2): Always use SSE if available.
1659         (fix_truncsfsi_sse): New pattern.
1660         (fix_truncdfsi_sse): New pattern.
1661         (floatsis?f2): Support SSE.
1662         (floatsidf2_i387): New pattern.
1663         (floatsidf2_sse): Likewise.
1664
1665 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1666
1667         * configure.in: Use "have_gnat" variable, not "gnat".
1668         * configure: Regenerated.
1669
1670         * config/sparc/sparc.c (function_value): Treat all non-record
1671         aggregate types like used to treat UNION_TYPE.
1672
1673 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
1674
1675         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
1676         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
1677         (MASK_SSE2): New.
1678         (MASK_MIX_SSE_I387): New.
1679         (TARGET_SSE): SSE2 imply SSE.
1680         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
1681         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
1682         (enum reg_class): Add new classes.
1683         (REG_CLASS_NAMES): Likewise.
1684         (REG_CLASS_CONTENTS): Likewise.
1685         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
1686         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
1687         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
1688         (CLASS_MAX_NREGS): Use new macros.
1689         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
1690         * i386.md (pushsf, movsf): Support SSE.
1691         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
1692         splitters to use ANY_FP_REGNO_P.
1693         (movdf_nointeger, movdf_integer): Likewise.
1694
1695 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
1696
1697         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
1698         (try_combine): Use it.
1699
1700 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
1701
1702         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
1703         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
1704         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
1705         (REGISTER_MOVE_COST): Likewise.
1706         * i386-protos.h (ix86_secondary_memory_needed,
1707         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
1708         * i386.c (ix86_secondary_memory_needed,
1709         ix86_preferred_reload_class, ix86_register_move_cost): New function.
1710
1711 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
1712
1713         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
1714         (HARD_REGNO_MODE_OK): Move offline to ....
1715         * i386.c (ix86_hard_regno_mode_ok) ... here;
1716         refuse all incorrect modes.
1717         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
1718
1719 2001-02-13  Richard Henderson  <rth@redhat.com>
1720
1721         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
1722         entire operator; replicate that and match_dup the operands.
1723         (cmp_ccx_arith_op_set): Likewise.
1724         (cmp_cc_arith_op_not_set): Likewise.
1725         (cmp_ccx_arith_op_not_set): Likewise.
1726
1727 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
1728
1729         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
1730
1731 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
1732
1733         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
1734         (TARGET_NO_BITFIELD_WORD): New macro.
1735         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
1736         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
1737
1738 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1739
1740         * cselib.c: New file, from simplify-rtx.c.
1741         * simplify-rtx.c: Remove cselib parts.
1742         * Makefile.in: Add cselib.o.
1743
1744 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
1745
1746         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
1747         (setup_incoming_varargs): Remove warning.
1748
1749         * config/rs6000/rs6000.c (validate_condition_mode): When
1750         flag_fast_math, allow floating-point conditionals to be reversed.
1751         (rs6000_generate_compare): When flag_fast_math, don't generate
1752         cror operations for FP conditionals.
1753
1754         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
1755         -mcall-i960.
1756         (ASM_SPEC): Likewise.
1757         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
1758         (CC1_SPEC): Likewise.
1759         (LINK_TARGET_SPEC): Likewise.
1760         (CPP_ENDIAN_SPEC): Likewise.
1761         * Makefile.in (check-consistency): New target.
1762
1763 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1764
1765         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
1766         "return type defaults" warning for functions with return type
1767         defaulting to int.
1768         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
1769         function declarations by default rather than only when pedantic.
1770
1771 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
1772
1773         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
1774         arrays.
1775
1776 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
1777
1778         * extend.texi (Deprecated): Deprecate new initializer lists.
1779
1780 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
1781
1782         * mkdeps.c (deps_add_default_target): Robustify. Add
1783         basename component only.
1784         * cpp.texi (-M): Describe how default target is generated.
1785         * invoke.texi (-M): Likewise.
1786
1787 2001-02-12  Kazu Hirata  <kazu@hxi.com>
1788
1789         * toplev.c (push_float_handler): Remove.
1790         (pop_float_handler): Remove.
1791         * toplev.h: Remove prototypes for the above functions.
1792
1793 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
1794
1795         * c-common.c (constant_fits_type_p): New function.
1796         (convert_and_check): Use it.
1797
1798 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
1799
1800         * Makefile.in (GXX_ABI_FLAG): Don't define.
1801         * configure.in (--enable-new-gxx-abi): Remove option.
1802         * config.in: Regenerated.
1803         * configure: Likewise.
1804
1805 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
1806
1807         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
1808         basic block.
1809         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
1810         regular basic block, and arrange for all edges into it to switch
1811         to normal mode.
1812
1813 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1814
1815         * Makefile.in (distclean): Do not remove .gdbinit.
1816
1817 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
1818
1819         * Makefile.in (gcc.o): Fix typos.
1820         (protize.o): Likewise.
1821         (unprotoize.o): Likewise.
1822
1823 2001-02-11  Richard Henderson  <rth@redhat.com>
1824
1825         * tree.c (build1): Check for null operand in last change.
1826
1827 2001-02-11  Richard Henderson  <rth@redhat.com>
1828
1829         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
1830         (fold): Don't assume a constant isn't foldable.
1831         * tree.c (build): Set TREE_CONSTANT for an expression with no
1832         side-effects and constant operands.
1833         (build1): Likewise.
1834
1835 2001-02-10  Richard Henderson  <rth@redhat.com>
1836
1837         * jump.c (squeeze_notes): Revert 2000-05-12 change.
1838
1839 2001-02-10  Anthony Green  <green@redhat.com>
1840
1841         * cpp.texi (Standard Predefined): Add documentation for
1842         __OPTIMIZE_SIZE__.
1843
1844         * c-common.c (combine_strings): Improve warning message.
1845
1846 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
1847
1848         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
1849         --oformat.
1850         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
1851
1852 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
1853
1854         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
1855         CYGWIN_CROSS_DIR.
1856
1857 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
1858
1859         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
1860         fp_mode attribute.
1861
1862 2001-02-09  Nick Clifton  <nickc@redhat.com>
1863
1864         * config/arm/arm.md: Change output contraint on post inc
1865         load/store multiple patterns to be a read/write contraint.
1866
1867 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1868
1869         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
1870         .o files when using the -M options.
1871
1872 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1873             David Edelsohn  <edelsohn@gnu.org>
1874
1875         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
1876         handle DImode constants.  Use one TOC entry for SImode and smaller
1877         constants, aligned properly.
1878
1879 2001-02-08  Jason Merrill  <jason@redhat.com>
1880
1881         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
1882         about the SP adjustment for saving the static chain pointer.
1883         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
1884         offset when setting a temporary CFA register.
1885
1886 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
1887
1888         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
1889         powerpc-*-chorusos* .
1890         * config/rs6000/chorus.h : New file.
1891         * config/i386/chorus.h : New file.
1892         * config/sparc/chorus.h : New file.
1893         * config/sparc/t-chorus-elf : New file.
1894
1895 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
1896
1897         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
1898         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
1899         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
1900         (__WCHAR_TYPE__): Correct macro name.
1901
1902 2001-02-08  Richard Henderson  <rth@redhat.com>
1903
1904         * config/i386/i386.c (ix86_frame_pointer_required): New.
1905         (ix86_setup_frame_addresses): New.
1906         (struct machine_funciton): Add accesses_prev_frame.
1907         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
1908         ix86_frame_pointer_required.
1909         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
1910         (SETUP_FRAME_ADDRESSES): New.
1911         * config/i386/i386-protos.h: Update.
1912         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
1913         from FRAME_POINTER_REQUIRED.
1914         * config/i386/svr3gas.h: Likewise.
1915         * config/i386/sysv3.h: Likewise.
1916         * config/i386/v3gas.h: Likewise.
1917
1918 2001-02-08  Richard Henderson  <rth@redhat.com>
1919
1920         * config/sparc/sparc.c (function_arg_record_value_3): Fix
1921         calculation of the number of integer registers required.
1922         (function_arg_record_value): Likewise.
1923
1924 2001-02-08  Jason Merrill  <jason@redhat.com>
1925
1926         * diagnostic.c (internal_error): Say "confused" after 1 error, not
1927         two.  Print file and line with "confused" message.
1928
1929         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
1930
1931 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1932
1933         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
1934
1935 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
1936
1937         * final.c (cleanup_subreg_operands): The address of a MEM can
1938         contain SUBREGs.
1939
1940         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
1941         for asms, too.
1942
1943 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1944
1945         * gcc.texi (Incompatibilities): Update documentation of
1946         preprocessing numbers.
1947
1948 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
1949
1950         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
1951
1952 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
1953
1954         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
1955
1956         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
1957         * gcc.c (struct compiler): Add cpp_spec field.
1958         (input_file_compiler): New variable.
1959         (do_spec_1): Allow a particular compiler to handle `%C'
1960         specially.
1961         (main): Store the current compiler in input_file_compiler.
1962         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
1963
1964 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
1965
1966         * cpphash.h (struct spec_nodes): Add n_true and n_false.
1967         * cppinit.c (cpp_create_reader): Initialize them.
1968         (append_include_chain): cxx_aware arg might be unused.
1969         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
1970         keywords and give them their phase 7 meaning.  Pedwarn about
1971         this unless '__bool_true_false_are_defined' is defined.
1972
1973 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
1974
1975         * lcm.c (optimize_mode_switching): Emit mode_set before the
1976         JUMP_INSN of an abnormal edge.
1977
1978 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
1979
1980         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
1981         a scheduling barrier at the end.
1982
1983         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
1984
1985 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
1986
1987         * config/sh/sh.md (reload_outsf): Removed.
1988         (movsf_ie): Introduce constraints for FPUL loads and stores.
1989         (reload_insf): Broaden the output constraint.
1990
1991         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
1992         defined.
1993         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
1994         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
1995
1996 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
1997
1998         * final.c: Revert my previous changes.
1999         * output.h: Make profile_label_no extern.
2000         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
2001         for generating label.
2002
2003 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
2004
2005         * config/i386/djgpp.h: Add comments about standard paths.
2006         (MD_EXEC_PREFIX): Undefine before defining.
2007         (MD_STARTFILE_PREFIX): New.
2008
2009 2001-01-30  Bruce Korb  <bkorb@gnu.org>
2010
2011         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
2012         (load_file): do not rely on load_file_data() to close file pointer
2013         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
2014         fixinc/inclhack.def(irix_limits_const): add test_text
2015
2016 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2017
2018         * cppexp.c (parse_defined): Improve diagnostics for invalid
2019         syntax.
2020
2021 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2022
2023         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
2024
2025 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
2026
2027         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
2028         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
2029         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
2030         (rs6000_output_symbol_ref): New function.
2031         (output_toc): Use VTABLE_NAME_P.
2032
2033 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2034
2035         * print-tree.c (print_node, case PARM_DECL):
2036         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
2037
2038         * stor-layout.c (reference_types_internal): New variable.
2039         (internal_reference_types): New function.
2040         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
2041         * tree.h (internal_reference_types): New declaration.
2042
2043         * cse.c (find_best_addr): Fix typo in computing cost.
2044
2045 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2046
2047         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
2048         and this is the sum of a pointer and a constant, we know the result
2049         did not overflow.
2050         (num_sign_bit_copies, case PLUS): Likewise.
2051         * explow.c (convert_memory_address): Remove opposite SUBREG.
2052         * function.c (instantiate_new_reg): New function (from common code).
2053         (instantiate_virtual_regs_1): Call it.
2054         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
2055         if pointers sign- or zero-extend.
2056         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
2057         If pointers extend unsigned, use inside of SUBREG.
2058         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
2059
2060 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
2061
2062         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
2063         subdir of gcc_gxx_include_dir.
2064         (gcc_gxx_target_include_dir): Remove.
2065
2066 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
2067
2068         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
2069         (dwarf2out_frame_debug_expr): Revise introductory comments to add
2070         a high-level description.
2071
2072 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
2073
2074         * final.c: Move the declaration of profile_label_no to ...
2075         * output.h: ... here.
2076         * function.c (expand_function_start): Call PROFILE_HOOK.
2077         * config/rs6000/aix.h: Define PROFILE_HOOK.
2078         * config/rs6000/rs6000-protos.h: output_profile_hook new.
2079         * config/rs6000/rs6000.c (output_profile_hook): Define.
2080         (output_prolog): Do nothing for ABI_AIX as it is taken care by
2081         output_profile_hook.
2082         tm.texi : Explain new macro PROFILE_HOOK.
2083
2084 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
2085
2086         * extend.texi (Extended Asm): Do not say that semicolon is always
2087         a valid line-breaking character for GNU assemblers.  Use
2088         newline-tab as the most commonly supported syntax.  Use
2089         newline-tab rather than semicolon in multi-insn examples.
2090
2091 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2092
2093         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
2094
2095 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2096             David Edelsohn  <edelsohn@gnu.org>
2097
2098         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
2099         code for AIX, even without flag_pic.
2100
2101 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
2102
2103         * c-typeck.c (common_type): push and pop binding level around
2104         calling common_type on function parameters.
2105
2106 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
2107
2108         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
2109
2110 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2111
2112         * config/mips/mips.c (override_options): Fix typo in last change.
2113         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
2114         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
2115
2116 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
2117
2118         * invoke.texi (-fdump-class-layout): Document.
2119         (-fdump-translation-unit): Use `=' as filename separator.
2120
2121 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
2122
2123         * Makefile.in (s-mlib): Don't build multilibs if
2124         --disable-multilib.
2125         (DRIVER_DEFINES): Adjust accordingly.
2126         (gcc.o): Likewise.
2127         (protoize.o): Likewise.
2128         (unprotoize.o): Likewise.
2129         * configure.in: Recognize --enable-multilib.
2130
2131 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
2132
2133         * Makefile.in (DRIVER_DEFINES): Fix quoting.
2134
2135         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
2136         * configure.in: Remove --enable-libstdcxx_v3 support.
2137         * configure: Regenerated.
2138
2139 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2140
2141         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
2142         Call abort instead of fatal.
2143         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
2144         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
2145         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
2146         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
2147         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
2148         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
2149
2150         * diagnostic.h (set_internal_error_function): Renamed.
2151         * toplev.h (internal_error): Renamed from fatal.
2152         (pfatal_with_name): Deleted.
2153         (fatal_io_error): Now has printf-style arguments.
2154         * diagnostic.c (pfatal_with_name): Deleted.
2155         (fatal_io_error): Rework to have args in printf-style.
2156         (set_internal_error_function): Renamed from set_fatal_function.
2157         (internal_error): Renamed from fatal.
2158         (error_recursion, fancy_abort): Call internal_error instead of fatal.
2159         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
2160         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
2161         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
2162         * flow.c (verify_flow_info): Likewise.
2163         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
2164         * config/mips/mips.c (save_restore_insns): Likewise.
2165
2166         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
2167         * flow.c (verify_flow_info): Likewise.
2168         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
2169         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
2170         (avr_normalize_condition): Likewise.
2171         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
2172         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
2173         (limit_reload_class, double_reg_to_memory): Likewise.
2174         (print_operand_address, emit_1600_code_shift): Likewise.
2175         (gen_tst_reg, gen_compare_reg): Likewise.
2176         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
2177         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
2178         Deleted.
2179         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
2180
2181         * c-parse.in (methoddef): Call fatal_error instead of fatal.
2182         * objc/objc-act.c (build_ivar_chain): Likewise.
2183         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
2184         pfatal_with_name.
2185         * graph.c (clean_graph_dump_file): Likewise.
2186         * profile.c (init_branch_prob): Likewise.
2187         * objc/objc-act.c (objc_init): Likewise.
2188
2189         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
2190         * config/avr/avr.c (avr_override_options): Likewise.
2191         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
2192         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
2193         * config/h8300/h8300.c (h8300_init_once): Likewise.
2194         * config/mips/mips.c (override_options): Likewise.
2195         * config/i386/i386.c (override_options): Likewise, rework.
2196         * config/m68k/m68k.c (override_options): Likewise.
2197
2198         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
2199         instead of fatal.
2200         * config/mips/mips.c (print_operand): Likewise.
2201         * hash.c (hash_allocate): Don't check for failure returns from
2202         obstack functions that can't fail.
2203         (hash_table_init_n, hash_table_init): Likewise; also now return void.
2204         * hash.h (hash_table_init_n, hash_table_init): Now return void.
2205         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
2206         (get_object_reference): Likewise.
2207
2208 2001-02-04  Nick Clifton  <nickc@redhat.com>
2209
2210         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
2211         StrongARM1110, 10TDMI, and 1020T.
2212
2213 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2214
2215         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
2216
2217 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
2218
2219         * config/sh/sh.md (movdf load split): Pass register number to
2220         FP_OR_XD_REGISTER_P.
2221
2222 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
2223
2224         * cppinit.c (BC): New macro.
2225         (builtin_array): Add __GXX_WEAK__.
2226         * cpplib.h (builtin_type): Add BT_WEAK.
2227         * cppmacro.c (builtin_macro): Handle BT_WEAK.
2228         * defaults.h (SUPPORTS_ONE_ONLY): Define.
2229         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
2230
2231 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
2232
2233         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
2234
2235 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2236
2237         * cpphash.h: Rename _ALIGN POOL_ALIGN.
2238         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
2239
2240 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2241
2242         * cpphash.h: Rename ALIGN _ALIGN.
2243         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
2244
2245 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
2246
2247         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
2248         compilation environment.
2249         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
2250         control over location of cygwin includes and libs.
2251
2252 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
2253
2254         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
2255
2256 2001-02-02  lars brinkhoff  <lars@nocrew.org>
2257
2258         * md.texi (Standard Names): remove reference to spur.md.
2259
2260 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
2261
2262         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
2263         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
2264         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
2265         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
2266         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
2267
2268 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2269
2270         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
2271         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
2272         number before reload.
2273         (c4x_adjust_cost): Return zero before reload.
2274         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
2275         split before reload.
2276
2277 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2278
2279         * c4x.c (c4x_hard_regno_rename_ok): New.
2280         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
2281         * c4x.h (HARD_REGNO_RENAME_OK): Define.
2282
2283 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2284
2285         * diagnostic.h: Add missing "extern" in all declarations.
2286
2287 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
2288
2289         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
2290         as for gcc_gxx_include_dir.
2291
2292 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2293
2294         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
2295
2296 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
2297
2298         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
2299         label before alignment to be used as the braf base address.
2300         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
2301         branches.
2302         (casesi_jump_2): Require at least TARGET_SH2.
2303
2304         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
2305         truncation to 32-bit doubles on -m3e and -m4-single-only.
2306
2307 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
2308
2309         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
2310         the default when building a shared object.
2311         (init_spec): Use it.
2312         * testsuite/lib/g++.exp: Include the directory where libgcc
2313         is located to the LD_LIBRARY_PATH list.
2314         * invoke.texi (-shared-libgcc): Document the cases in which
2315         GCC defaults to using the shared libgcc.
2316
2317 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
2318
2319         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
2320         unsigned is wide enough.
2321         (BITS_PER_SI): New.
2322         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
2323         (si_to_float): Likewise.
2324         (float_to_si, float_to_usi): Use BITS_PER_SI.
2325
2326 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
2327
2328         * dwarf2out.c: Added explanation of abbreviations.
2329         (def_cfa_1): Added comments listing DWARF2 instructions.
2330         (cfa_temp_reg): Removed in favor of cfa_temp.
2331         (cfa_temp_value): Removed in favor of cfa_temp.
2332         (cfa_temp): New global variable.
2333         (dwarf2out_frame_debug_expr): Added extensive introductory
2334         comments explaining the function's transformations.  Revised to
2335         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
2336         (dwarf2out_frame_debug): Revised to use cfa_temp.
2337         (output_aranges): Cast as "unsigned" to avoid warning.
2338         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
2339         explain which instructions must be marked.
2340
2341 2001-02-01  Richard Henderson  <rth@redhat.com>
2342
2343         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
2344         new instruction.
2345
2346 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
2347
2348         * config/sh/crt1.asm (main_k): Modified so that start calls
2349         ___setup_argv_and_call_main.
2350
2351 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
2352
2353         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
2354         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
2355         and AVOID_LPASTE is cleared on meeting an unescaped newline.
2356         * cppmacro.c (builtin_macro): Set builtin flags here.
2357         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
2358         (replace_args): Clarify intent.
2359         (cpp_get_token): Macro expansion tokens get the saved flags.
2360         Update.
2361         * cppmain.c (scan_buffer): Remove now-redundant print.printed
2362         check.
2363
2364 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
2365
2366         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
2367         2001-Jan-29.
2368
2369 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2370
2371         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
2372         returns Pmode pseudo, but we need ptr_mode.
2373         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
2374         Remove bogus conversions; use HOST_WIDE_INT for size.
2375         Don't use TARGET if wrong mode.
2376
2377         * config/i386/i386.c (ix86_compute_frame_size): Allow
2378         stack_alignment_needed to be non-default even if size is zero.
2379
2380 2001-01-31  Alan Modra <alan@linuxcare.com.au>
2381
2382         * (hppa_init_pic_save): Emit the pic offset table
2383         reg save after last_parm_insn.
2384         * pa.c (hppa_init_pic_save): New function.
2385         * pa.h (hppa_init_pic_save): Declare.
2386         * pa.md (call, call_value, sibcall, sibcall_value): Use
2387         the above instead of duplicated code.
2388
2389         * pa.c (hppa_encode_label): Correct size of alloca buffer
2390         so we don't overrun it.  Correct leading `*' case.
2391         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
2392         need to handle `*@'.
2393         (FUNCTION_NAME_P): Likewise.
2394
2395 2001-01-31  Richard Henderson  <rth@redhat.com>
2396
2397         * config.gcc (alpha-osf5): Use float-i128.h.
2398
2399         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
2400         * config/float-i32.h: Likewise.
2401         * config/float-i64.h: Likewise.
2402         * config/float-sh.h: Likewise.
2403         * config/float-sparc.h: Likewise.
2404
2405 2001-01-31  DJ Delorie  <dj@redhat.com>
2406
2407         * expmed.c (extract_bit_field): allow non-integral modes if we
2408         want to extract a whole register from itself.
2409
2410 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
2411
2412         * c-typeck.c (set_init_index): If first is equal to last, assume as
2413         if it was not a range at all.
2414
2415 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
2416
2417         * config/fp-bit.c: Include tm.h.
2418         (float_to_si): Don't assume SImode is 32-bits wide.
2419         (float_to_usi): Likewise.
2420
2421 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
2422
2423         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
2424         incomplete type.
2425         (typename): Call pending_xref_error after parsing typed_typespecs.
2426         * c-decl.c (lookup_tag): Give error immediately rather than
2427         leaving it pending if the tag of the wrong type is in the same
2428         binding level.
2429         (xref_tag): Don't pedwarn for forward declarations of enum types
2430         here.
2431         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
2432         and enum tags.
2433
2434 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
2435
2436         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
2437
2438 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
2439
2440         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
2441         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
2442
2443 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
2444
2445         * cpphash.h (struct cpp_reader): New saved_flags.
2446         * cppmacro.c (cpp_get_token): Use saved_flags to remember
2447         to avoid a paste after a pasted token.
2448
2449 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
2450
2451         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
2452         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
2453         Wtype_MIN instead of LONG_MIN.
2454
2455 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
2456
2457         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
2458         README file.
2459         * fixinc/fixincl.x: Regenerated.
2460         * fixinc/inclhack.def (irix_limits_const): New definition to
2461         convert "const" to "__const" in limits.h.
2462
2463 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
2464
2465         * fixinc/genfixes (AG): Fix "autogen4" thinko.
2466
2467 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
2468
2469         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
2470         when register dies in the insn.
2471
2472 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2473
2474         * diagnostic.c (fatal): Fix word wrap.
2475
2476 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
2477
2478         * combine.c (try_combine): Fix SUBREG setting for
2479         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
2480
2481 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2482
2483         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
2484         comparison codes.
2485
2486 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2487
2488         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
2489         is not NULL.
2490         * toplev.c (decode_W_option): Update warn_larger_than
2491         unconditionally for each processed switch.
2492
2493 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2494
2495         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
2496         to NULL_RTX.
2497         (hppa_expand_prologue): Delete code to save pic offset table register
2498         in the function prologue.
2499         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
2500         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
2501         table register at the beginning of the function after the prologue.
2502
2503 2001-01-29  lars brinkhoff  <lars@nocrew.org>
2504
2505         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
2506
2507 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2508             Jeff Law <law@redhat.com>
2509
2510         * pa.md (return): Revise comment for trivial return.
2511         (return_internal): Non-trivial return pattern for non-PIC code.
2512         (return_internal_pic): Non-trivial return pattern for PIC code.
2513         It uses the PIC register to ensure it is restored after
2514         function calls.
2515         (epilogue): Generate appropriate return for PIC and non-PIC code.
2516
2517 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
2518
2519         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
2520
2521 2001-01-29  DJ Delorie  <dj@redhat.com>
2522
2523         * combine.c (if_then_else_cond): Pass the correct mode to
2524         operand_subword() for constants.
2525
2526 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
2527
2528         * config/i386/cygwin.h: Add w32api to include search.  Search different
2529         directories in a cross-build environment.
2530
2531 2001-11-29  Tim Josling  <tej@melbpc.org.au>
2532
2533         * tree.h (TYPE_STUB_DECL): Add documentation.
2534
2535 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
2536
2537         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
2538         (sdbout_field_types): Likwise.  Fix use of host_integerp.
2539
2540 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
2541
2542         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
2543         cygwin.h.
2544
2545 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
2546
2547         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
2548         to use flag_gnu_linker.
2549
2550 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
2551
2552         * cpplib.c (T_BAD_DIRECTIVE): Remove.
2553         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
2554
2555 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2556
2557         * tree.c, tree.h (build_parse_node): Remove; was identical to
2558         build_nt.
2559         * c-lang.c (start_cdtor), objc/objc-act.c
2560         (build_module_descriptor): Use build_nt instead of
2561         build_parse_node.
2562
2563 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
2564
2565         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
2566         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
2567         not have any upper bits set.
2568
2569 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
2570
2571         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
2572
2573 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2574
2575         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
2576
2577         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
2578
2579         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
2580         (integer_minus_one_node): Define.
2581
2582 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
2583
2584         * Makefile.in (bootstrap2-lean): Fix typo.
2585
2586 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
2587
2588         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
2589         : Don't set fe_value.
2590         * cpplib.h (AVOID_LPASTE): New flag.
2591         (struct cpp_hashnode): Remove fe_value.
2592         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
2593         * cppmacro.c (builtin_macro): Don't set flags here.
2594         (replace_args): Set AVOID_LPASTE flag on first token of an
2595         argument, and the token following it.
2596         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
2597         macro expansion, and on the token following it.  Do it for
2598         builtins too.
2599         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
2600
2601 2001-01-27  Richard Henderson  <rth@redhat.com>
2602
2603         * config/alpha/t-ieee: Remove multilibbing.
2604         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
2605
2606 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2607
2608         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
2609
2610         * Makefile.in: Remove all dependencies on defaults.h.
2611         * builtins.c: Don't include defaults.h.
2612         * c-common.c: Likewise.
2613         * c-decl.c: Likewise.
2614         * c-pragma.c: Likewise.
2615         * c-typeck.c: Likewise.
2616         * combine.c: Likewise.
2617         * i386.c: Likewise.
2618         * frame-ia64.c: Likewise.
2619         * cppexp.c: Likewise.
2620         * crtstuff.c: Likewise.
2621         * dbxout.c: Likewise.
2622         * dwarf2out.c: Likewise.
2623         * dwarfout.c: Likewise.
2624         * emit-rtl.c: Likewise.
2625         * except.c: Likewise.
2626         * expr.c: Likewise.
2627         * final.c: Likewise.
2628         * frame-dwarf2.c: Likewise.
2629         * libgcc2.c: Likewise.
2630         * optabs.c: Likewise.
2631         * profile.c: Likewise.
2632         * sdbout.c: Likewise.
2633         * toplev.c: Likewise.
2634         * tradcif.y: Likewise.
2635         * tree.c: Likewise.
2636         * varasm.c: Likewise.
2637
2638 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2639
2640         * builtins.c (expand_builtin_fputs): Use size_one_node when
2641         transforming into fwrite.
2642
2643 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
2644
2645         * extend.texi (Attribute Syntax): New section.
2646
2647 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
2648
2649         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
2650         they didn't need fixing.
2651
2652 2001-01-27  Janis Johnson <janis@us.ibm.com>
2653
2654         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
2655         if appropriate.
2656         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
2657         to remove macro definitions that are duplicated from elfos.h.
2658
2659 2001-01-27  Richard Henderson  <rth@redhat.com>
2660
2661         * config/i386/sco5gas.h: Move ...
2662         * config/usegas.h: ... here.
2663         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
2664
2665 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
2666
2667         * c-typeck.c (struct constructor_stack): Add range_stack member.
2668         (really_start_incremental_init): Clear it.
2669         (push_init_level): Save constructor_range_stack and clear it if
2670         pushing explicit braces.
2671         (pop_init_level): abort if constructor_range_stack is non-zero at
2672         explicit closing brace.  Restore saved constructor_range_stack if
2673         not implicit.
2674
2675 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
2676
2677         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
2678         into register was forced into memory.
2679
2680 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
2681
2682         * Makefile.in: Remove uses of + before $(MAKE).
2683
2684 2001-01-26  Richard Henderson  <rth@redhat.com>
2685
2686         * stmt.c (cost_table): Remove.
2687         (COST_TABLE, cost_table_initialized): New.
2688         (estimate_case_costs): Use the later instead of the former.
2689         (balance_case_nodes): Likewise.
2690
2691 2001-01-26  Richard Henderson  <rth@redhat.com>
2692
2693         * alias.c (objects_must_conflict_p): Read-only slots may not
2694         conflict despite having the same type.
2695
2696 2001-01-27  Michael Hayes  <mhayes@redhat.com>
2697
2698         * loop.c (loop_giv_reduce_benefit): Copy mode size into
2699         int variable.
2700         (check_ext_dependant_givs): Initialise u_start_val and
2701         u_end_val.
2702         (load_mems): Make last_max_reg unsigned.
2703         (try_swap_copy_prop): Use INSN_P and initialise set.
2704
2705 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
2706
2707         * README.AVR : Removed.
2708
2709 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
2710
2711         * pa-64.h (text_section): Remove declaration.
2712
2713         * pa.md (return_internal): Remove mode on PIC register use.
2714
2715 2001-01-25  lars brinkhoff  <lars@nocrew.org>
2716
2717         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
2718         ASM_CLOSE_PAREN): fix typos.
2719
2720 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
2721
2722         * acconfig.h: Define `const' to the empty string if neither
2723         __STDC__ nor __cplusplus is defined.
2724         * config.in: Regenerated.
2725
2726 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
2727
2728         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
2729         * collect2.c (main): Delete importf.  Add ".obj" file extension.
2730         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
2731         (aix_std_libs): Add additional AIX libraries to skip.
2732         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
2733         * config/rs6000/aix51.h: New file.
2734
2735 2001-01-25  Michael Hayes  <mhayes@redhat.com>
2736
2737         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
2738         (loop_insn_emit_before): No longer static.
2739         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
2740         (loop_givs_rescan, load_mems): Likewise.
2741         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
2742         (maybe_eliminate_biv_1):
2743         (move_movables): Replace emit_call_insn_before with
2744         loop_call_insn_hoist.
2745         * loop.h (loop_insn_emit_before): Add.
2746         * unroll.c (copy_loop_body): Replace emit_insn_before with
2747         loop_insn_emit_before.
2748
2749 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
2750
2751         * diagnostic.c (fatal): Request preprocessed source.
2752
2753 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
2754
2755         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
2756         olddecl has argument types and newdecl has none, use the argument
2757         types from olddecl.
2758
2759 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
2760
2761         * dwarf2out.c (prefix_of): New function.  Determine longest common
2762         prefix of the two arguments.  The units are whole path components.
2763         (output_file_names): When adding a new directory find the one entry
2764         with the longest common prefix already in the list.  Artificially
2765         generate entry if there is none for this prefix.
2766         Fix test to check whether the zeroth directory entry is used.
2767
2768 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
2769
2770         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
2771         Changed all callers.  Take it into account when deciding if a
2772         previously loaded value matches.
2773
2774 2001-01-24  Richard Henderson  <rth@redhat.com>
2775
2776         * reload.c (find_reloads_subreg_address): Fail the substitution
2777         if the resulting address is insufficiently aligned.
2778
2779 2001-01-24  DJ Delorie  <dj@redhat.com>
2780
2781         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
2782         check the original operand's mode also.
2783         * simplify-rtx.c (simplify_ternary_operation): Ditto.
2784
2785 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
2786
2787         * c-parse.in (cast_expr): Move compound literals from here ...
2788         (primary): ... to here.  Use standard terminology "compound
2789         literal" instead of "constructor expression".
2790
2791 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
2792
2793         * gcc.1, cpp.1: Regenerate.
2794
2795 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
2796
2797         * calls.c (emit_library_call_value_1): Memory slot for
2798         pass-by-reference argument should have the mode of the argument,
2799         not of the pointer to it.
2800
2801 2001-01-24  Tom Tromey  <tromey@redhat.com>
2802
2803         * gcc.texi (G++ and GCC): Mention gcj manual.
2804         (Standards): Link to section of manual mentioning gcj/Java
2805         compatibility.
2806
2807 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
2808
2809         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
2810         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
2811         * tradcpp.c (main): Add -imacros or -include'd dependencies
2812         for -M*.
2813         * cpp.texi (-M, -MM): Document -M -include behaviour.
2814
2815 2001-01-24  Roger Collins <roger@ProProject.com>
2816
2817         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
2818
2819 2001-01-24  Will Cohen  <wcohen@redhat.com>
2820
2821         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
2822         whether registers are 32 bits or 64 bits in size.
2823
2824 2001-01-24  Ben Elliston  <bje@redhat.com>
2825
2826         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
2827
2828 2001-01-24  Richard Henderson  <rth@redhat.com>
2829
2830         * config/alpha/alpha.md (builtin_longjmp_internal): New.
2831         (builtin_longjmp): Use it instead of emit_indirect_jump.
2832
2833 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2834
2835         * bb-reorder.c (make_reorder_chain_1): Handle case where
2836         jump edge goes to the same block as the fallthru edge.
2837
2838 2001-01-23  Jim Wilson  <wilson@redhat.com>
2839
2840         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
2841         * frame.h (__ia64_personality_v1): Add prototype.
2842         * libgcc2.c (ia64_throw_helper): Change personality declaration to
2843         prototype form.  Add void * cast to first argument to personality
2844         call.
2845         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
2846         (asctoe113): Likewise.
2847         * config/ia64/frame-ia64.c: Include eh-common.h.
2848         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
2849         prototypes.
2850         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
2851         to dump parameter.
2852         (itanium_split_issue): Add prototype.
2853         (gen_nop_type): Ifdef out.
2854         (find_best_packet): Initialize best_packet.
2855         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
2856         result.
2857         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
2858         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
2859         (flushrs): Add explicit stop bit at end.
2860         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
2861         trailing \ to >.
2862
2863 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
2864
2865         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
2866         of EH symbols.
2867         * libgcc2.c (__terminate_func): Make variable static.
2868         (__terminate_set_func): New function to set __terminate_func.
2869         * libgcc2.h (__terminate_func_ptr): New typedef.
2870         (__terminate_set_func): New function.
2871
2872 2001-01-23  Richard Henderson  <rth@redhat.com>
2873
2874         * flow.c (init_propagate_block_info): Don't consider unchanging
2875         memories for dead frame store elimination.
2876
2877 2001-01-23  Richard Henderson  <rth@redhat.com>
2878
2879         * varasm.c (UNIQUE_SECTION): Move default implementation ...
2880         * defaults.h: ... here.
2881
2882 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2883
2884         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
2885
2886 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
2887
2888         * c-lex.c (lex_charconst): Fix typo: s/p/str.
2889
2890 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2891
2892         * rs6000.h (rs6000_return_addr): Move prototype from here...
2893         * rs6000-protos.h (rs6000_return_addr): ...to here.
2894         (rs6000_init_expanders): Delete prototype.
2895
2896 2001-01-23  Nick Clifton  <nickc@redhat.com>
2897
2898         * invoke.texi: Replace , with \, inside @gccoptlist macros.
2899         (Spec Files): Document %B and %j and %. and %v3 and %M and
2900         %{S*&T} spec switches.
2901
2902 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2903
2904         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
2905
2906 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
2907             Neil Booth  <neil@daikokuya.demon.co.uk>
2908
2909         * cpperror.c: Merge handlers of PEDWARN and WARNING.
2910         Have -Werror make pedantic warnings errors, like the
2911         rest of GCC.
2912
2913 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
2914
2915         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
2916
2917 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
2918
2919         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
2920         * integrate.c (expand_inline_function): Initialize them.
2921         (subst_constants): If changing COMPARE so that both its arguments
2922         will be VOIDmode and the comparison mode will be lost, note
2923         compare_mode.  Use the recorded compare_mode to optimize
2924         IF_THEN_ELSE.
2925
2926 2001-01-23  Jason Merrill  <jason@redhat.com>
2927
2928         * dwarf2out.c (new_die): Use xcalloc.
2929         (output_die): Abort rather than emit a local reference to offset 0.
2930
2931 2001-01-17  Andrew Haley  <aph@redhat.com>
2932
2933         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
2934         of a saved register; return NULL instead.
2935         (copy_reg): Take a pointer to a source register rather than a
2936         frame_state.
2937         (next_stack_level): Remember the address in the stack frame of all
2938         saved registers.
2939         Use the saved register pointer array as the source of the CFA.
2940         (throw_helper): Rewrite.  Unwind once rather than twice and keep
2941         track of saved registers as we go.
2942
2943 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2944
2945         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
2946         * c4x.c (c4x_legitimize_reload_address): Remove.
2947         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
2948         reload address for ldp(k) insn.
2949
2950 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
2951
2952         * pa.md (return_internal): Add a USE of the PIC register to ensure
2953         it is restored after each call.
2954         (return expander): Corresponding changes.
2955
2956 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2957
2958         * rs6000.h (INIT_EXPANDERS): Delete.
2959         (RETURN_ADDR_RTX): Call rs6000_return_addr().
2960         * rs6000.c (rs6000_override_options): Call *_machine_status from
2961         here...
2962         (rs6000_init_expanders): ...instead of here. Delete.
2963         (rs6000_mark_machine_status): New function.
2964         (rs6000_init_machine_status): Use xcalloc.
2965         (rs6000_return_addr): Generate RTX for the return address.
2966         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
2967         (rs6000_stack_info): Use it.
2968
2969 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
2970
2971         * gthr-win32.h: Include errno.h to get a declaration for
2972         EINVAL and _mingw.h if the target is mingw32.
2973
2974 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
2975
2976         * cpp.texi: Correct typos.
2977
2978 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2979
2980         * explow.c (probe_stack_range): Ensure value passed to
2981         stack_check_libfunc is ptr_mode, not Pmode.
2982
2983 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
2984
2985         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
2986         case, don't use operand_subword to calculate a SUBREG that is
2987         wider than a word.
2988
2989         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
2990
2991 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2992
2993         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
2994         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
2995         valid.  If not replace it by equivalent insns.
2996
2997 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2998
2999         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
3000         contains SYMBOL_REF, LABEL_REF and CONST_INT.
3001         (c4x_U_constraint, symbolic_address_operand): Likewise.
3002         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
3003         memory.
3004         (c4x_r11_set_p, c4x_check_laj_p): New functions.
3005         * c4x-protos.h (c4x_check_laj_p): Add prototype.
3006         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
3007         anulling slot because of silicon bug.
3008         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
3009
3010 2001-01-22  Alan Modra <alan@linuxcare.com.au>
3011
3012         * cppexp.c (parse_charconst):  Change `mask' type to agree
3013         with parse_escape.
3014
3015 2001-01-21  Richard Henderson  <rth@redhat.com>
3016
3017         * config/i386/i386.c (ix86_asm_file_end): Disable putting
3018         pic_label_name in a linkonce section.
3019
3020 2001-01-17  Philipp Thomas  <pthomas@suse.de>
3021
3022         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
3023         found in libintl.
3024         * configure: Regenerate.
3025
3026 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
3027
3028         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
3029         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
3030
3031 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
3032
3033         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
3034         If REVERSE nonzero then condition code in X must be reversed.
3035         (encode_section_info): Optimise if/else.
3036         (avr_function_value): Fix formatting.
3037
3038         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
3039         (difficult_branch): Likewise.
3040         (rvbranch): Likewise.
3041         (difficult_rvbranch): Likewise.
3042
3043         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
3044
3045         * config/avr/libgcc.S: Fix comment.
3046
3047 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
3048
3049         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
3050
3051 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
3052
3053         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
3054
3055 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
3056
3057         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
3058         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
3059         * configure, config.in: Regenerate.
3060         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
3061         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
3062         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
3063         (doprint.o): New rule.
3064
3065 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
3066
3067         * c-typeck.c (digest_init): Handle boolean types as scalars.
3068
3069 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3070
3071         * stmt.c (expand_return): Don't return anything if size is zero.
3072         Delete redundant assignment to BYTES.
3073         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
3074
3075 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
3076
3077         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
3078         the same as the default library function names.
3079         * config/avr/avr.md: Document special characters after '%'.
3080         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
3081         knowing which of the call-used registers are really clobbered.
3082         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
3083         New.  Both quotient and remainder from one libgcc.S call.
3084         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
3085         clobber as few registers as possible.
3086         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
3087
3088 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
3089
3090         * cppmacro.c (funlike_invocation_p): Don't move back up to the
3091         context of the top of the stack.
3092
3093 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
3094
3095         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
3096         (fixup_var_refs_insns): ...here.
3097
3098 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
3099
3100         * function.c (fixup_var_refs_insns): Break up into
3101         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
3102         [loop over entire insn list], and fixup_var_refs_insns_with_hash
3103         [loop over hash table entries].
3104         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
3105         fixup_var_refs_insns_with_hash, to match above changes.
3106
3107 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3108
3109         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
3110         (libgcc.a): Likewise.
3111         (stmp-multilib): Likewise.
3112         (STAGE2_FLAGS_TO_PASS): Likewise.
3113
3114 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
3115
3116         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
3117         temporary if no_new_pseudos.
3118
3119 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
3120
3121         * cppinternals.texi: Update.
3122
3123 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
3124
3125         * arm.c (arm_init_builtins): Re-enable builtins.
3126
3127 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3128
3129         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
3130         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
3131         element to be null, and always expect an EXPR_LIST.
3132         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
3133         * sched-deps.c (sched_analyze_1): Likewise.
3134         * sched-rgn.c (check_live_1, update_live_1): Likewise.
3135
3136         * regclass.c (max_set_parallel): New variable.
3137         (reg_scan): Take it into account in computation of max_parallel.
3138         (reg_scan_mark_refs, case SET): Compute it.
3139
3140         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
3141         args are REG.
3142         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
3143         * function.c (assign_parms): Use INTVAL for a CONST_INT.
3144
3145 2001-01-19  Jason Merrill  <jason@redhat.com>
3146
3147         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
3148         for the abstract instance of an inline function.
3149
3150 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
3151                           J"orn Rennecke <amylaar@redhat.com>
3152
3153         * reload1.c (move2add_note_store): Treat all registers directly or
3154         indirectly derived from a base register as members of the same set
3155         of values.
3156         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
3157         of base register into account.
3158
3159 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
3160
3161         * alias.c (find_base_value): Recognize TRUNCATE.
3162         (record_set): In PLUS case, invalidate if other summand is also a
3163         base value.
3164
3165 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3166
3167         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
3168         entry to be EXPR_LIST.
3169         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
3170         be an EXPR_LIST (but not null, which other code doesn't allow).
3171         (note_stores): Properly handle PARALLEL in SET.
3172         Recursively call for top-level PARALLEL.
3173         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
3174         * sched-rgn.c (check_live_1, update_live_1): Likewise.
3175
3176         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
3177
3178 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
3179
3180         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
3181         not pfile->skipping (== 0).
3182
3183 2001-01-17  Nick Clifton  <nickc@redhat.com>
3184
3185         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
3186         machine_status.
3187
3188 2001-01-17  Jim Wilson  <wilson@redhat.com>
3189
3190         * invoke.texi (IA-64 options): Improve.
3191
3192 2001-01-17  Tom Tromey  <tromey@redhat.com>
3193
3194         * invoke.texi (Optimize Options): Use `{}' to around @samp
3195         argument.
3196
3197 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
3198
3199         * invoke.texi (-fno-guess-branch-probability): New option.
3200
3201 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3202
3203         * combine.c (try_combine): Don't set i3_subst_into_i2 for
3204         case of making new double-word constant.
3205         Revert last change: instead just test i3_subst_into_i2.
3206
3207 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
3208
3209         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
3210         Use q constraints instead of r.
3211
3212 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
3213
3214         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
3215         (machine_function): Define.
3216         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
3217         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
3218         pa_free_machine_status): New functions.
3219         (override_options): Set {init,mark,free}_machine_status to above.
3220         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
3221         PIC_OFFSET_TABLE_REGNUM_SAVED.
3222         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
3223         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
3224         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
3225         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
3226         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
3227
3228 2001-01-15  DJ Delorie  <dj@redhat.com>
3229
3230         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
3231         (cpp.1): Ditto.
3232         (gcc.1): Ditto.
3233
3234 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3235
3236         * flow.c (propagate_on_insn): Make trying to delete a prologue
3237         or epilogue insn an ICE, not a warning.  Allow doing this if
3238         the current function returns with stack pointer depressed.
3239
3240         * combine.c (try_combine): If i3_subst_into_i2, properly check for
3241         I3 having more than one SET.
3242
3243 2001-01-16  Jim Wilson  <wilson@redhat.com>
3244
3245         * invoke.texi: Document IA-64 options.
3246
3247         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
3248         (fixup_errata): Delete TARGET_A_STEP use.
3249         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
3250         (TARGET_SWITCHES): Delete -ma-step option.
3251         * config/ia64/ia64.md (all FP patterns): Delete %B0.
3252         (movqicc_astep, movqi_internal_astep, movhicc_astep,
3253         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
3254         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
3255         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
3256         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
3257         Delete.
3258         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
3259         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
3260         cmovsi_internal): Delete ! TARGET_A_STEP check.
3261
3262 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3263
3264         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
3265         possibility to report bugs via postal mail. Change a URL and
3266         merge in a nearly duplicate statement...
3267         (Bug Reporting): ...from here.
3268         (Service): Refer to the Bug Reporting section instead of
3269         duplicating an URL.
3270         (Contributing): Remove trivial explanations concerning snapshots.
3271
3272 2001-01-16  Alan Modra <alan@linuxcare.com.au>
3273
3274         * cppmain.c (general_init): Don't use ANSI prototype.
3275
3276 2001-01-16  Tom Tromey  <tromey@redhat.com>
3277
3278         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
3279
3280 2001-01-16  Richard Henderson  <rth@redhat.com>
3281
3282         * config/i386/i386.h: Fix comment typo.
3283         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
3284         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
3285
3286 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
3287
3288         * gcc.c:  Revert previous -fsyntax-only-related change; move
3289         to cp/g++spec.c.
3290
3291 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
3292
3293         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
3294         inmode after checking GET_CODE (op).
3295
3296 2001-01-16  Richard Henderson  <rth@redhat.com>
3297
3298         * flow.c (struct propagate_block_info): Add mem_set_list_len.
3299         (MAX_MEM_SET_LIST_LEN): New.
3300         (propagate_one_insn): Update mem_set_list_len.
3301         (invalidate_mems_from_autoinc): Likewise.
3302         (invalidate_mems_from_set): Likewise.
3303         (mark_used_regs): Likewise.
3304         (init_propagate_block_info): Likewise.  Stop collecting memories
3305         when we reach MAX_MEM_SET_LIST_LEN.
3306         (mark_set_1): Likewise.
3307
3308 2001-01-16  Richard Henderson  <rth@redhat.com>
3309
3310         * unroll.c (precondition_loop_p): Fail if no iteration
3311         variable found.
3312
3313 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
3314
3315         * gcc.c:  When -fsyntax-only is given, do not complain about
3316         unused libraries.
3317
3318 2001-01-15  Richard Henderson  <rth@redhat.com>
3319
3320         * config/i386/i386.c (asm_output_function_prefix): Remove.
3321         (ix86_asm_file_end): New.
3322         (load_pic_register): Generate pic_label_name into a
3323         staticly allocated buffer.
3324         * config/i386/i386-protos.h: Update.
3325         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
3326         (ASM_FILE_END): New.
3327         * config/i386/i386afe.h: New file.
3328         * config.gcc (i?86-*-elf) [tm_file]: Use it.
3329         (i?86-*-{freebsd,linux*,moss*}): Likewise.
3330         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
3331         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
3332         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
3333         * config/i386/sco5.h (ASM_FILE_END): Likewise.
3334         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
3335
3336 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
3337
3338         * Makefile.in (install-man): Remove explicit dependency on
3339         $(srcdir)/gcc.1.
3340
3341         * configure.in, configure: Revert previous patch requiring perl
3342         5.6.0.
3343
3344 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
3345
3346         * toplev.c (flag_guess_branch_prob): New.
3347         (f_options): Add guess-branch-probability option.
3348         (rest_of_decl_compilation): Only estimate branch probability if
3349         flag set.
3350         (main): set flag_guess_branch_prob.
3351
3352         * flags.h (flag_guess_branch_prob): New.
3353
3354 2001-01-15  DJ Delorie  <dj@redhat.com>
3355
3356         * gcc.texi (Makefile): Add documentation for Makefile targets.
3357
3358 2001-01-15  Philip Blundell  <philb@gnu.org>
3359
3360         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
3361         (is_pic): Delete.
3362         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
3363         (is_pic): Delete declaration.
3364         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
3365         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
3366         * config/arm/arm.md (builtin_setjmp_receiver): New.
3367
3368 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
3369
3370         * arm.c (use_return_insn): Don't try to determine the function type
3371         until after reload has completed.
3372         (arm_output_epilogue): Don't adjust the sp value recovered from the
3373         stack.
3374         (emit_multi_reg_push): Don't record dwarf information for the pc.
3375         * arm.md (eh_epilogue): The function type may have changed, so it
3376         needs to be recalculated.
3377         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
3378         unwind tables on arm/netbsd.
3379
3380 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
3381
3382         * arm.md (cbranchsi4): Correct calculation of branch ranges.
3383         (negated_cbranchsi4): Likewise.
3384
3385 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
3386
3387         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
3388         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
3389         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
3390         pass -mapcs-* options to assembler.
3391         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
3392         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
3393         (ASM_SPEC): Call subtarget_extra_asm_spec.
3394
3395 2001-01-15  Andreas Jaeger  <aj@suse.de>
3396
3397         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
3398         warnings.
3399         (ix86_expand_builtin): Likewise.
3400
3401         * gencodes.c (output_predicate_decls): Make i size_t to avoid
3402         warning about comparison between signed and unsigned.
3403
3404 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
3405
3406         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
3407
3408 2001-01-14  Ralf Baechle <ralf@gnu.org>
3409
3410         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
3411         SUBTARGET_CPP_SPEC apropriatly.
3412
3413 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
3414
3415         * varasm.c (make_decl_rtl): Fix typo in last change.
3416
3417 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
3418
3419         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
3420         linker supports the init_priority C++ attribute.
3421         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
3422         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
3423         linker does not support init_priority C++ attribute.
3424
3425 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
3426
3427         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
3428
3429 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
3430
3431         * c-parse.in (finish_parse): Add comment about cpp_destroy.
3432         * cp/lex.c (finish_parse): Similarly.
3433         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
3434         Return the number of errors encountered.
3435         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
3436         * cppmain.c (main): Don't call cpp_destroy.
3437
3438 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
3439
3440         * configure.in: Require at least perl 5.6.0 to regenerate
3441         manpages.
3442         * configure: Regenerate.
3443
3444 2001-01-14  Richard Henderson  <rth@redhat.com>
3445
3446         * genrecog.c (DT_veclen_ge): New.
3447         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
3448         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
3449         (nodes_identical_1): Handle DT_veclen_ge.
3450         (write_cond, debug_decision_2): Likewise.
3451
3452 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
3453
3454         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
3455         with ...
3456         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
3457
3458 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
3459
3460         * cppmain.c (do_preprocessing): New function; most of the old
3461         main.
3462         (main): Call it to do most of the work.
3463         (cb): Move from global scope to set_callbacks ().
3464         (setup_callbacks): Get the callback pointer.
3465         (general_init, printer_init): Clean up code and comments.
3466
3467 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
3468
3469         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
3470         compiling PIC.
3471
3472 2001-01-14  Kazu Hirata  <kazu@hxi.com>
3473
3474         * config/h8300/h8300.c (get_shift_alg): Update comments.
3475
3476 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3477
3478         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
3479         (alloc_page, ggc_alloc): Add casts to remove warnings.
3480
3481 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
3482
3483         * combine.c (simplify_comparison): Don't change `code' when
3484         can't reverse comparison.
3485
3486 2001-01-14  Richard Henderson  <rth@redhat.com>
3487
3488         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
3489         update all call sites.  Return true for all non-label constants.
3490
3491 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
3492
3493         * i386.c (ix86_expand_compare): Add bypass_test and second_test
3494         parameters.
3495         (ix86_expand_branch): Update.
3496         (ix86_expand_setcc): Update to handle multiple test conditions.
3497         (expand_int_movcc): Likewise.
3498         (expand_fp_movcc): Likewise.
3499         * i386-protos.h (ix86_expand_compare): New.
3500         * i386.md (andqi_?_slp, orqi_?_slp): New.
3501         (conditional trap expander): Update call to ix86_expand_compare.
3502
3503 2001-01-14  Richard Henderson  <rth@redhat.com>
3504
3505         * config/vax/vax.md: Use nonimmediate_operand instead of
3506         general_operand in destinations.
3507
3508         * config/vax/vax.md (indirect_jump): Use register_operand.
3509
3510         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
3511         * config/vax/vax.md (call_pop): Turn into an expander.
3512         (call_value_pop): Likewise.
3513         (call, call_value): New.
3514
3515 2001-01-14  Andreas Jaeger  <aj@suse.de>
3516
3517         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
3518         variables.
3519         (ix86_fp_compare_mode): Add unused attribute.
3520         (ix86_expand_fp_movcc): Remove unused variable.
3521         (ix86_expand_builtin): Make fcode unsigned.
3522
3523         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
3524         (expand_expr): Add cast to avoid signed warning.
3525         (store_field): Likewise.
3526         (store_constructor_field): Likewise.
3527         (store_constructor): Likewise.
3528         (store_expr): Likewise.
3529         (clear_storage): Likewise.
3530         (emit_group_store): Likewise.
3531         (emit_group_load): Likewise.
3532
3533 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3534
3535         * c-common.c: Move format checking code to ...
3536         * c-format.c: ... here.  New file.  Reorder some functions and
3537         declarations.
3538         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
3539         New functions.
3540         * c-common.h (decl_handle_format_attribute,
3541         decl_handle_format_arg_attribute): Declare.
3542         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
3543         (c-common.o): Adjust dependencies.
3544         (c-format.o): New list of dependencies.
3545
3546 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
3547
3548         * unroll.c (loop_iterations): If we cannot prove iteration variable
3549         is set once in each iteration, punt.
3550
3551 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
3552
3553         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
3554         (*strlenhi): Remove clobber (which was buggy) of output address.
3555
3556 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3557
3558         * Makefile.in (generated-manpages): Add gcc.1
3559         ($(srcdir)/gcc.1): New target.
3560         (maintainer-clean): Delete $(srcdir)/gcc.1.
3561         * gcc.texi: Add macros @gccoptlist and @gol.
3562         * invoke.texi: Include option summary in manpage.  Mark up option
3563         summary with @gccoptlist and @gol.  Use @r in one place where
3564         appropriate.
3565         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
3566         * gcc.1: Generate from invoke.texi.
3567
3568 2001-01-13  Richard Henderson  <rth@redhat.com>
3569
3570         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
3571         (struct page_entry): Add group member.
3572         (struct page_group): New.
3573         (struct globals): Add page_groups member.
3574         (alloc_anon): Only define for using mmap; remove valloc call.
3575         (page_group_index): New.
3576         (set_page_group_in_use): New.
3577         (clear_page_group_in_use): New.
3578         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
3579         (free_page, release_pages): Likewise.
3580         * configure.in (with-gc): Default to ggc-page always.
3581
3582 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
3583
3584         * reload1.c (replace_pseudos_in_call_usage): Use
3585         reg_equiv_constant and reg_equiv_address, and don't try
3586         regno_reg_rtx first.
3587
3588 2001-01-13  Richard Henderson  <rth@redhat.com>
3589
3590         * ggc-page.c (alloc_page): Round up allocation size to one page.
3591         Set e->order on extra pages.
3592
3593 2001-01-13  Richard Henderson  <rth@redhat.com>
3594
3595         * genrecog.c (nodes_identical): Expand commentary.
3596         (write_switch): Watch out for identical nodes.
3597
3598 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
3599
3600         * cppfiles.c (_cpp_fake_include): New function.
3601         * cpphash.h (_cpp_fake_include): New.
3602         * cpplib.c (do_line): Call _cpp_fake_include when entering
3603         header files in preprocessed input.
3604         * cppmain.c (cb_pragma_implementation): Remove handling.
3605         (setup_callbacks): Don't register pragmas.
3606
3607 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
3608
3609         * extend.texi: Udate for CPP.
3610
3611 2001-01-13  Andreas Jaeger  <aj@suse.de>
3612
3613         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
3614
3615         * regmove.c: Add prototype for replace_in_call_usage.
3616
3617 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
3618
3619         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
3620         struct cpp_chunk, struct htab, struct toklist,
3621         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
3622         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
3623         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
3624         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
3625         (struct macro_args): Delete.
3626         * cpphash.h: See above.
3627
3628 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
3629
3630         * cppmain.c (struct printer): Remove no_line_dirs.
3631         (options, cb): New.
3632         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
3633         : Use options rather than CPP_OPTION.
3634         (setup_callbacks): Use cb rather than pfile->cb.
3635         (main): No need to check for a buffer.  Use cpp_errors.
3636         (printer_init): Don't set no_line_dirs.
3637         (maybe_print_line): Use options not no_line_dirs.
3638         (cb_file_change): Don't call print_line if -P.
3639
3640 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
3641
3642         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
3643         callbacks.
3644         * c-parse.in (finish_parse): Use cpp_errors.
3645         (__yylex): Use return value of cpp_pop_buffer.
3646         * cp/lex.c (finish_parse): Use cpp_errors.
3647         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
3648
3649 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
3650
3651         * README.AVR: URLs corrected.
3652
3653 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3654
3655         * c-decl.c (start_function): Don't warn if old prototype is builtin
3656         that's not in C's namespace.
3657         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
3658         (_bb): Add prototype for ctime.
3659         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
3660
3661 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
3662
3663         * i386.c (ix86_fp_comparison_arithmetics_cost,
3664         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
3665         ix86_fp_comparison_cost): New functions.
3666         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
3667         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
3668         two-branch sequences; make static.
3669         (ix86_use_fcomi_compare): Do decision according to the costs.
3670         (split_fp_branch): New.
3671         * i386.md (compare-and-branch patterns): Use split_fp_branch.
3672         * i386-protos.h (ix86_expand_fp_compare): Remove
3673         (ix86_split_fp_branch): Declare.
3674
3675         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
3676         and ix86_comparison_operator.
3677
3678         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
3679         to make it cheaper.
3680
3681         * i386.c (put_condition_code): Output properly the unordered/ordered
3682         compares in fp case.
3683         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
3684
3685         * tm.texi (REVERSE_CONDITION): Document.
3686         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
3687         in -ffast-math mode.
3688         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
3689
3690 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
3691
3692         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
3693
3694         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
3695         optimized away.
3696
3697         * config/sh/sh.c (mova_p): Fix test for mova_const.
3698
3699 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
3700
3701         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
3702         cpp_get_options rather than dereferencing pfile and using
3703         CPP_OPTION.
3704         * scan-decls.c (scan_decls): Use return value of
3705         cpp_pop_buffer rather than CPP_BUFFER.
3706
3707 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
3708
3709         * cppinit.c (cpp_handle_option): help_only is now part of the
3710         cpp_options structure.
3711         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
3712         cpp_set_callbacks): New functions.
3713         * cpplib.h (cpp_callbacks): Break out as a named structure.
3714         (cpp_options): Move help_only here from cpp_reader.
3715         (CPP_FATAL_ERRORS): Update to use cpp_errors.
3716         (cpp_errors, cpp_get_options, cpp_get_callbacks,
3717         cpp_set_callbacks): New prototypes.
3718         * cppmain.c (main): Update for help_only.
3719
3720 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3721
3722         * Makefile.in (info, maintainer-clean, install-info, uninstall):
3723         Also build and remove and install and uninstall c-tree.info and
3724         cppinternals.info.
3725         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
3726         ($(srcdir)/cppinternals.info): New target.
3727         * c-tree.texi: Change file name used when makeinfo used without -o
3728         from ir.info to c-tree.info.  Add info directory entry.
3729         * cppinternals.texi: Add info directory entry.
3730         * .cvsignore: Update.
3731
3732 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
3733
3734         * c-typeck.c (store_init_value): Don't require constant initializer
3735         elements with -pedantic -std=c99.
3736         (digest_init): Change error about non-constant initializer elements
3737         into pedwarn.
3738         (constructor_range_end): Remove.
3739         (constructor_incremental, designator_depth,
3740         designator_errorneous): New variables.
3741         (struct constructor_stack): Remove range_end, add incremental.
3742         (struct constructor_range_stack, constructor_range_stack): New.
3743         (struct initializer_stack): Add constructor_range_stack.
3744         (finish_init): Set it.
3745         (start_init): Likewise.  require_constant_elements for non-static
3746         trees only if not flag_isoc99.
3747         (really_start_incremental_init): Remove constructor_range_end, add
3748         constructor_incremental.
3749         (pop_init_level): Likewise.
3750         (push_init_level): Likewise.  If implicit and the subobject had some
3751         value set already, preinitialize the level with it.
3752         Warn about missing braces only if not pushing due to designators.
3753         (set_designator, push_range_stack): New functions.
3754         (set_init_label): Use them.
3755         (set_init_index): Likewise.  Remove constructor_range_end.
3756         Error if designator index is outside of array bounds.
3757         (add_pending_init): Compare values of purpose index trees, not the
3758         trees themselves.  Allow overwriting of already initialized element.
3759         Issue a warning if it had side-effects.
3760         (set_nonincremental_init, set_nonincremental_init_from_string): New
3761         functions.
3762         (pending_init_member): Rename to...
3763         (find_init_member): ...this function.  Call set_nonincremental_init
3764         if necessary.  Compare values of purpose index trees, not the trees
3765         themselves.  Return the actual value, not just non-zero if something
3766         is found.
3767         (output_init_element): Remove checks for duplicates.
3768         If field has zero size, only check the initializer for correctness.
3769         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
3770         if constructor_incremental is zero.  Change error about initializers
3771         not computable at load time into pedwarn.
3772         (output_pending_init_elements): Compare bit positions, not
3773         FIELD_DECLs to take into account zero-sized fields.
3774         (process_init_element): Use constructor_range_stack to fill all
3775         ranges in the designator lists from current level up.
3776         * extend.texi: Update documentation for labeled elements.
3777
3778 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
3779
3780         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
3781         to function usage for arguments passed by reference.  Optimize
3782         callee-copied arguments.
3783         * regmove.c (replace_in_call_usage): New function.
3784         (fixup_match_1): Call it.
3785         * cse.c (cse_insn): Canonicalize registers in function usage.
3786         * reload1.c (replace_pseudos_in_call_usage): New function.
3787         (reload): Call it.
3788
3789         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
3790         right version.
3791
3792 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
3793
3794         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
3795         not XEXP (tmp, 0).
3796
3797 2001-01-12  DJ Delorie  <dj@redhat.com>
3798
3799         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
3800         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
3801         targets.
3802
3803 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3804
3805         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
3806         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
3807         -std options alongside references to -ansi.  Update some
3808         documentation for C99.
3809         * cpp.1: Regenerate.
3810
3811 2001-01-12  Andreas Jaeger  <aj@suse.de>
3812
3813         * haifa-sched.c (restore_line_notes): Remove argument block B
3814         since it's unused.
3815         * sched-ebb.c (schedule_ebb): Change caller.
3816         * sched-rgn.c (schedule_region): Likewise.
3817         * sched-int.h (restore_line_notes): Adjust prototype.
3818
3819         * loop.h: Remove wrong declaration of doloop_condition_get.
3820
3821 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
3822
3823         * extend.texi:  Move C++-extension-related node from the C section
3824         into the C++ section.
3825
3826 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3827
3828         * extend.texi: Refer to an array of pointers to functions instead
3829         of one of functions.
3830
3831 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
3832                               Jan Hubicka  <jh@suse.cz>
3833
3834         * combine.c (reversed_comparison): Fix typo in last patch.
3835         Check X for NULL.
3836         (combine_reversed_comparison_code): Make static to follow
3837         prototype declaration.
3838
3839 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
3840
3841         * install.texi:  Remove misplaced duplicate entry.
3842
3843 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
3844
3845         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
3846
3847 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
3848
3849         * final.c: (leaf_function_p): Fix typo.
3850
3851 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
3852
3853         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
3854         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
3855         which you have.
3856         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
3857         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
3858         mmap_anon, and valloc is available.
3859         * ggc-page.c: Restructure ifdef logic to match new autoconf
3860         spec.  Don't throw away the test page in init_ggc.
3861
3862         * configure, config.in: Regenerate.
3863
3864 2001-01-12  Michael Hayes  <mhayes@redhat.com>
3865
3866         * loop.h (total_biv_increment): Constify iv_class pointer.
3867         (struct induction): Replace `mem_mode' with `mem' rtx.
3868         * unroll.c (total_biv_increment): Constify iv_class pointer.
3869         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
3870         (find_mem_givs, combine_givs_p): Likewise.
3871         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
3872
3873 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
3874
3875         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
3876         LastError.
3877         (__gthread_getspecific): Ditto.
3878
3879 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
3880
3881         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
3882         put_condition_code): Convert fp comparison codes to integer
3883         before handling.
3884         (ix86_expand_fp_compare): Postnote the fp comparison code converison
3885         to final.
3886
3887         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
3888         * i386-protos.h (no_comparison_operator): Kill.
3889
3890         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
3891
3892         * combine.c (REVERSIBLE_CC_MODE): Remove.
3893         (reversible_comparison_p): Remove.
3894         (combine_reversed_comparison_code): New.
3895         (reversed_comparison): New.
3896         (combine_simplify_rtx): Use
3897         combine_reversed_comparison_code/reversed_comparison instead
3898         of reversible_comparison_p.
3899         (simplify_if_then_else): Likewise.
3900         (simplify_set): Likewise.
3901         (simplify_logical): Likewise.
3902         (if_then_else_cond): Likewise.
3903         (known_cond): Likewise.
3904         (simplify_comparison): Likewise.
3905
3906 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
3907
3908         * builtins.c (std_expand_builtin_va_start): Handle varargs when
3909         sizeof (int) is larger than sizeof(__word__).
3910
3911 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
3912
3913         * cppinit.c (do_includes): Fix typo.
3914
3915 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3916
3917         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
3918         in S_REGS does not occur because not all sources are possible
3919         when a S_REGS is a destination (sometimes needs a clobber).
3920         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
3921         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
3922         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
3923         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
3924         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
3925         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
3926         (lshrdi_const1, lshrsi3_const16): Likewise.
3927         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
3928         (*movhi_68hc12, *movqi_68hc12): Likewise.
3929         (movstrictqi): Make sure reloading in D_REGS as a destination
3930         does not happen.
3931
3932 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
3933
3934         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
3935
3936 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
3937
3938         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
3939         -D, -U and -A, and don't initialize the builtins.
3940         (do_includes): Error if -include or -imacros with -fpreprocessed.
3941         * cppmain.c (cb_define, cb_undef): Unconditionally process
3942         the callback.
3943         * tradcpp.c (main): Fix typo.
3944
3945 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
3946
3947         * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
3948         (read_name_map): Use IS_ABSOLUTE_PATH.
3949         * tradcpp.c (get_filename): Likewise.
3950
3951 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3952
3953         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
3954         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
3955         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
3956         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
3957         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
3958         (cmphi_z_used): Don't use '@' for the output.
3959         (tstqi_z_used): Likewise.
3960         (cmpqi_z_used): Likewise.
3961         (one_cmplsi2): Likewise.
3962
3963 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
3964
3965         * config/sh/sh.c (barrier_align): Recognize branch around far
3966         branch and redundant insn.
3967
3968 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
3969
3970         * invoke.texi: Restore documentation of the drivers' switches -MD
3971         and -MMD.
3972
3973 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
3974
3975         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
3976
3977         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
3978         check-objc//%): Support parallel testing of multilibs.
3979         (TESTSUITEDIR): Set to testsuite by default, but override for
3980         parallel testing.
3981         (check-gcc, check-g++, check-g77, check-objc): Enter
3982         $(TESTSUITEDIR).
3983
3984 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
3985
3986         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
3987         * sched-deps.c (deps_may_trap_p): Likewise.
3988         * basic-block.h: Remove a comment.
3989         * flow.c (PROP_POSTRELOAD): Remove.
3990         (update_life_info): Don't add it to prop_flags.
3991         (mark_set_1): Lose the code that was enabled by it.
3992
3993 2001-01-11  Michael Hayes  <mhayes@redhat.com>
3994
3995         * flow.c (flow_call_edges_add): New.
3996         * basic_block.h (flow_call_edges_add): New.
3997
3998 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
3999
4000         * reload1.c (move2add_note_store): Update reg_set_luid even if
4001         base reg remains the same.
4002
4003 2001-01-10  Nick Clifton  <nickc@redhat.com>
4004
4005         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
4006         machine_function structure to zero.
4007         Add prototypes for machine_status functions.
4008
4009 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
4010
4011         * c-common.h (CTI_VOID_LIST): Remove.
4012         (void_list_node): Likewise.
4013         * tree.h (TI_VOID_LIST_NODE): New enumeral.
4014         (void_list_node): New macro.
4015         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
4016         * config/i386/i386.c (ix86_init_builtins): Likewise.
4017         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
4018
4019 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
4020
4021         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
4022         * cppinit.c (cpp_start_read): Update comment, remove unneeded
4023         if statement.
4024         * tradcpp.c: Include mkdeps.h.
4025         (deps, print_deps_phony_targets, deps_append, output_deps,
4026         init_dependency_output, output_deps): New.
4027         (deps_buffer, deps_allocated_size, deps_size, deps_column,
4028         deps_output): Delete.
4029         (print_deps_missing_files): Rename deps_missing_files.
4030         (inhibit_output): Make global.
4031         (main): Delete inhibit_output, deps_stream, deps_target.
4032         Use mkdeps functionality in the same way as cpplib.  Remove
4033         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
4034         -M and -MM.  Remove old handling of deps via deps_out, and
4035         old reading of environment variables.
4036         (get_filename): Update to use deps_add_dep.
4037
4038 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
4039
4040         * output.h (make_function_rtl): Remove prototype.
4041         (make_decl_rtl): Likewise.
4042         * varasm.c (make_function_rtl): Remove.
4043         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
4044         than from a third parameter.
4045         * tree.h (make_decl_rtl): Remove last parameter.
4046         * c-decl.c (builtin_function): Remove last argument in call to
4047         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
4048         (start_function): Likewise.
4049         * except.c (call_get_eh_context): Likewise.
4050         * expr.c (emit_block_move): Likewise.
4051         (clear_storage): Likewise.
4052         * profile.c (output_func_start_profiler): Likewise.
4053         * toplev.c (rest_of_decl_compilation): Likewise.
4054         * objc/objc-act.c (create_builtin_decl): Likewise.
4055         (synth_module_prologue): Likewise.
4056         (generate_static_reference): Likewise.
4057         (build_selector_reference_decl): Likewise.
4058         (build_class_reference_decl): Likewise.
4059         (build_objc_string_decl): Likewise.
4060         (build_protocol_reference): Likewise.
4061
4062 2001-01-10  Richard Henderson  <rth@redhat.com>
4063
4064         * hwint.h: Revert yesterday's change.
4065
4066 2001-01-10  Nick Clifton  <nickc@redhat.com>
4067
4068         * function.h (save_machine_status): Delete.
4069         (restore_machine_status): Delete.
4070         Amend comment describing {init|mark|free}_machine_status.
4071
4072         * function.c (save_machine_status): Delete.
4073         (restore_machine_status): Delete.
4074         Amend comment describing {init|mark|free}_machine_status.
4075         (push_function_context_to): Remove invocation of
4076         save_machine_status.
4077         (pop_function_context_from): Remove invocation of
4078         restore_machine_status.
4079
4080         * emit-rtl.c (init_emit_once): Amend comment describing
4081         {init|mark|free}_machine_status.
4082
4083         * tm.texi (Per-Function Data): New node.  Describe the
4084         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
4085         function pointers.
4086
4087 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
4088
4089         * cppinit.c (OPT_g): Remove.
4090         (cpp_handle_option): Update for removed -g3.
4091         (print_help): Update.
4092         * cpplib.h (struct cpp_options): Remove debug_output.
4093         * cppmain.c (setup_callbacks, cb_define): Update.
4094         * gcc.c (cpp_options): Translate -g3 to -dD.
4095
4096 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
4097
4098         * config/i960/i960.md: Change modifier to + on the zero_extract
4099         pattern after the (rotate -2 reg) canonicalization pattern.
4100
4101 2001-01-10  Richard Henderson  <rth@redhat.com>
4102
4103         * config/alpha/alpha.c (alpha_free_machine_status): New.
4104         (override_options): Install it.
4105         (alpha_mark_machine_status): Verify machine non-null.
4106         * config/i386/i386.c (ix86_free_machine_status): New.
4107         (override_options): Install it.
4108         (ix86_init_machine_status): Use xcalloc.
4109         (ix86_mark_machine_status): Verify machine non-null.
4110         * config/ia64/ia64.c (ia64_free_machine_status): New.
4111         (ia64_override_options): Install it.
4112         (ia64_mark_machine_status): Verify machine non-null.
4113
4114 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
4115
4116         * function.c (instantiate_virtual_regs): Instantiate virtual
4117         registers found in CALL_INSN_FUNCTION_USAGE.
4118
4119 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4120
4121         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
4122         equivalent to -ansi in disabling -Di386.
4123
4124 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
4125
4126         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
4127         new functions.
4128         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
4129
4130 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
4131
4132         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
4133
4134 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4135
4136         * invoke.texi: Document that -fcond-mismatch isn't supported for
4137         C++.
4138
4139 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4140
4141         * gcc.texi: Define macro gcctabopt.
4142         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
4143         @command, @env and @option in some places where appropriate.  Use
4144         @gcctabopt where appropriate.  Put URLs and email addresses inside
4145         @w.
4146
4147 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
4148
4149         * gcc.c (cpp_options): Set MD file name from output
4150         filename, if specified.
4151         (suffix_subst): New static variable.
4152         (do_spec): Clear it.
4153         (do_spec_1, case '.'): Handle new `%.suffix' spec.
4154         Clear it.
4155         (give_switch): Handle suffix_subst.
4156
4157 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
4158
4159         * invoke.texi:  Fix another typo.
4160
4161 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
4162
4163         * invoke.texi:  Fix typo.
4164
4165 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
4166
4167         * c-lang.c (lang_hooks): Update.
4168         (lang_decode_option): Remove.
4169         (lang_init_options): Rename c_init_options.
4170         * toplev.c (main): Use lang_hooks for lang_init_options
4171         and lang_decode_option.
4172         * toplev.h (lang_hooks): Add 2 new hooks.
4173         * tree.h: Remove lang_init_options and lang_decode_option.
4174         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
4175         * cp/decl2.c: Similarly.
4176         * cp/lex.c (lang_init_options): Rename cxx_init_options.
4177         (lang_hooks): Update.
4178         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
4179         for consistency.
4180         (lang_init_options): Rename ffe_init_options.
4181         (lang_hooks): Update.
4182         (lang_decode_option): Remove.
4183         * java/lang.c (lang_init_options): Rename java_init_options.
4184         (lang_decode_option): Rename java_decode_option.
4185         (lang_hooks): Update.
4186         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
4187         (lang_decode_option): Rename objc_decode_option.
4188         (lang_hooks): Update.
4189
4190 2001-01-09  Nick Clifton  <nickc@redhat.com>
4191
4192         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
4193         (d30v_return_addr_rtx): Delete.
4194         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
4195         cfun->machine structure.
4196         (struct machine_function): Move to d30v.h
4197         (d30v_save_machine_status): Delete.
4198         (d30v_restore_machine_status): Delete.
4199         (d30v_init_machine_status): New Function.
4200         (d30v_mark_machine_status): New Function.
4201         (d30v_free_machine_status): New Function.
4202         (d30v_init_expanders): Use new functions.
4203         (d30v_return_addr): Use ra_rtx field in cfun->machine.
4204         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
4205         d30v_return_addr_rtx.
4206
4207         * config/d30v/d30v.h (struct_machine): Move here.
4208         Add eh_epilogue_sp_ofs field.
4209
4210         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
4211         field in cfun->machine structure.
4212
4213 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4214
4215         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
4216         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
4217         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
4218
4219 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
4220
4221         * objc/lang-options.h: Remove bogus reference to
4222         Java trademark.
4223
4224 2001-01-09  Kazu Hirata  <kazu@hxi.com>
4225
4226         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
4227         return the result.
4228
4229 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
4230
4231         * reload.c (find_reloads_address): Check for eliminable registers
4232         when substituting a constant expression for a pseudo.
4233
4234 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
4235
4236         * c-common.c (enum format_type): Add format_type_error.
4237         (decode_format_type): New function.
4238         (decl_attributes): Use it.
4239         (format_kind_info): Adjust comment.
4240
4241 2001-01-09  David O'Brien  <obrien@BSDi.com>
4242
4243         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
4244         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
4245         files in tm_file.
4246         * config/i386/gnu.h: Don't include required platform specific .h files,
4247         tm.h will do it instead.
4248         * config/i386/i386elf.h: Likewise.
4249         * config/i386/linux.h: Likewise.
4250         * config/i386/moss.h: Likewise.
4251         * config/mips/gnu.h: Likewise.
4252
4253 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4254
4255         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
4256         (rs6000-ibm-aix3.[01]*): Likewise.
4257         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
4258         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
4259         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
4260         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
4261         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
4262         (powerpc-*-eabiaix*): Likewise.
4263         (powerpc-*-eabisim*): Likewise.
4264         (powerpc-*-elf*): Likewise.
4265         (powerpc-*-eabi*): Likewise.
4266         (powerpc-*-rtems*): Likewise.
4267         (powerpc-*-linux*libc1): Likewise.
4268         (powerpc-*-linux*): Likewise.
4269         (powerpc-wrs-vxworks*): Likewise.
4270         (powerpcle-wrs-vxworks*): Likewise.
4271         (powerpcle-*-sysv*): Likewise.
4272         (powerpcle-*-elf*): Likewise.
4273         (powerpcle-*-eabisim*): Likewise.
4274         (powerpcle-*-eabi*): Likewise.
4275         (powerpcle-*-solaris2*): Likewise.
4276         * config/rs6000/aix31.h: Delete includes.
4277         * config/rs6000/aix3newas.h: Likewise.
4278         * config/rs6000/aix41.h: Likewise.
4279         * config/rs6000/aix43.h: Likewise.
4280         * config/rs6000/beos.h: Likewise.
4281         * config/rs6000/rtems.h: Likewise.
4282         * config/rs6000/sysv4.h: Likewise.
4283
4284 2001-01-09  Kazu Hirata  <kazu@hxi.com>
4285
4286         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
4287         Change an argument mode of machine_mode to shift_mode of
4288         shift_mode.  Remove an extra error check.
4289         (emit_a_shift): Adopt to the new calling prototype of
4290         get_shift_alg.
4291         (function_prologue): Fix code for a monitor
4292         function.  Support H8/S.
4293         (function_epilogue): Do not output pop for a monitor function.
4294
4295 2001-01-09  Nick Clifton  <nickc@redhat.com>
4296
4297         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
4298         (setup_incoming_varargs): Use sysv_varargs_p field of the
4299         cfun->machine structure.
4300         (struct machine_function): Move to rs6000.h
4301         (rs6000_save_machine_status): Delete.
4302         (rs6000_restore_machine_status): Delete.
4303         (rs6000_init_machine_status): New Function.
4304         (rs6000_free_machine_status): New Function.
4305         (rs6000_init_expanders): Use new functions.
4306
4307         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
4308         export.
4309         (struct machine_function): Move here.
4310
4311         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
4312         sysv_varargs_p field of the cfun->machine structure.
4313
4314         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
4315         Remove prototype.
4316         (rs6000_restore_machine_status): Remove prototype.
4317
4318 2001-01-09  Richard Henderson  <rth@redhat.com>
4319
4320         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
4321         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
4322         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
4323         (sched_analyze_2, sched_analyze_insn): Likewise.
4324         (sched_analyze, init_deps): Likewise.
4325         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
4326         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
4327         (compute_block_backward_dependences): Update propagate_deps call.
4328
4329 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
4330
4331         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
4332
4333 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
4334
4335         * cppinit.c (OPT_MD, OPT_MMD): Restore.
4336         (cpp_handle_option): Handle them.
4337         (cpp_post_options): Ensure one of -M or -MM is specified with
4338         any other -M? option.
4339         (init_dependency_output): Suppress output with -MG.
4340
4341 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
4342
4343         * cpp.texi: Update.
4344         * invoke.texi: Update.
4345
4346 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
4347
4348         * sh.md (reload_outsf): Generate recognizable patterns for
4349         TARGET_SH3E.
4350
4351 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
4352
4353         * c-lang.c (lang_hooks): Update.
4354         (lang_init): Rename c_init.
4355         (lang_finish): Remove.
4356         * toplev.c (compile_file): Use lang_hooks for lang_init ()
4357         and lang_finish ().
4358         * toplev.h (lang_hooks): Add init () and finish ().
4359         * tree.h (lang_init, lang_finish): Remove.
4360         * cp/tree.h (lang_init, lang_finish): Remove.
4361         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
4362         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
4363         lang_hooks): New.
4364         (lang_init, lang_finish): Remove.
4365         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
4366         (lang_hooks): Update.
4367         * java/lang.c (lang_init): Rename java_init.
4368         (lang_finish): Remove.
4369         (lang_hooks): Update.
4370         * objc/objc-act.c (lang_init): Rename objc_init.
4371         (lang_finish): Remove.
4372         (lang_hoooks): Update.
4373
4374 20001-01-09  Graham Stott  <grahams@redhat.com>
4375
4376         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
4377         after `ptr` is initialised.
4378
4379 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
4380
4381         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
4382         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
4383         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
4384         stack adjusts, instead of r3.
4385
4386 2001-01-09  Michael Hayes  <mhayes@redhat.com>
4387
4388         * flow.c (flow_loop_scan): Break out of ...
4389         (flow_loops_find) ... here.
4390         * basic-block.h (flow_loop_scan): New.
4391         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
4392         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
4393
4394 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
4395
4396         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
4397         macro_buffer_len.
4398         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
4399         realloc()ing macro_buffer.
4400
4401         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
4402         if it's wider than long and the target's long is wider than the
4403         host's.
4404
4405 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
4406
4407         Remove support for using UWIN as a host machine.
4408         * configure.in: Issue an error message.
4409         * configure: Regenerated.
4410         * config.gcc: Remove xm_* UWIN configury.
4411         * config/i386/xm-uwin.h: Remove.
4412
4413 2001-01-08  Nick Clifton  <nickc@redhat.com>
4414
4415         * config/v850/v850.c (ra_rtx): Delete.
4416         (v850_save_machine_status): Delete.
4417         (v850_restore_machine_status): Delete.
4418         (v850_init_machine_status): New function.
4419         (v850_mark_machine_status): New function.
4420         (v850_free_machine_status): New function.
4421         (v850_return_addr): Use ra_rtx field in machine structure.
4422         (v850_init_expanders): Use new functions.
4423
4424         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
4425         * config/v850/v850.c: Change arguments to v850_output+* functions
4426         to take a const char *, to avoid compile time warning.
4427         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
4428         (USER_LABEL_PREFIX): Redefine.
4429
4430 2000-01-08  Jim Wilson  <wilson@redhat.com>
4431
4432         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
4433         1 to unsigned HOST_WIDE_INT before left shift.
4434
4435 2001-01-08  Nick Clifton  <nickc@redhat.com>
4436
4437         * config/arm/arm.c (arm_mark_machine_status): Check to see if
4438         the machine structure has been allocated.
4439         (arm_free_machine_status): New function: Free the machine
4440         specific function structure.
4441
4442 2001-01-08  Richard Henderson  <rth@redhat.com>
4443
4444         * jump.c (simplejump_p): Revert last change.
4445
4446 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4447
4448         * cppinit.c (init): Rename init_library.
4449         (cpp_create_reader): Update.
4450         * gcc.c (cpp_options): If -o given, use it as the target of
4451         any -M options.
4452
4453 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
4454
4455         * arm.c (arm_arch5e): New variable.
4456         (all_cores): XScale is a 5TE device.
4457         (arm_override_options): Set arm_arch5e.
4458         (arm_init_builtins): __builtin_prefetch is in arch5e.
4459         * arm.h (arm_arch5e): Declare it.
4460
4461         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
4462
4463         * arm.md (define_constants): Add defines for UNSPEC and
4464         UNSPEC_VOLATILE insns.  Update all users.
4465         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
4466         * arm.c (multi_register_push, note_invalid_constants)
4467         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
4468         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
4469         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
4470
4471 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
4472
4473         * jump.c (jump_optimize_1): Use reversed_comparison_code
4474         instead of can_reverse_comparison_p.
4475         (jump_back_p): Likewise.
4476         (invert_exp_1): Likewise.
4477         (thread_jumps): Likewise.
4478         * simplify-rtx.c (simplify_unary_operation): Likewise.
4479         (simplify_ternary_operation): Likewise.
4480         * cse.c (find_comparison_args): Convert to use
4481         can_reverse_comparison_p.
4482         (record_jump_equiv): Likewise.
4483
4484 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
4485
4486         * arm.h (HARD_REGNO_RENAME_OK): Delete.
4487         (EPILOGUE_USES): Define.
4488         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
4489         automatically stack the LR if it isn't live.
4490
4491 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
4492
4493         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
4494         properly.
4495
4496 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
4497
4498         * ggc-page.c (max_alignment): New structure.
4499         (MAX_ALIGNMENT): New macro.
4500         (init_ggc): Use it to round up the sizes in the
4501         extra_order_size_table.
4502
4503 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4504
4505         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
4506         after reload.
4507
4508 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4509
4510         * builtins.def (BUILT_IN_FPRINTF): New entry.
4511
4512         * c-common.c (c_expand_builtin_fprintf): New function.
4513         (init_function_format_info): Handle __builtin_fprintf.
4514         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
4515         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
4516
4517         * c-decl.c (duplicate_decls): Adjust comment.
4518
4519         * extend.texi (fprintf): Document new builtin.
4520
4521 2001-01-07  Richard Henderson  <rth@redhat.com>
4522
4523         * jump.c (simplejump_p): Recognize any single_set jump
4524         of the proper form.
4525
4526 2001-01-07  Richard Henderson  <rth@redhat.com>
4527
4528         * configure.in (slibdir): Accept an --with-slibdir option.
4529         Use "test" not "[" in configure.  Default to $(libdir).
4530
4531         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
4532         fix typo in rm -f.
4533         * config/t-aix43 (SHLIB_INSTALL): Likewise.
4534         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
4535         (SHLIB_LINK): Create links for the soname.
4536         * config/mips/t-iris6: Likewise.
4537         * config/sparc/t-slibgcc: Likewise.
4538         * config/sparc/t-slibgcc-sld: Likewise.
4539
4540 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
4541
4542         * config/i386/i386.c (constant_call_address_operand): Accept
4543         (const (plus (symbol_ref) (const_int))).
4544         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
4545         constant_call_address_operand.
4546
4547 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4548
4549         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
4550         and LONG_LONG_TYPE_SIZE > 32.
4551
4552 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4553
4554         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
4555         the previous change.
4556
4557 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
4558
4559         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
4560         New.
4561         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
4562         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
4563         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
4564         Declare.
4565
4566 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
4567
4568         * fix-header.c (read_scan_file): s/pfile/scan_in/.
4569
4570 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
4571
4572         * c-lang.c (c_post_options): Call cpp_post_options.
4573         * objc/objc-act.c (objc_post_options): Similarly.
4574         * cppmain.c (main): Similarly.
4575         * fix-header.c (read_scan_file): Similarly.
4576         * cppinit.c (cpp_start_read): Move option consistency checks
4577         to cpp_post_options.  Don't call init_dependency_output.
4578         If needed, add default target and main file dependency.
4579         (OPT_MD, OPT_MMD): Remove.
4580         (OPT_MF): New.
4581         (cpp_handle_option): Update for OPT_* changes.
4582         (cpp_post_options): New.
4583         (init_dependency_output): Command line -MF overrides environment
4584         variables.  Don't set default target etc.  Suppress output
4585         if dependencies are going to stdout.
4586         (print_help): Update.
4587         * cpplib.h (cpp_post_options): New.
4588         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
4589
4590 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
4591
4592         * jump.c (comparison_dominates_p): Support unordered compares.
4593
4594 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
4595
4596         * simplify-rtx.c (simplify_relational_operation): Always simplify
4597         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
4598         and UNGE.
4599
4600 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
4601
4602         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
4603         (nonzero_bits): Likewise.
4604         (simplify_comparison): Likewise.
4605         (num_sign_bit_copies): Likewise; return more sane value depending
4606         on STORE_FLAG_VALUE.
4607         (known_cond): Do not assume EQ to be always true for equivalent
4608         operands.
4609
4610 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
4611
4612         * cse.c (fold_rtx): Handle unordered comparisons.
4613
4614 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
4615
4616         * rtlanal.c (set_of_1): New static function.
4617         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
4618          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
4619          reg_set_last_last_regno): Remove.
4620         (set_of): New global function.
4621         (set_of_data): New structure.
4622         (reg_set_p, reg_set_last): Revamp for set_of.
4623         * rtl.h (set_of): New.
4624
4625 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4626
4627         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
4628         * extend.texi: Document _Exit builtin.
4629
4630 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
4631
4632         * (initialize, initialize_builtins,
4633         initialize_dependency_output, initialize_standard_includes):
4634         Rename s/initialize/init. Update.
4635         (init_dependency_output): Move to after
4636         cpp_handle_options, the correct location temporally at least.
4637         (opt_comp): Move next to init (), its caller.  Fix prototype.
4638         (init): Make "initialized" local scope.
4639         (cpp_create_reader): Always call init ().
4640         (cpp_start_read): Update.
4641         (output_deps): New function, broken out of cpp_finish.
4642         (cpp_finish): Break out output_deps.
4643
4644 2001-01-07  Richard Henderson  <rth@redhat.com>
4645
4646         * collect2.c (COFF specific stuff): Revert 12-06 patch
4647         to prototype system functions.
4648
4649 2001-01-07  Michael Hayes  <mhayes@redhat.com>
4650
4651         * hard-reg-set.h: Add multiple include guard.
4652         * basic-block.h (struct loop): Add `sink' field.
4653         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
4654         (emit_iv_add_mult): Delete.
4655         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
4656         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
4657         (unroll_loop): Remove end_insert_before argument.
4658         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
4659         (maybe_eliminate_biv_1): Likewise.
4660         (emit_iv_add_mult): Delete.
4661         (gen_add_mult, loop_regs_update): New.
4662         (loop_insn_emit_after, loop_insn_emit_before): New.
4663         (loop_insn_sink, loop_insn_sink_or_swim): New.
4664         (emit_iv_add_mult): Delete.
4665         (scan_loop): Set loop->sink.
4666         (loop_givs_reduce): Use loop_insn_sink and its ilk.
4667         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
4668         (maybe_eliminate_biv_1): Likewise.
4669         (maybe_eliminate_biv_1): Add basic block argument.
4670         * unroll.c (unroll_loop): Remove end_insert_before argument.
4671         (find_splittable_regs): Likewise.
4672         (find_splittable_regs): Use loop_insn_sink and its ilk.
4673         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
4674
4675 2001-01-07  Michael Hayes  <mhayes@redhat.com>
4676
4677         * loop.h (loop_insn_hoist): New prototype.
4678         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
4679         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
4680         (check_dbra_loop, load_mems): Likewise.
4681         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
4682         (find_splittable_givs): Likewise.
4683
4684 2001-01-07  Michael Hayes  <mhayes@redhat.com>
4685
4686         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
4687
4688 2001-01-07  Richard Henderson  <rth@redhat.com>
4689
4690         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
4691
4692 2001-01-07  Richard Henderson  <rth@redhat.com>
4693
4694         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
4695         NO_SHARED_LIBGCC_MULTILIB as required for the target.
4696         * gcc.c (init_spec): Massage the existing libgcc_spec into a
4697         variant that handles a shared libgcc.
4698         (process_command): Always validate -{static,shared}-libgcc.
4699         (do_spec_1): New 'M' case.
4700         * invoke.text (Link Options): Document -{static,shared}-libgcc.
4701
4702 2001-01-07  Richard Henderson  <rth@redhat.com>
4703
4704         * Makefile.in (slibdir): New variable.
4705         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
4706         (installdirs): Create slibdir.
4707         (install-libgcc, install-multilib): Defer to libgcc.mk.
4708         * configure.in (slibdir): Substitute.
4709         * mklibgcc.in (install): New target.
4710
4711         * config/t-linux (SHLIB_LINK): Create links for the soname.
4712         (SHLIB_INSTALL): New.
4713         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
4714         * config/mips/t-iris6 (SHLIB_INSTALL): New.
4715         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
4716         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
4717         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
4718
4719 2001-01-07  Richard Henderson  <rth@redhat.com>
4720
4721         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
4722         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
4723         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
4724
4725 2001-01-07  Michael Hayes  <mhayes@redhat.com>
4726
4727         * loop.c (count_loop_regs_set): Delete.
4728         (load_mems_and_recount_loop_regs_set): Delete.
4729         (loop_regs_scan): Merge common code from count_loop_regs_set,
4730         scan_loop, and load_mems_and_recount_loop_regs_set.
4731         (scan_loop): Call load_mems directly and loop_regs_scan
4732         again if new registers created.
4733
4734 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
4735
4736         * toplev.c (main): Call the front-end specific post_options
4737         hook if one is given.
4738         * toplev.h (struct_lang_hooks, lang_hooks): New.
4739         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
4740         for the C front end.
4741         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
4742         lang_hooks for the C++ front end.
4743         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
4744         lang_hooks for the ObjC front end.
4745         * f/com.c (lang_hooks): Hooks for the Fortran front end.
4746         * java/lang.c (lang_hooks): Hooks for the Java front end.
4747
4748 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
4749
4750         * c-lex.c (init_c_lex): Request #define / #undef callbacks
4751         for verbose DWARF[2] debugging.
4752         (cb_define, cb_undef): The new callbacks.
4753         * toplev.h (debug_define, debug_undef): Make const correct.
4754         * toplev.c (debug_define, debug_undef): Similarly.  Do not
4755         perform the verbosity tests here anymore.
4756
4757 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
4758
4759         * reload.c (subst_reloads): Take INSN argument.  When
4760         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
4761         * reload.h (subst_reloads): Adjust prototype.
4762         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
4763         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
4764         present in JUMP_INSNs and copy them to JUMP_LABEL.
4765         * flow.c (find_label_refs, find_basic_blocks_1): Skip
4766         JUMP_INSNs and insns with REG_LABELs that are followed by
4767         JUMP_INSNs with the same REG_LABEL.
4768         * sched-rgn.c (is_cfg_nonregular): Likewise.
4769         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
4770         note is available.
4771         * unroll.c (unroll_loop): Look for REG_LABEL notes in
4772         JUMP_INSNs too.
4773         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
4774
4775 2001-01-06  Richard Henderson  <rth@redhat.com>
4776
4777         * loop.c (scan_loop): Use xcalloc for the regs array.
4778         (load_mems_and_recount_loop_regs_set): Zero the new memory
4779         received from xrealloc.
4780
4781 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4782
4783         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
4784
4785 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
4786
4787         * integrate.c (copy_rtx_and_substitute): When copying
4788         an ignored return value, strip REG_FUNCTION_VALUE_P.
4789
4790 2001-01-06  Michael Hayes  <mhayes@redhat.com>
4791
4792         * loop.c (debug_biv, debug_giv): New.
4793         (loop_biv_dump): Break out from ...
4794         (record_biv): ... here.
4795         (loop_giv_dump): Break out from ...
4796         (record_giv): ... here.
4797         (loop_bivs_check): Use print_simple_rtl.
4798         * unroll.c (loop_iterations): Use print_simple_rtl.
4799
4800 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4801
4802         * pa.md (return, return_internal): Modify patterns to prevent regrename
4803         mucking with the return pointer.
4804
4805 2001-01-05  Richard Henderson  <rth@redhat.com>
4806
4807         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
4808
4809 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
4810
4811         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
4812         version supplied by Matteo Frigo.
4813
4814 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
4815
4816         * cpp.texi: Update for -MQ.
4817         * cppinit.c (cpp_create_reader): Always create pfile->deps.
4818         (cpp_cleanup): Always free pfile->deps.
4819         (initialize_dependency_output): Don't create pfile->deps.
4820         (cpp_handle_option): Similarly.
4821         (OPT_MQ): New.
4822         * gcc.c (cpp_options): Handle -MQ.
4823         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
4824         * mkdeps.c (base_name): Remove.
4825         (deps_init): Don't allocate vector space until it's needed.
4826         (deps_free): Only free vectors if allocated.
4827         (deps_add_target, deps_add_dep): Update for initial allocation.
4828         (deps_add_default_target): Don't strip to the base_name.
4829
4830 2001-01-05  DJ Delorie <dj@redhat.com>
4831
4832         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
4833         (INIT_EXPANDERS): Define.
4834
4835         * config/v850/v850.c (struct machine_function): Define.
4836         (v850_save_machine_status): New function.
4837         (v850_restore_machine_status): New function.
4838         (v850_return_addr): New function.
4839         (v850_init_expanders): New function.
4840
4841         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
4842         and v850_init_expanders.
4843
4844 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
4845
4846         * cpplib.h (struct cpp_reader): Add help_only field.
4847         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
4848         (cpp_handle_option): Set pfile->help_only if we see -h,
4849         --help, -target-help, or --version.  Print version string but
4850         do not set help_only if we see -v or -version.  Make text
4851         printed by -v match that printed by (-)-version.
4852
4853         * cppmain.c (main): Exit after option parsing if
4854         pfile->help_only is true.
4855
4856         * toplev.c (independent_decode_option): Call print_version,
4857         then exit, if we see --version (but not -version).
4858         (print_version): Split lengthy message into two lines.
4859
4860 2001-01-05  Nick Clifton  <nickc@redhat.com>
4861
4862         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
4863         temporary string for initialisation before calling ggc_alloc_string.
4864
4865 2001-01-06  Michael Hayes  <mhayes@redhat.com>
4866
4867         * rtl.h (print_simple_rtl): New.
4868         * print-rtl.c (print_simple_rtl): New.
4869         (flag_simple): New.
4870         (print_rtx): Disable printing of flags and modes, etc.,
4871         if `flag_simple` nonzero.
4872
4873 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
4874
4875         * function.c (fixup_var_refs): Use push_to_full_sequence where
4876         possible.
4877
4878 2001-01-05  Michael Meissner  <meissner@redhat.com>
4879
4880         * flags.h (flag_reorder_blocks): Add declaration.
4881         (flag_rename_block): Ditto.
4882
4883 2001-01-05  DJ Delorie  <dj@redhat.com>
4884
4885         * function.c (reorder_blocks): Make sure the flags are all reset
4886         before using them to mark blocks, else a second invocation will
4887         corrupt the block chain.
4888         (reorder_blocks_0): New, resets the flags.
4889
4890 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
4891
4892         * cse.c (find_comparison_args): Stop if the argument is known to
4893         be constant.
4894
4895 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
4896
4897         * config/sh/sh.md (movdf): When splitting load into pair of
4898         registers, don't clobber the register used in the address too
4899         early.
4900
4901 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
4902
4903         * varasm.c (mark_constant_pool): Improve initial comments.
4904         (mark_constants): Move marking of constants to mark_constant.
4905         (mark_constant): New function to recursively mark all constants
4906         referred to by a constant.
4907
4908 2001-01-05  Catherine Moore  <clm@redhat.com>
4909
4910         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
4911
4912 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
4913
4914         * cp/lang-options.h:  Bring comment in line with reality.
4915         * f/lang-options.h:  Likewise.
4916         * java/lang-options.h:  Likewise.
4917         * objc/lang-options.h:  Likewise.
4918         * ch/lang-options.h:  Likewise.
4919         * f/g77.texi:  And update the manual.
4920
4921 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
4922             Denis Chertykov  <denisc@overta.ru>
4923
4924         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
4925         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
4926         * config/avr/avr.md (all peepholes that request a scratch register):
4927         Call it, FAIL the peephole if not safe (in interrupt functions).
4928
4929 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
4930
4931         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
4932
4933 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
4934
4935         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
4936         Define.
4937         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
4938         BUILT_IN_CREAL and BUILT_IN_CIMAG.
4939         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
4940         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
4941         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
4942         BUILT_IN_CIMAG.
4943         * extend.texi: Document these builtins.
4944
4945 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
4946
4947         * c-common.c (lang_get_alias_set): Say we know nothing of
4948         VECTOR_TYPE aliasing.
4949
4950         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
4951
4952 2001-01-05  Bruce Korb  <bkorb@gnu.org>
4953
4954         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
4955         their x* equivalent versions for atexit-less systems
4956         * fixinc/fixincl.c(main): do not return from main() on atexit-less
4957         systems (or any other system any more).
4958
4959 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
4960
4961         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
4962         output operands.  Use arm_hard_register_operand for operand 4.
4963         (stmsi_postinc): Similarly.
4964         (ldmsi): Use arm_hard_register_operand for opernand 2.
4965         (stmsi): Similarly.
4966         * arm.c (arm_hard_register_operand): New function.
4967         * arm-protos.h (arm_hard_register_operand): Prototype it.
4968
4969         * arm.h (HARD_REGNO_RENAME_OK): Define.
4970
4971 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
4972
4973         * simplify-rtx.c (cfc_args): add "unordered" field.
4974         (check_fold_consts): Set unordered field.
4975         (simplify_relational_operation): Simplify the unordered
4976         comparisons.
4977
4978         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
4979         is valid.
4980
4981         * emit-rtl.c (try_split): Fix code to mark labels.
4982         * jump.c (mark_jump_label): Make global.
4983         * rtl.h (mark_jump_label): Declare.
4984
4985         * predict.c (estimate_probability): Handle unordred comparisons.
4986
4987 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
4988
4989         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
4990         * cppinit.c (initialize_dependency_output):  Update.
4991         (cpp_finish): Output dummy targets for -MP.
4992         (OPT_MP): New.
4993         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
4994         * cpplib.h (struct cpp_options): Add deps_phony_targets.
4995         * gcc.c (cpp_options): Update to handle -MP.
4996         * mkdeps.c (deps_add_target, deps_add_default_target): Update
4997         to quote only the default target.
4998         (deps_phony_targets): Insert a preceding newline.  Rename from
4999         deps_dummy_targets for consistency.
5000         * mkdeps.h: Update
5001
5002 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
5003
5004         * calls.c (emit_library_call_value_1): Support
5005         INIT_CUMULATIVE_LIBCALL_ARGS.
5006         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
5007
5008 2001-01-04  Richard Henderson  <rth@redhat.com>
5009
5010         * c-decl.c (finish_struct): Detect flexible array members
5011         used in an inappropriate context.
5012         * c-typeck.c (really_start_incremental_init): Special case
5013         constructor_max_index for zero length arrays.
5014         (pop_init_level): Allow initialization of flexible array
5015         members.  Deprecate initialization of zero length arrays.
5016         Don't issue missing initializer warning for flexible array
5017         members or zero length arrays.
5018         (process_init_element): Don't dereference null DECL_SIZE.
5019         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
5020         Don't abort for empty constructors.  Use size_binop
5021         (output_constructor): Add commentary regarding zero length
5022         array futures.  Abort if we try to initialize an array of
5023         unspecified length with a non-empty constructor in the middle
5024         of a structure.
5025
5026         * extend.texi (Zero Length): Update and clarify documentation
5027         on static initialization.
5028
5029 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5030
5031         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
5032         with more than 32767 words of local storage.
5033
5034 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5035
5036         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
5037         for 'abs', 'labs', and 'fabs'.
5038         (c4x_expand_builtin): Likewise.
5039         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
5040
5041 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
5042
5043         * config/sh/sh.md (prget, prset): New insn types.
5044         (return delay slot): Dont' allow prset.
5045         (call, sfunc delay slot): Don't allow prget.
5046         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
5047         for prset and prget.
5048
5049 2001-01-05  Michael Hayes  <mhayes@redhat.com>
5050
5051         * loop.h (struct loop_reg): New.
5052         (struct loop_regs): Change to use array of `struct loop_reg'.
5053         * loop.c: Replace assortment of varrays with single regs array.
5054         (count_one_set): Delete may_not_move array argument
5055         and use regs array instead.  All caller's changed.
5056         (count_loop_regs_set): Delete may_not_move and single_usage
5057         arguments and use regs array instead.  All caller's changed.
5058         (find_single_use_in_loop): Replace usage array argument with pointer
5059         to regs structure.  All caller's changed.
5060         (loop_optimize): Delete `moved_once' array.
5061
5062 2001-01-05  Michael Hayes  <mhayes@redhat.com>
5063
5064         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
5065         Use it instead of loop_info->has_call for scanning loop mems.
5066         (check_dbra_loop): Replace loop_info->has_call test with
5067         loop_info->has_nonconst_call.
5068
5069 2000-01-04  Matthew Hiller  <hiller@redhat.com>
5070
5071         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
5072         for TARGET_SH3E.
5073
5074 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
5075
5076         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
5077         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
5078
5079 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
5080
5081         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
5082         (flag_short_double, flag_short_wchar): Define.
5083         (c_common_nodes_and_builtins): Create many tree nodes shared
5084         between C and C++ here instead of in cp/decl.c and ...
5085         * c-decl.c (init_decl_processing): ... here.
5086         (SIZE_TYPE, WCHAR_TYPE): Don't define.
5087         (flag_short_double, flag_short_wchar): Don't define.
5088         (record_builtin_type): New function.
5089         (build_void_list_node): New function.
5090         * c-common.h (flag_short_double, flag_short_wchar,
5091         record_builtin_type, build_void_list_node): Declare.
5092
5093 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
5094
5095         * integrate.c (expand_inline_function): Don't put a virtual
5096         register into the reg map.
5097
5098         * function.c (fixup_var_refs_1): If force_operand didn't put
5099         the address into the target, move it there.
5100
5101 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
5102
5103         Special-case tree_decl/tree_list allocations.
5104         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
5105         (OBJECT_SIZE): New macro.
5106         (NUM_EXTRA_ORDER): Likewise.
5107         (extra_order_size_table): New variable.
5108         (NUM_ORDERS): New macro.
5109         (objects_per_page_table): New variable.
5110         (object_size_table): New variable.
5111         (G.pages): Use NUM_ORDERS to bound the array.
5112         (G.page_tails): Likewise.
5113         (DIV_ROUND_UP): Remove.
5114         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
5115         (alloc_page): Use OBJECT_SIZE.
5116         (size_lookup): Don't make it const.
5117         (ggc_alloc): Use OBJECT_SIZE.
5118         (ggc_set_mark): Likewise.
5119         (ggc_get_size): Likewise.
5120         (init_ggc): Set up the object_size_table, objects_per_page_table,
5121         and adjust size_lookup.
5122         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
5123         (ggc_pop_context): Use NUM_ORDERS.
5124         (clear_marks): Likewise.
5125         (sweep_pages): Likewise.
5126         (poison_pages): Likewise.
5127         (ggc_print_statistics): Use OBJECT_SIZE.
5128
5129 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5130
5131         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
5132         Only call array_size_for_constructor if last field and array type
5133         with no upper bound.
5134
5135 2001-01-04  Philip Blundell  <philb@gnu.org>
5136
5137         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
5138         from bit 31 downwards, if this requires no more insns.
5139         (count_insns_for_constant): New helper function for above.
5140
5141 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
5142
5143         * gencodes.c (output_predicate_decls): Remove empty initializer.
5144
5145 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
5146
5147         * tree.c (copy_node): Remove documentation about obstacks.
5148         (buidl1): Check that nobody tries to build 2-argument nodes this
5149         way.
5150
5151 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5152
5153         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
5154         fp_high_losum_p.
5155
5156         * gencodes.c (output_predicate_decls): Fill empty initializer
5157         braces.
5158
5159 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
5160
5161         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
5162         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
5163         or -MM.
5164         (do_include): Handle missing headers like cpp0.
5165         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
5166         paths with first include pathname.  Don't strcat to uninitialized
5167         string.
5168
5169 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
5170
5171         * regrename.c (regrename_optimize): Don't rename from frame pointer
5172         if frame_pointer_needed.
5173         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
5174         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
5175         (ia64_reorg): Use it instead of scheduling if ! optimize.
5176         (errata_emit_nops): Properly call asm_noperands.
5177         (ia64_sched_reorder): Finish cycle if we see an asm.
5178         (ia64_variable_issue): Clear scheduling state after asms.
5179
5180 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
5181
5182         * cpp.texi: Update for -MT.
5183         * cppinit.c (initialize_dependency_output): Add a default
5184         target if none has been given already.
5185         (no_tgt, OPT_MT): New.
5186         (cpp_handle_option): Handle -MT.  Update -M etc.
5187         * cpplib.h (struct cpp_options): Remove deps_target.
5188         * gcc.c (cpp_options): Handle -MT.
5189         * mkdeps.c (struct deps): Move from mkdeps.h.
5190         (deps_calc_target): Rename deps_add_default_target.  Add a
5191         default target if none has been specified already.
5192         * mkdeps.h (struct deps): Move to mkdeps.c.
5193         (deps_calc_target): Rename deps_add_default_target.
5194
5195 2000-01-03  Richard Henderson  <rth@redhat.com>
5196
5197         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
5198         Remove dead code.
5199         * c-typeck.c (push_init_level): Move checks for flexible array
5200         members and zero length arrays ...
5201         (pop_init_level): ... here.  Silently discard empty initializations.
5202         Remove dead code.
5203         * varasm.c (output_constructor): Update for sizeof change to
5204         zero-length arrays.
5205
5206         * extend.texi (Zero Length): Clarify semantics.
5207
5208 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
5209
5210         * configure.in (tm.h): Include isns-codes.h last.
5211         * configure: Rebuilt.
5212
5213 2001-01-03  Richard Henderson  <rth@redhat.com>
5214
5215         * config/alpha/alpha.md (addvsi3, addvdi3): New.
5216         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
5217
5218 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5219
5220         * tradcpp.c (main): Make sure finclude() is called with a valid
5221         indepth value while handling -include.
5222
5223 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
5224
5225         * gencodes.c (output_predicate_decls): New function.
5226         (main): Call it.
5227         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
5228         even if it is not the first time machmode.h is #included.
5229         * config/sh/sh.c (fpul_operand): Declare MODE argument.
5230         * tm.texi (PREDICATE_CODES): Document predicate declarations.
5231         * gcc.texi (Copyright): Added 2001.
5232
5233 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
5234
5235         * c-common.c (c_common_lang_init): New function.  Warn if format
5236         warning options which only have effects when used with -Wformat
5237         are used without -Wformat.
5238         * c-common.h (c_common_lang_init): Declare.
5239         * c-lang.c (lang_init): Call c_common_lang_init.
5240         * objc/objc-act.c (lang_init): Call c_common_lang_init.
5241
5242 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
5243
5244         * configure.in: Check for the mktemp command.
5245         * configure: Regenerate.
5246         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
5247         $TEMP.  Create temporary files with mktemp, if available at
5248         configure time; otherwise use set -C.  Remove temporary files
5249         before exit.
5250
5251 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
5252
5253         * configure.in: Require at least texinfo 4.0.  Check for whether
5254         Pod::Man is sufficiently recent to regenerate GCC manpages.
5255         * configure:  Regenerate.
5256         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
5257         on #!.
5258         (GENERATED_MANPAGES): Define.
5259         (generated-manpages): New target.  Depend on cpp.1 as well as
5260         gcov.1.
5261         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
5262         configure to generated-manpages or empty) rather than on the
5263         manpages directly.  Remove execute permission from installed
5264         gcov.1 as well as cpp.1.
5265         * cpp.1, gcov.1: Regenerate.
5266
5267 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5268
5269         * builtins.c (expand_builtin_strncmp): Use host_integerp and
5270         tree_low_cst.  Allow using cmpstrsi in more cases.
5271
5272 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5273
5274         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
5275         sized types.
5276
5277 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
5278
5279         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
5280         * Makefile.in (HOST_CFLAGS): Mention build-make.
5281
5282 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5283
5284         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
5285         as JUMP_INSN.
5286
5287 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
5288
5289         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
5290         a REG rtx.
5291
5292         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
5293         callers changed.
5294
5295         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
5296         reg_base_value and reg_known_value arrays.
5297         (init_alias_analysis): Add more cases to detect known values.
5298         * sched-deps.c (deps_may_trap_p): New function.
5299         (sched_analyze_2): Use it.
5300
5301 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
5302
5303         * combine.c (simplify_shift_const): Even if we're sign-extracting,
5304         don't discard an ASHIFTRT if we're shifting in a wider mode.
5305
5306 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5307
5308         * toplev.c (rest_of_compilation): Don't print basic block information
5309         when CFG isn't up to date.
5310
5311 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
5312
5313         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
5314         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
5315         (UNALIGNED_SHORT_ASM_OP): Define.
5316         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
5317
5318 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
5319
5320         * fold-const.c (fold_convert): Fix typo.
5321
5322 2001-01-02  Richard Henderson  <rth@redhat.com>
5323
5324         * c-common.h (ASM_INPUT_P): New.
5325         * c-parse.in (asm): Set it when needed.
5326         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
5327         existance of an operand.
5328
5329 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
5330
5331         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
5332         (dwarf2out_frame_debug_expr): Likewise.
5333         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
5334
5335 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
5336
5337         * i386.c (ix86_split_to_parts): Return number of part required;
5338         handle TFmodes.
5339         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
5340         TFmodes.
5341         (ix86_split_long_move): Use number of part returned
5342         by ix86_split_to_parts
5343         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
5344         New macros.
5345         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
5346         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
5347         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
5348         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
5349         (ALIGN_MODE_128): Add TFmode.
5350         (IS_STACK_MODE): Likewise.
5351         (HARD_REGNO_NREGS): TFmode needs 3 registers.
5352         (HARD_REGNO_OK): Support TFmodes.
5353         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
5354         * i386.md (scheduler definitions): Use memory operand to determine
5355         fst/fld instructions; use mode attribute to determine real mode of
5356         the instruction.
5357         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
5358         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
5359
5360 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
5361
5362         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
5363
5364 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
5365
5366         * expr.c (store_constructor_field): Update ALIGN before calling
5367         store_constructor.
5368
5369 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
5370
5371         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
5372         host_integerp.
5373
5374 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
5375
5376         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
5377         incomplete type.
5378
5379 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
5380
5381         * c-decl.c (start_function): Don't warn on third parameter to main.
5382
5383 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5384
5385         * tsystem.h: Define HAVE_DECL_GETOPT.
5386
5387 2001-01-02  Philip Blundell  <pb@futuretv.com>
5388
5389         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
5390         of input operand.
5391
5392 2001-01-02  Richard Henderson  <rth@redhat.com>
5393
5394         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
5395
5396 2001-01-02  Andreas Jaeger  <aj@suse.de>
5397
5398         * c-decl.c (c_decode_option): Remove support of
5399         -Wmissing-noreturn.
5400
5401         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
5402         (W_options): Add -Wmissing-noreturn here.
5403
5404         * flow.c: Define lang_missing_noreturn_ok_p.
5405         (check_function_return_warnings): Use it.
5406
5407         * c-common.h: Declare lang_missing_noreturn_ok_p.
5408
5409         * c-lang.c (c_missing_noreturn_ok_p): New function.
5410         (lang_init): Set lang_missing_noreturn_ok_p.
5411
5412         * invoke.texi (Warning Options): Document this.
5413
5414 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
5415
5416         * extend.texi (C++ Extensions):  New node for C++ attributes;
5417         describe init_priority and com_interface.
5418         * invoke.texi:  Remove -finit-priority as it now has zero effect.
5419         * install.texi:  Fix xref syntax.
5420         * md.texi:  Likewise.
5421
5422 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5423
5424         * config.gcc (sparc64-wrs-vxworks*): New case.
5425         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
5426
5427         * config/sparc/sparc.c (sparc_override_options): Do support different
5428         pointer and architecture size.
5429         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
5430         (POINTERS_EXTEND_UNSIGNED): Define.
5431         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
5432         (FUNCTION_MODE): Define to be Pmode.
5433         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
5434
5435         * function.c (expand_function_end): Properly handle DECL_RESULT
5436         and copy when ptr_mode != Pmode.
5437         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
5438
5439 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5440
5441         * c-common.c (c_common_nodes_and_builtins): Set prototype
5442         parameters for __builtin_fputs, __builtin_fputc and
5443         __builtin_fwrite.  Don't declare plain fputc as a builtin.
5444
5445 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5446
5447         * loop.c (add_label_notes): Increment the label usage count when
5448         a note is added to an insn which refers to a CODE_LABEL.
5449         * gcse.c (add_label_notes): Likewise.
5450
5451 2001-01-01  Andreas Jaeger  <aj@suse.de>
5452
5453         * loop.c (scan_loop): Use xmalloc to allocate movables.
5454
5455 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
5456
5457         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
5458         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
5459         * reload1.c (REGISTER_MOVE_COST): Likewise.
5460         * regclass.c (REGISTER_MOVE_COST): Likewise.
5461         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
5462         dimension.  Adjust all users.
5463         (init_reg_sets_1): Iterate on all modes.
5464         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
5465         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
5466         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
5467         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
5468         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
5469         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
5470         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
5471         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
5472         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
5473         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
5474         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
5475         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
5476         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
5477         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
5478         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
5479         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
5480         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
5481         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
5482         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
5483         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
5484         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
5485         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
5486         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
5487         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
5488         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
5489         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
5490         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
5491
5492 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
5493
5494         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
5495         arg VARIES_P.  Call it with extra arg.
5496         (true_dependence): Likewise.
5497         * rtl.h (rtx_addr_can_trap_p): Declare.
5498         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
5499         prototypes.
5500         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
5501         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
5502         pic offset table register if it's zero.  All callers changed.
5503         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
5504
5505 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5506
5507         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
5508         STRING_POOL_ADDRESS_P.
5509
5510         * config/sparc/sparc.c (input_operand): Properly test for short op.
5511
5512         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
5513         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
5514         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
5515         * config/sparc/elf.h: No longer include sol2.h.
5516         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
5517         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
5518
5519         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
5520
5521 2001-01-01  Michael Hayes  <mhayes@redhat.com>
5522
5523         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
5524         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
5525         (record_initial): Likewise.
5526         * unroll.c (copy_loop_body, loop_iterations): Likewise.
5527         (remap_split_bivs): Likewise.
5528
5529 2001-01-01  Michael Hayes  <mhayes@redhat.com>
5530
5531         * loop.c (loop_ivs_free): New function.
5532         (strength_reduce): Break out from...
5533
5534 2001-01-01  Michael Hayes  <mhayes@redhat.com>
5535
5536         * loop.h (struct iv): New.
5537         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
5538         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
5539         'reg_biv_class' fields with 'regs' and 'n_regs'.
5540         (struct ivs): Rename 'loop_iv_list' field to 'list'.
5541         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
5542         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
5543
5544 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
5545
5546         * resource.c (mark_referenced_resources): Abort() before
5547         attempting to mark a pseudo register.
5548         (mark_set_resources): Likewise.
5549
5550 2001-01-01  Michael Hayes  <mhayes@redhat.com>
5551
5552         * loop.h (REG_IV_CLASS): New accessor macro.
5553         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
5554         * unroll.c (REG_IV_CLASS): Likewise.
5555
5556 See ChangeLog.4 for earlier changes.