OSDN Git Service

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