OSDN Git Service

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