OSDN Git Service

more rigorous SIGCHLD guarding
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-03-15  Bruce Korb  <bkorb@gnu.org>
2
3         * gcc.c(main): make more rigorous
4         * collect2.c(main): guard against ignoring SIGCHLD
5         * protoize.c(main): ditto
6         * gcc/fixinc/fixincl.c(initialize): ditto
7
8 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
9
10         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
11         (sdbout_parms): Likewise.
12
13 Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
14
15         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
16         "widen" a destination that is already wider than a word.  Also do
17         not widen if LOAD_EXTEND_OP is NIL for the given mode.
18
19 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
20
21         * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
22
23 Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
24
25         * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
26
27 Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
28
29         * i960.h (i960_maxbitalignment,
30         i960_last_maxbitalignment): Declare.
31         * i960.c (i960_maxbitalignment,
32         i960_last_maxbitalignment): Make global.
33         (process_pragma): Delete.
34         (i960_pr_align, i960_pr_noalign): Move from here ...
35         * i960-c.c: ... to this new file.
36         * t-960bare (i960-c.o): New rule.
37         * t-vxworks960 (i960-c.o): Likewise.
38         * config.gcc (i960-*-*): Define c_target_objs and
39         cxx_target_objs.
40
41 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
42
43         * cselib.c (hash_rtx): For REG and MEM, just use value of expression
44         without adding in rtx code and mode.
45
46         * alias.c (init_alias_analysis): Don't use any rtx whose value
47         varies as a known value.
48         Delete a superfluous test.
49
50         * config/ia64/ia64.c (maybe_rotate): New function, broken out of
51         ia64_sched_reorder.
52         (ia64_sched_reorder): Call maybe_rotate; also rotate after
53         scheduling a stop bit.
54         (ia64_emit_nops): Correctly handle ASMs.
55
56 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
57
58         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
59
60 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
61
62         * cpp.texi: Update documentation for -include and -imacros.
63         * cppfiles.c (struct include_file): Remove "defined" memeber.
64         (find_or_create_entry): Make a copy of the file name, and
65         simplify it.
66         (open_file): Update to ensure we use the simplified filename.
67         (stack_include_file): Don't set search_from.
68         (cpp_included): Don't simplify the path name here.
69         (find_include_file): New prototype.  Call search_from to
70         get the start of the "" include chain.  Don't simplify the
71         filenames here.
72         (_cpp_execute_include): New prototype.  Move diagnostics to
73         do_include_common.  Update.
74         (_cpp_pop_file_buffer): Don't set defined.
75         (search_from): New prototype.  Use the preprocessor's cwd
76         for files included from the command line.
77         (read_name_map): Don't simplify the pathname here.
78         * cpphash.h (enum include_type): New.
79         (struct buffer): Delete search from.  New search_cached.
80         (_cpp_execute_include): Update prototype.
81         * cppinit.c (do_includes): Use _cpp_execute_include.
82         * cpplib.c (do_include_common): New function.
83         (do_include, do_include_next, do_import): Use it.
84
85 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
86
87         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
88         contents of the RTL, to determine the name of the object.
89
90 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
91
92         * tree.h (DECL_RTL): Allocate RTL lazily.
93         (SET_DECL_RTL): New macro.
94         (DECL_RTL_SET_P): Likewise.
95         (COPY_DECL_RTL): Likewise.
96         (DECL_RTL_IF_SET): Likewise.
97         * varasm.c (make_decl_rtl): Add assertions about the kind of
98         declaration we are processing.
99         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
100         (start_decl): Likewise.
101         (finish_decl): Likewise.
102         * c-semantics.c (emit_local_var): Likewise.
103         * calls.c (expand_call): Likewise.
104         * dbxout.c (dbxout_symbol): Likewise.
105         * emit-rtl.c (unshare_all_rtl): Likewise.
106         (unshare_all_decls): Likewise.
107         (reset_used_decls): Likewise.
108         * expr.c (store_constructor): Likewise.
109         (safe_from_p): Likewise.
110         (expand_expr): Likewise.
111         * function.c (put_var_into_stack): Likewise.
112         (instantiate_decls_1): Likewise.
113         (assign_parms): Likewise.
114         (expand_function_start): Likewise.
115         (expand_function_end): Likewise.
116         * ggc-common.c (gcc_mark_trees): Likewise.
117         * integrate.c (function_cannot_inline_p): Likewise.
118         (copy_decl_for_inlining): Likewise.
119         (expand_inline_function): Likewise.
120         (integrate_parm_decls): Likewise.
121         (integrate_decl_tree): Likewise.
122         * print-tree.c (print_node): Likewise.
123         * reg-stack.c (stack_result): Likewise.
124         * stmt.c (label_rtx): Likewise.
125         (expand_return): Likewise.
126         (expand_decl): Likewise.
127         (expand_decl_cleanup): Likewise.
128         (expand_anon_union_decl): Likewise.
129         * toplev.c (check_global_declarations): Likewise.
130         (rest_of_decl_compilation): Likewise.
131         * tree.c (simple_cst_equal): Likewise.
132         * objc/objc-act.c (generate_static_references): Likewise.
133         
134 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
135
136         * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
137         gcc_AC_C_FLOAT_FORMAT): New macros.
138         * configure.in: Add AC_PROG_CPP after CC tests;
139         gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
140         tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
141         * configure, config.in: Regenerate.
142
143         * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
144         config/arm/xm-arm.h, config/c4x/xm-c4x.h,
145         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
146         config/i370/xm-linux.h, config/i370/xm-oe.h,
147         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
148         config/m68k/xm-m68k.h, config/mips/xm-mips.h,
149         config/pa/xm-linux.h, config/pa/xm-pa.h,
150         config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
151         config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
152         config/sparc/xm-sparc.h, config/vax/xm-vax.h,
153         config/we32k/xm-we32k.h: Delete.
154
155         * config/i370/xm-mvs.h, config/m88k/m88k.h,
156         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
157         config/vax/xm-vms.h: Don't define any of:
158         HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
159
160         * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
161
162         * config.gcc: Remove references to deleted files.
163         (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
164         FATAL_EXIT_CODE, which is the same between oe and mvs).
165
166 2001-03-14  DJ Delorie  <dj@redhat.com>
167             Vladimir Makarov  <vmakarov@redhat.com>
168
169         * config/i960/i960.c (i960_function_prologue): Compute size of
170         frame according to number of registers actually saved there.
171
172 2001-03-14  Richard Henderson  <rth@redhat.com>
173
174         * expr.c (emit_move_insn_1): Fix else if around #endif.
175
176 Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
177                               Vojtech Pavlik
178
179         * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
180         constraints.
181
182 Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
183
184         * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
185         (override_options): Parse cmodel string.
186         (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
187         * i386.h (TARGET_OPTIONS): Add "cmodel".
188         (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
189         (enum cmodel): New.
190         (ix86_cmodel_string, ix86_cmodel): Declare.
191
192 Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
193
194         Spot by Matt Kraai:
195         * i386.h (GENERAL_REG_P): Add missing REG_P.
196
197 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
198
199         * configure.in: Use $gcc_cv_as instead of $as.
200         * configure: Regenerated.
201
202 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
203
204         * cppfiles.c (stack_include_file): Only increase the include
205         count if we actually process the file properly, as opposed
206         to treating it as length zero.  Only call read_include_file
207         if not DO_NOT_REREAD.  Handle the -H include file output
208         here.
209         (read_include_file): Remove now redundant DO_NOT_REREAD check.
210         (cpp_included, find_include_file): Simplify pathnames after
211         remapping them.  If remapping, don't use the remapped file
212         name's buffer as our scratch buffer.
213         (cpp_pop_file_buffer): Replace the multiple include macro
214         only if it isn't yet set.
215         (read_name_map): Simplify remapped names when reading in.
216         (remap_filename): Move code to code path that uses it.
217         (_cpp_simplify_pathname): Return the input pointer.
218         * cpphash.h (_cpp_simplify_pathname): Update prototype.
219
220 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
221
222         * expr.c (expand_expr): Revove bogus conditional.
223
224 Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
225
226         * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
227
228 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
229
230         * reg-stack.c (stack_result): Unconditionally use
231         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
232
233 Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
234
235         * expr.c (emit_move_insn_1):  Split push of complex value when
236         no suitable push instruction exist.
237
238         * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
239         instead of QI_REG_P.
240
241 Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
242
243         * alias.c (handled_component_p, can_address_p): New functions.
244         (get_alias_set): Use them.
245
246 2001-03-13  Jim Wilson  <wilson@redhat.com>
247
248         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
249         from 80 in try_locals code.
250         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
251
252 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
253
254         * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
255         gcc_AC_C_LONG_LONG): New.
256         * configure.in: Use them.  Probe the size of short, int, long,
257         and long long/__int64 if we have them.  Move all the AC_C_*
258         checks together, except gcc_AC_C_CHAR_BIT which has to go
259         after AC_CHECK_HEADERS(limits.h).
260         Take hwint.h out of host_xm_file and build_xm_file.
261
262         * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
263         HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
264         and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
265         Move the HOST_WIDEST_INT setup logic here from system.h.
266         Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
267         defined.
268         * system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
269         is now handled by hwint.h.
270
271         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
272         config/c4x/xm-c4x.h, config/i370/xm-oe.h,
273         config/ia64/xm-ia64.h: Don't define any of:
274         HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
275         HOST_BITS_PER_LONGLONG.
276
277         * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
278         config/h8300/xm-h8300.h, config/mips/iris6.h,
279         config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
280         config/sparc/xm-sp64.h: Delete.
281         * config.gcc: Remove references to deleted files.
282
283         * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
284         HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
285         * config/i370/xm-linux.h: Clarify floating-point situation in
286         a comment.
287
288 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
289
290         * cppfiles.c (NO_INCLUDE_PATH): New macro.
291         (find_include_file): Decide here which part of the include
292         chain to start the search.  Complain about an empty include
293         chain in all cases apart from an abolsute file name.
294         (_cpp_execute_include): Don't choose the search chain here.
295         Don't call handle_missing_include in the case of an empty
296         include chain.
297         (_cpp_compare_file_date): Don't choose the search chain here.
298         * cpplib.c (do_include_next): Move the in-main-file diagnostic
299         here from _cpp_execute_include.  Behave like #include if
300         we're in the main file.
301
302 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
303
304         * system.h (malloc, realloc, calloc, strdup): Only poison these
305         tokens when IN_GCC is defined.
306
307 Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
308
309         * i386.md (abs?f expander): Support SSE case.
310         (abd?f_if): Add new "USE"; add splitters.
311
312 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
313
314         * cpp.texi (poison): Explain the macro expansion exception.
315
316 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
317
318         * expr.c (store_expr): Add dont_store_target.  If temp is already in
319         target before copying to reg, don't store it into target again.
320
321 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
322
323         * cppinternals.texi: Update for file handling.
324
325 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
326
327         * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
328         2001-02-24 which broke building the Java library.
329         * function.c (identify_blocks): Likewise.
330         (all_blocks): Likewise.
331         * integrate.c (integrate_decl_tree): Likewise.
332         * print-tree.c (print_node): Likewise.
333         * tree.h (BLOCK_NUMBER): Likewise.
334         (struct tree_block): Likewise.
335
336 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
337
338         * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
339         __WCHAR_TYPE__ definition.
340         (WCHAR_TYPE_SIZE): #undef before #define.
341
342 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
343
344         * cppfiles.c: Update comments.
345         (destroy_include_file_node): Rename destroy_node.
346         (find_or_create_entry): New function.
347         (open_file, _cpp_fake_include): Use it.
348         (handle_missing_header): New function, broken out of
349         _cpp_execute include.  Don't segfault if there is no
350         system or quoted path.
351         (_cpp_execute_include): Use handle_missing_header.
352
353 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
354
355         * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
356         2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
357
358 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
359
360         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
361         unless anti_dependence says they are.
362         * alias.c (objects_must_conflict): If neither has a type specified,
363         they must conflict.
364
365 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
366             David Billinghurst <David.Billinghurst@riotinto.com>
367
368         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
369
370 Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
371
372         * i386.md (trunctfdf2_2): Rename missnamed pattern.
373         (*_one_bit): Remove type on the match_operand in attributes.
374
375 Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
376
377         * i386.c: Commit forgotten hunk in previous patch.
378         (regclass_map): Add extended registers.
379         (dbx_register_map): Add missing frame register.
380
381 Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
382
383         * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
384
385         * i386.md (x86_sahf_1): Disable for 64bit.
386         (popsi*, pophi*): Likewise.
387         (pushqi, pushhi): Likewise.
388         (movdi, pushdi): Likewise.
389         (zero extend DImode splitter): Likewise.
390         (adddi, minusdi splitter): Likewise.
391         (umulsidi): Likewise.
392         (umulsi): New.
393         (mulsidi): Disable for 64bit
394         (lshift:DI/ashift:DI): Disable for 64bit.
395         (loop patterns): Likewise.
396         (call_pop, call_value_pop expanders and patterns): Likewise.
397         (prologue_get_pc): Likewise.
398         (leave): Likewise.
399         (fcmovDI pattern and splitter): Likewise.
400         (movdfcc_1_rex64): New.
401
402 Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
403
404         * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
405         (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
406         (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
407         (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
408         (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
409         (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
410         (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
411         (PUSH_ROUNDING): x86_64 rounds to 64bits.
412         (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
413         (REGPARM_MAX): Set to 6 for x86_64.
414         (SSE_REGPARM_MAX): Set to 16 for x86_64.
415         * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
416         registers.
417
418         * (patterns that does use upper halves): Update constraints
419         'q' to 'Q' and 'r' to 'R'.
420         (cmpqi_ext_1): Disable for 64bit.
421         (cmpqi_ext_3_insn): Likewise.
422         (movqi_extzv_1): Likewsie.
423         (addqi_ext_1): Liekwsie
424         (testqi_ext_1): Liekwsie
425         (andqi_ext_1): Liekwsie
426         (xorqi_ext_1): Liekwsie
427         (cmpqi_ext_1_rex64): New.
428         (cmpqi_ext_3_insn_rex64): Likewise.
429         (movqi_extzv_1_rex64): Likewsie.
430         (addqi_ext_1_rex64): Liekwsie
431         (testqi_ext_1_rex64): Liekwsie
432         (andqi_ext_1_rex64): Liekwsie
433         (xorqi_ext_1_rex64): Liekwsie
434
435 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
436
437         * configure.in: Move check for unsigned enumerated bitfields
438         to macro in aclocal.m4.  Disable it for now.
439         * configure, config.in: Regenerate.
440         * system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
441         unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
442         * varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
443         kind above its first use.
444
445         * config/xm-interix.h, config/alpha/xm-alpha.h,
446         config/i370/xm-linux.h, config/i386/xm-beos.h,
447         config/i386/xm-mingw32.h, config/mips/xm-mips.h,
448         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
449         config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
450         Don't define ONLY_INT_FIELDS under any circumstances.
451
452         * config/pa/xm-pa.h: Don't define __BSD_NET2__.
453
454         * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
455         config/sparc/xm-sysv4.h: Delete - now identical with some
456         other xm header.
457         * config.gcc (hppa targets): Replace xm-pahpux.h and
458         xm-papro.h with implicit xm-pa.h.
459         (sparc targets): Replace xm-sysv4.h with implicit or explicit
460         xm-sparc.h.
461
462 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
463
464         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
465         before reload_cse_noop_set_p.
466
467 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
468
469         * config.gcc: Where xm-host.h used to include another
470         xm-host.h, list the nested header directly in xm_file.  Remove
471         references to deleted files.  Can now use sparc/xm-sp64.h for
472         sparcv9-*-solaris*.
473
474         * config/xm-linux.h, config/arm/xm-linux.h,
475         config/i386/xm-dos.h, config/i386/xm-gnu.h,
476         config/i386/xm-linux.h, config/i386/xm-openbsd.h,
477         config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
478         config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
479         config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
480         Delete.
481
482         * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
483         * config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
484         bother to wrap #undef in #ifdef.
485         * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
486         Don't include xm-linux.h.
487         * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
488
489         * configure.in: Wrap regexps using [] in changequote block.
490         Use expr : not echo | grep.  Simplify regexps.
491         * configure: Regenerate.
492
493         56 xm-files remain, 22 xm-arch.
494
495 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
496
497         * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
498         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
499         (local_index, local_rindex): Delete, use strchr/strrchr instead.
500         (copy_object): Fix format specifier vs argument mismatch.
501
502         * mips-tdump.c: Make local functions static.
503         (rindex): Don't #undef.
504         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
505         (fatal, fancy_abort): Delete.
506         (read_seek): Avoid signed/unsigned compare.
507
508 Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
509
510         * combine.c (try_combine): Fix error in change to try original
511         register.
512         (gen_rtx_combine): Do same as gen_rtx for now.
513
514 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
515
516         * configure.in: AC_SUBST xm_defines.
517         * configure: Regenerate.
518         * Makefile.in: Set DEFINES=$(xm_defines) when building
519         tconfig.h.
520
521 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
522
523         * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
524         (cpp_included, find_include_file): Update.
525         (_cpp_compare_file_date): Make else unconditional.
526
527 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
528
529         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
530
531 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
532
533         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
534         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
535
536 Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
537
538         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
539         if it's a record type.
540
541 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
542
543         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
544         mingw includes slightly.
545
546 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
547
548         * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
549         #undef token before poisoning it.
550
551 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
552
553         * alpha.c (check_float_value): Use memcpy, not bcopy.
554
555         * m32r.c (m32r_sched_reorder): Likewise.
556
557         * vax.c (check_float_value): Likewise.
558
559 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
560
561         * toplev.c (file_name_nondirectory): Remove.
562         * toplev.h: Similarly.
563         * dwarf2out.c (compute_section_prefix): Use lbasename instead
564         of file_name_nondirectory.
565
566 Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
567
568         * mips-tdump.c (read_seek): Call xmalloc, not malloc.
569         * mips-tfile.c: Don't #undef rindex; not used.
570
571 Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
572
573         * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
574         (dbx64_register_map): Declare.
575         (RETURN_ADDR_RTX): Fix for 64bit.
576         (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
577         (INCOMING_FRAME_SP_OFFSET): Set to 8.
578         * i386.c (dbx64_register_map): New global array.
579         * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
580         linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
581         for 64bits.
582
583 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
584
585         * cppfiles.c (search_from): Use lbasename.
586         * mkdeps.c (deps_add_default_target): Use lbasename.
587
588 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
589
590         * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
591         xcalloc in lieu of malloc, realloc & calloc.
592
593         * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
594
595         * gengenrtl.c (xmalloc): Likewise.
596
597         * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
598         really_call_* memory allocation routines.
599
600         * stmt.c (check_for_full_enumeration_handling): Use
601         really_call_calloc, not calloc.
602
603         * system.h (really_call_malloc, really_call_calloc,
604         really_call_realloc): Define.
605         (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
606
607 Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
608
609         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
610
611 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
612
613         * configure: Rebuilt.
614         * configure.in: Only use `lang_requires' for languages athat are
615         actually enabled.
616
617 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
618
619         * invoke.texi: Fix typo.
620         * gcc.1: Regenerate.
621
622 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
623
624         * configure.in: Prune nonexistent files from build_xm_file,
625         xm_file, and host_xm_file lists.  Warn unless they're
626         $cpu/xm-$cpu.h.
627         Don't generate *config.h here.
628         AC_SUBST all variables needed to generate *config.h.
629         * configure: Regenerate.
630         * mkconfig.sh: New helper script, from code removed from
631         configure.in.
632         * Makefile.in: Zap all MALLOC variables - no longer used
633         anywhere, and malloc.c doesn't exist.
634         Substitute in variables needed to generate *config.h.
635         Stop lying about the dependencies contained in CONFIG_H and
636         GCONFIG_H.
637         (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
638         (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
639         cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
640         (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
641         $(TM_P_H), etc. as appropriate.
642
643         * config.gcc: Zap references to deleted files.
644         * ggc-none.c: Don't include rtl.h or tm_p.h.
645
646         * config/i386/xm-beos.h, config/i386/xm-dgux.h,
647         config/i386/xm-djgpp.h, config/i386/xm-dos.h,
648         config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
649         config/i386/xm-linux.h, config/i386/xm-linux.h,
650         config/i386/xm-next.h, config/i386/xm-openbsd.h,
651         config/i386/xm-sun.h, config/i386/xm-sysv3.h:
652         Don't include i386/xm-i386.h.
653
654         * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
655         config/i386/xm-i386.h, config/i860/xm-i860.h,
656         config/i960/xm-i960.h, config/mcore/xm-mcore.h,
657         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
658         config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
659         Delete (empty except comments, #includes of other deleted
660         files, and macros used nowhere).
661
662 Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
663
664         * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
665         independent on TARGET_FLAGS.
666
667 Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
668
669         * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
670
671         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
672         extended ones.
673         (CONDITIONAL_REGISTER_USAGE): Set proper values according to
674         TARGET_64BIT.
675         (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
676         LAST_REX_SSE_REG): define.
677         (enum reg_class): Add 'LEGACY_REGS'
678         (REG_CLASS_CONTENTS): Likewise; add extended registers.
679         (SSE_REGNO_P): Recognize extended registers.
680         (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
681         (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
682         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
683         REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
684         (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
685          REG_OK_FOR_STRREG_P): Remove.
686         (HI_REGISTER_NAMES): Add extended registers.
687         (ADDITIONAL_REGISTER_NAMES): Likewise.
688         (QI_REGISTER_NAMES): Add 8bit extended registers.
689         (DEBUG_REG): Support extended registers.
690         * i386.c (regclass_map): Add extended registers.
691         (dbx_register-map): Likewise.
692         (svr4_dbx_register_map): Likewise.
693         (print_reg): Support extended registers.
694         (print_operand): Support 64bit operands.
695
696 Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
697
698         * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
699         (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
700          FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
701          DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
702         (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
703          STACK_BOUNDARY): Set properly for 64bits.
704         (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
705         (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
706         (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
707         (MOVE_MAX): Set to 16.
708         (MOVE_MAX_PIECES): 8 for 64bit.
709         (Pmode): Set to SImode.
710
711 Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
712
713         * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
714
715 Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
716
717         * i386.h (mask_64bit): New constant.
718         (target_64bit): New macro.
719         (target_options): Add '64'/'32'
720         (target_default): Define.
721         * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
722         isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
723         unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
724
725 Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
726
727         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
728
729 Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
730
731         * rtlanal.c (rtx_varies_p): Check operand 0 of a
732         LO_SUM unless for_alias is set.
733
734 2001-03-08  Stan Shebs  <shebs@apple.com>
735
736         * objc/objc-act.c: Fix old typos in comments, add comments for
737         various functions.
738         (hash_init): Fix file name in error message.
739         (hash_enter): Ditto.
740         (hash_add_attr): Ditto.
741         (continue_class): Ditto.
742
743 2001-03-08  Bruce Korb  <bkorb@gnu.org>
744
745         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
746         wait4() can receive the signal.
747
748 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
749
750         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
751         entities.
752         * fixinc/fixincl.x: Regenerate.
753
754 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
755
756         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
757         on Tru64 UNIX.
758         * fixinc/fixincl.x: Regenerate.
759
760 2001-03-08  Richard Henderson  <rth@redhat.com>
761
762         * configure.in (HAVE_AS_LEB128): New assembler check.
763         * configure, config.in: Rebuilt.
764
765 Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
766
767         * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
768         TFmode too.
769
770 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
771
772         * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
773         references to the MAXPATHLEN macro.
774
775         * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
776         config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
777         the POSIX macro.
778
779         * config/i386/xm-gnu.h, config/xm-gnu.h,
780         config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
781         config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
782         config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
783         and/or unused files.
784
785         * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
786         doing so in various xm-*.h files.
787
788 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
789
790         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
791
792 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
793
794         * configure.in (enable_shared): Support per-package shared-library
795         enabling.
796         * configure: Rebuilt.
797
798 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
799
800         * rs6000.md (cr logic): Add original POWER mnemonic alternative
801         for crnot.  Set operands[5] in splitter.
802
803 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
804
805         * config/i370/xm-mvs.h, config/i370/xm-oe.h,
806         config/i386/xm-beos.h, config/i386/xm-mingw32.h,
807         config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
808         config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
809         config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
810         config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
811         config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
812         to the USG macro.
813
814         * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
815         config/i370/xm-i370.h, config/i386/xm-dgux.h,
816         config/i386/xm-sun.h, config/i386/xm-sysv3.h,
817         config/m68k/xm-tower.h, config/m68k/xm-aux.h,
818         config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
819         config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
820         config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
821         config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
822         config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
823         config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
824         Delete unused and/or empty files.
825
826         * config.gcc: Define USG in xm_defines as appropriate.  Define
827         POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
828         macro.  Remove deleted xm-* files from $xm_files variable.
829
830 2001-03-07  Tom Tromey  <tromey@redhat.com>
831
832         * configure: Rebuilt.
833         * configure.in: Allow config-lang.in to set `lang_requires' to list
834         of other required languages.
835
836 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
837
838         * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
839         after its emitted.
840         (output_prologue): Use xmalloc not oballoc.
841         (output_epilog): Free a29k_first_epilogue_insn when finished.
842         * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
843
844 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
845
846         * builtins.c (expand_builtin_mathfn): Check
847         flag_unsafe_math_optimizations, not flag_fast_math.
848         (expand_builtin): Likewise
849         * combine.c (combine_simplify_rtx): Likewise.
850         (simplify_if_then_else): Likewise.
851         * cse.c (fold_rtx): Likewise.
852         * flags.h: Remove flag_fast_math.  Add
853         flag_unsafe_math_optimizations and flag_trapping_math.
854         * fold-const.c (negate_expr): Check
855         flag_unsafe_math_optimizations, not flag_fast_math.
856         (invert_truthvalue): Likewise.
857         (fold): Likewise.  Before associating operands, check that
858         code == MULT_EXPR, not code != MULT_EXPR.
859         * ifcvt.c (noce_try_minmax): Check
860         flag_unsafe_math_optimizations, not flag_fast_math.
861         (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
862         * invoke.texi: Document -funsafe-math-optimizations and
863         -fno-trapping-math.  Change documentation for -ffast-math.
864         * jump.c (reversed_comparison_code_parts): Likewise.
865         (rtx_equal_for_thread_p): Likewise.
866         * optabs.c (emit_conditional_move): Likewise.
867         * simplify-rtx.c (simplify_binary_operation): Likewise.
868         (simplify_relational_operation): Likewise.
869         (simplify_ternary_operation): Likewise.
870         * toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
871         flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
872         Add trapping-math and unsafe-math-optimizations entries to f_options.
873         (set_fast_math_flags): New, sets flags for -ffast-math.
874         (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
875         (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
876         * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
877
878         * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
879         (alpha_emit_conditional_move): Initialize local_fast_math to
880         flag_unsafe_math_optimizations, not flat_fast_math.
881         * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
882         instead of setting flag_fast_math to 1.
883         * config/convex/convex.md: Check flag_unsafe_math_optimizations,
884         not flag_fast_math.
885         * config/i386/i386.c (override_options): Likewise
886         * config/i386/i386.md: Likewise.
887         * config/m68k/m68k.md: Likewise.
888         * config/mips/mips.md: Likewise.
889         * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
890         (rs6000_generate_compare): Likewise.
891
892 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
893
894         * Makefile.in: Set RANLIB to @RANLIB@.
895         Remove RANLIB_TEST.
896
897 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
898
899         * fixinc/inclhack.def (djgpp_wchar_h): New test.
900         * fixinc/fixincl.x: Regenerated.
901
902 2001-03-07  Richard Henderson  <rth@redhat.com>
903
904         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
905
906 2001-03-07  Richard Henderson  <rth@redhat.com>
907
908         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
909         of block notes and exception handling notes.
910
911         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
912         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
913         (compile_file): ... here.
914
915 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
916
917         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
918
919         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
920         config.h now.  Include libiberty.h to handle alloca.
921
922 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
923
924         * c-parse.in (yylexname): New function, split out of _yylex.
925         (objc_rid_sans_at): New table.
926         (init_reswords): Initialize it.
927         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
928         retrieving the next token and checking it for significance as
929         an ObjC keyword or string constant.
930
931         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
932         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
933
934         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
935         to CPP_OSTRING.
936
937 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
938
939         * config/m68k/m68k.c (const_uint32_operand): Accept any
940         const_int on a 32-bit host.
941
942 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
943
944         * objc/objc-act.c (init_objc): Set save_lang_status,
945         restore_lang_status, and mark_lang_status.
946
947 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
948
949         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
950
951 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
952
953         * cppinternals.texi: Update.
954
955 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
956
957         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
958         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
959         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
960         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
961         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
962         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
963         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
964         config/i386/xm-i386.h, config/i860/xm-i860.h,
965         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
966         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
967         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
968         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
969         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
970         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
971         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
972         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
973         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
974         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
975         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
976         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
977         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
978         match the defaults provided in hwint.h.
979
980         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
981         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
982
983         * config.gcc (xm_file): Don't set to files which are deleted.
984
985         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
986         guard this file against these macros being undefined.
987
988 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
989
990         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
991         and DECL_DEFER_OUTPUT on the decl we create, before calling
992         rest_of_decl_compilation.
993
994 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
995
996         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
997         AC_FUNC_ALLOCA.
998         * configure, config.in: Regenerate.
999         * config.gcc: Remove references to deleted files.
1000
1001         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
1002         genrecog.c, rtl.c: Do not use alloca anywhere.
1003
1004         * Makefile.in, build-make, system.h, config/x-interix,
1005         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
1006         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
1007         config/arc/xm-arc.h, config/arm/xm-arm.h,
1008         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
1009         config/h8300/xm-h8300.h, config/i370/x-oe,
1010         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
1011         config/i386/x-ncr3000, config/i386/x-sco5,
1012         config/i386/xm-dgux.h, config/i860/x-sysv4,
1013         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
1014         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
1015         config/m68k/x-hp320g, config/m69k/x-mot3300,
1016         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
1017         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
1018         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
1019         config/m88k/x-sysv4, config/m88k/x-tekXD88,
1020         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
1021         config/mips/x-iris, config/mips/x-iris3,
1022         config/mips/x-sni-svr4, config/mips/x-sysv,
1023         config/mips/xm-iris6.h, config/mips/xm-mips.h,
1024         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
1025         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
1026         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
1027         config/pa/xm-papro.h, config/romp/xm-romp.h,
1028         config/rs6000/x-aix31, config/rs6000/x-aix41,
1029         config/rs6000/x-beos, config/rs6000/x-lynx,
1030         config/rs6000/x-mach, config/rs6000/x-rs6000,
1031         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
1032         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
1033         config/sparc/x-sysv4, config/sparc/xm-linux.h,
1034         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
1035         config/vax/xm-vms.h: Eradicate all references to alloca and
1036         related stuff.
1037
1038         * config/xm-alloca.h, config/clipper/x-clix,
1039         config/i386/xm-sysv4.h, config/i860/x-fx2800,
1040         config/i860/x-sysv3, config/m88k/x-sysv3,
1041         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
1042         (contained only alloca related hacks).
1043
1044         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
1045         USE_C_ALLOCA.
1046
1047 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
1048
1049         * invoke.texi: Document __FAST_MATH__.
1050
1051 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1052
1053         * crtstuff.c: Restore include of auto-host.h.
1054
1055 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
1056
1057         Put main() in a separate file, so that the language
1058         front-end can use a different main().
1059
1060         * main.c: New.
1061         * toplev.c: (main): Rename as toplev_main.
1062         * toplev.h: Declare toplev_main.
1063         * Makefile.in (OBJS): add toplev.o.
1064           (BACKEND): remove toplev.o, add main.o.
1065
1066 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
1067
1068         * cppfiles.c (search_from): Special case the empty string.
1069
1070 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
1071
1072         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
1073         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
1074         strlen or strcpy; we already know the length.
1075         (_cpp_compare_file_date): Similarly.
1076         * cpphash.h (struct cpp_reader): Delete done_initialising.
1077         (CPP_PREV_BUFFER): Delete.
1078         * cppinit.c (cpp_start_read): Don't set done_initialising.
1079         * cpplex.c (parse_string): Guarantee null-termination.
1080         (_cpp_equiv_toklists): Remove.
1081         * cpplib.c (glue_header_name): Null-terminate.
1082         (do_line): Don't leak memory.
1083         * cpplib.h (BT_WEAK): Delete.
1084         * cppmain.c (cb_ident): Strings are now null-terminated.
1085
1086 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
1087
1088         * gcc.c (convert_filename): Append executable suffix
1089         if NO_AUTO_EXE_SUFFIX is not defined.
1090         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
1091         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
1092
1093 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
1094
1095         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
1096         * c-parse.gperf, c-gperf.h: Delete.
1097         (c-gperf.h was accidently re-added to the CVS repo in the rev
1098         1.16 commit by tromey)
1099
1100 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1101
1102         * cpplex.c (_cpp_lex_token): Don't warn about directives in
1103         macro arguments when looking for the '('.
1104         * cppmacro.c (funlike_invocation_p): Set parsing_args to
1105         2 when really parsing arguments; 1 when looking for '('.
1106         Always restore the lexer position.
1107
1108 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1109
1110         * longlong.h (umul_ppmm): Don't use a multiline string.
1111
1112 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1113
1114         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
1115         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
1116         t_bool in declaration because pcc can't combine volatile with typedef
1117         types.
1118
1119 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
1120
1121         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
1122         until when it is really needed.
1123         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
1124         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
1125         * i386.md (float?i?f splitter): Don't force source operand to memory
1126         for SSE.
1127         (sse_movdfcc): Fix constraint.
1128         (sse_movdfcc splitter): Handle properly the second alternative.
1129
1130 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1131
1132         * cpplex.c (parse_string): Unconditionally pedwarn.
1133
1134 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1135
1136         * cpp.texi: Update.
1137         * cppexp.c (parse_number): Update.
1138         * cpplex.c (parse_string): Pedwarn if multiline string does not
1139         result from a system header's macro.
1140         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
1141         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
1142         for function-like macros too.
1143         * c-lex.c (lex_number): Update.
1144
1145 2001-03-03  Richard Henderson  <rth@redhat.com>
1146
1147         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
1148
1149 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
1150
1151         * combine.c (try_combine): If split with mode-changed scratch
1152         register didn't work, try the original mode.
1153
1154 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
1155
1156         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
1157         * config/c4x/c4x.h: Likewise.
1158         * stor-layout.c (compute_record_mode): Likewise.
1159         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
1160
1161 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
1162
1163         * configure.in: Kill tm.h.  Include the files in the $tm_file
1164         list in all three of config.h, hconfig.h, tconfig.h, after the
1165         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
1166         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
1167         * configure: Regenerate.
1168         * Makefile.in (clean): Don't delete tm.h.
1169
1170         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
1171         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
1172         those are not defined, set SEC and FEC to 0 and 1.
1173         * gcc.texi: Update to match.
1174
1175         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
1176         * config/fp-bit.c, config/m68k/aux-crt2.asm,
1177         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
1178         Include tconfig.h, not tm.h.
1179
1180         * config/xm-lynx.h, config/xm-std32.h,
1181         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
1182         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
1183         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
1184         config/clipper/xm-clix.h, config/convex/xm-convex.h,
1185         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
1186         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
1187         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
1188         config/i386/xm-i386.h, config/i860/xm-i860.h,
1189         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
1190         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
1191         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
1192         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
1193         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
1194         config/pa/xm-linux.h, config/pa/xm-pa.h,
1195         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
1196         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
1197         config/pj/xm-pj.h, config/romp/xm-romp.h,
1198         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
1199         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
1200         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
1201         config/v850/xm-v850.h, config/vax/xm-vax.h,
1202         config/we32k/xm-we32k.h:
1203         Don't include tm.h.
1204         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
1205
1206         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
1207         config/i370/xm-oe.h: Don't include tm.h.  Don't define
1208         SUCCESS_EXIT_CODE.
1209         * config/vax/xm-vms.h: Don't include tm.h.
1210
1211         * config/xm-lynx.h, config/avr/xm-avr.h,
1212         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
1213         Delete; made empty by above changes.
1214         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
1215         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
1216         Don't include config/xm-lynx.h or tm.h.
1217
1218         * config/xm-gnu.h: Don't include fcntl.h.
1219         * config/sparc/xm-lynx.h: Don't include sys/types.h and
1220         sys/wait.h.
1221         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
1222
1223 2001-03-02  Richard Henderson  <rth@redhat.com>
1224
1225         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
1226         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
1227
1228 2001-03-02  Richard Henderson  <rth@redhat.com>
1229
1230         * Makefile.in (OBJS): Add dwarf2asm.o.
1231         * dwarf2asm.c, dwarf2asm.h: New files.
1232         * dwarf2out.c (*): Use them.
1233         (size_of_uleb128, size_of_sleb128): Remove.
1234         (output_uleb128, output_sleb128): Remove.
1235         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
1236         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
1237         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
1238         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
1239         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
1240         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
1241         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
1242         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
1243         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
1244         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
1245         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
1246         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
1247         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
1248         (dwarf2out_frame_debug): Remove unused variables.
1249         (output_loc_operands): Don't abort on 8 byte constants if
1250         host integers are wide enough.
1251         (output_symbolic_ref): Remove.
1252         (size_of_die): Don't assume 4 byte host integers.
1253         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
1254         and end labels.
1255         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
1256         something stupid with HOST_WIDE_INT to long truncation.
1257         [CONST_DOUBLE]: Likewise.
1258
1259         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
1260         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
1261         * config/arm/unknown-elf.h: Likewise.
1262         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
1263         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
1264         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
1265         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
1266         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
1267         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
1268         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
1269         (ASM_OUTPUT_DWARF_OFFSET): Remove.
1270         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
1271         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
1272         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
1273         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
1274
1275 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1276
1277         * cselib.c (hash_rtx): Cast enums to unsigned int.
1278
1279 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1280
1281         * print-rtl.c (print_rtx): Cast enums to int for comparison.
1282         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
1283         shifts.
1284         * c-format.c (C_STD_VER): Cast to int for comparisons.
1285         (check_function_format): Cast various enums to int for &.
1286         (maybe_read_dollar_number): Likewise.
1287         (check_format_info): Likewise.
1288         (check_format_info_main): Likewise.
1289         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
1290         (safe_from_p): Likewise.
1291         * varasm.c (const_hash): Cast enum to int for %.
1292         * emit-rtl.c (init_emit_once): Use int loop variable to work around
1293         pcc enum problems with < and ++ operators.
1294         * regclass.c (init_reg_sets_1): Cast enums for comparison.
1295         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
1296         (regclass_init): Change enum class to int to iterate over reg_classes.
1297         * genrecog.c (merge_trees): Cast enums for comparison.
1298         * rtl.h (GET_CODE): Cast to enum rtx_code.
1299         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
1300         (GET_MODE): Cast to enum machine_mode.
1301         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
1302         (GET_NOTE_INSN_NAME): Cast enum to int.
1303         * tree.h (TREE_CODE): Cast to enum tree_code.
1304         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
1305         * timevar.c (timevar_print): Change loop variable id from enum to
1306         unsigned int.
1307         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
1308         * config/i386/i386.md: Use PUT_MODE for mode assignment.
1309         * toplev.c (compile_file): Cast enum DFI to int.
1310         (decode_d_option): Likewise.
1311
1312 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
1313
1314         * cppinit.c (append_include_chain): Mark "after" include file name list
1315         as a system directory.
1316         * cpp.texi: Document new behavior.
1317
1318 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
1319
1320         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
1321
1322 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
1323
1324         * cppfiles.c (struct include_file): Update.
1325         (stack_include_file): Use search_from.
1326         (cpp_included, find_include_file): Update.
1327         (cpp_execute_include): Update.  ptr->name may not be
1328         null terminated.  Use the new search_from member variable
1329         of cpp_buffer.
1330         (_cpp_compare_file_date): Similarly.
1331         (search_from): New function, similiar to actual_directory.
1332         (actual_directory): Delete.
1333         (remap_filename): Update.  loc->name may not be null terminated.
1334         (struct file_name_list): Rename search_path.  Update.
1335         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
1336         search_from and dir.
1337         (struct cpp_reader): Remove actual_dirs.
1338         * cppinit.c (struct cpp_pending): Update for renamed objects.
1339         (append_include_chain, remove_dup_dir, remove_dup_dirs,
1340         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
1341         * cpplib.h (struct cpp_options): Similarly.
1342
1343 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
1344
1345         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
1346         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
1347         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
1348         config/clipper/xm-clix.h, config/convex/xm-convex.h,
1349         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
1350         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
1351         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
1352         config/i370/xm-linux.h, config/i370/xm-mvs.h,
1353         config/i370/xm-oe.h, config/i386/xm-aix.h,
1354         config/i386/xm-i386.h, config/i386/xm-osf.h,
1355         config/i860/xm-i860.h, config/i960/xm-i960.h,
1356         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
1357         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
1358         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
1359         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
1360         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
1361         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
1362         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
1363         config/pj/xm-pj.h, config/romp/xm-romp.h,
1364         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
1365         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
1366         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
1367         config/v850/xm-v850.h, config/vax/xm-vax.h,
1368         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
1369         Do not define TRUE or FALSE.
1370
1371         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
1372         empty by above change.
1373         * config.gcc: Remove references to these files.
1374
1375         * configure.in: Detect stdbool.h.
1376         * configure, config.in: Regenerate.
1377         * system.h: Include stddef.h here if available.
1378         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
1379         Then set up a sensible boolean type at the very end.
1380
1381         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
1382         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
1383
1384         * hash.h: Delete 'boolean' typedef and related #undefs.
1385
1386         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
1387         all uses of 'boolean' with 'bool'.
1388
1389 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1390
1391         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
1392         * cppexp.c (lex): Cast enums for comparison.
1393         * cppinit.c (parse_option): Cast enum for comparison.
1394         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
1395         (cpp_output_token): Likewise.
1396         (cpp_can_paste): Cast enums for comparsion and plus/minus.
1397         (cpp_avoid_paste): Cast enums for minus and comparison.
1398
1399 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
1400
1401         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
1402         field to all array elements.
1403
1404 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
1405
1406         * cpphash.h (struct cpp_reader): Add print_version field.
1407         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
1408         just set print_version and other flags as appropriate.
1409         (cpp_post_options): Print version here if print_version is set.
1410
1411         * toplev.c (exit_after_options): New flag.
1412         (independent_decode_option): Don't exit here; just set
1413         exit_after_options.
1414         (main): Exit after calling lang_hooks.post_options if
1415         exit_after_options is true.
1416
1417         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
1418         (merge_include_chains): Adjust comment to match code.
1419
1420 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
1421
1422         * stringpool.c (set_identifier): New function.
1423         * tree.h: Prototype it.
1424
1425         * c-parse.in: Kill D_YES. If compiled for objc, call
1426         save_and_forget_protocol_qualifiers from init_reswords.
1427         * objc/objc-act.c (remember_protocol_qualifiers,
1428         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
1429         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
1430         vice versa.
1431         (save_and_forget_protocol_qualifiers): New function.
1432         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
1433
1434 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
1435
1436         * c-semantics.c (prune_unused_decls): Return error_mark_node
1437         instead of (tree) 1 to stop traversing the tree chain.
1438
1439 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
1440
1441         Fix a problem introduced by Kenner's Feb 18 change.
1442         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
1443         flag_cse_skip_blocks only temporarily, not for ever.
1444
1445 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
1446
1447         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
1448         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
1449
1450         * pa.c (emit_move_sequence): Verify operand0 is a hard register
1451         before determining its register class.
1452
1453 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
1454
1455         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
1456         from reg 4 if current_function_calls_setjmp.
1457         (gen_nop_type): New function.
1458         (ia64_emit_nops): New function.
1459         (ia64_reorg): Call it.
1460         (ia64_sched_reorder): Move code that rotates bundles up a bit.
1461
1462         * reload1.c (eliminate_regs_in_insn): Restrict the special case
1463         code not to try to optimize adds with anything but a REG destination.
1464
1465         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
1466         (INSN_PRIORITY_KNOWN): New accessor macro.
1467         * haifa-sched.c (priority): Use it instead of testing priority against
1468         zero.
1469
1470 2001-02-28  DJ Delorie  <dj@redhat.com>
1471
1472         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
1473         since that doesn't work the way gcc wants on a generic m68k.
1474
1475 2001-02-28  Richard Henderson  <rth@redhat.com>
1476
1477         * caller-save.c (save_call_clobbered_regs): Fix typo in
1478         comparison last change.
1479
1480 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
1481
1482         * i386.c (pentium4_cost): New.
1483         (m_PENT4): New macro.
1484         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
1485         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
1486         x86_integer_DFmode_moves, x86_partial_reg_dependency,
1487         x86_memory_mismatch_stall): Add Pentium4
1488         (x86_use_q_reg, x86_use_any_reg): Kill.
1489         (override_options): Add pentium4.
1490         (incdec_operand): Return 0 for pentium4.
1491         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
1492         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
1493         (TARGET_PENTIUM4): Define.
1494         (enum processor_type): Add PROCESSOR_PENTIUM4.
1495         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
1496         * i386.md (attribute "cpu"): Add pentium4.
1497         * invoke.texi (march): Add pentium4.
1498
1499 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
1500
1501         * i386.md (sse_mov?fcc*): New patterns and splitters.
1502         * i386.c (ix86_expand_movcc): Work post-reload; recognize
1503         the SSE based conditional moves.
1504
1505 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
1506
1507         * i386.md (attribute mode): Add "TI".
1508         (movsf_1): Add pxor support; remove constant propagation splitter.
1509         (movdf_integer): Likewise.
1510         (movdf_nointeger): Likewise.
1511         (movxf constant prop splitter): Handle all modes; update for SSE.
1512         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
1513         * i386.c (standard_80387_constant_p): Rewrite.
1514         (standard_sse_constant_p): New.
1515         * i386-protos.h (standard_sse_constant_p): New.
1516
1517 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
1518
1519         * i386.md (sse_setccsf, sse_setccdf): New.
1520         (sse_cmp* patterns): Use '%D' instead of outputtting condition
1521         flag directly.
1522         * i386.c (sse_comparison_operator): Accept the supported unordered
1523         comparses; be ready for fast_math.
1524         (print_operand): Support 'D'.
1525
1526 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
1527
1528         * jump.c (reversed_comparison_code): Kill.
1529
1530 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
1531
1532         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
1533         for STACK_REGS
1534
1535 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
1536
1537         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
1538         add missing '%' in constraints.
1539
1540 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
1541
1542         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
1543         for HOST_BITS_PER_WIDE_INT == 32 too.
1544
1545 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
1546
1547         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
1548         NREGS.
1549         (insert_save, insert_restore): New parameter save_mode.
1550         (init_caller_save): Update initialization of reg_save_code
1551         and reg_restore_code.
1552         (save_call_clobbered_regs):  Compute save_modes and update calls to
1553         reg_save_code and reg_restore_code.
1554         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
1555         of spill; update use of reg_restore_code.
1556         (insert_save):  Likewise.
1557         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
1558         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
1559         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
1560
1561 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
1562
1563         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
1564         noce_try_store_flag_inc, noce_try_store_flag_mask,
1565         noce_try_cmove_arith):
1566         Use reversed_comparison_code instead of reverse_comparison and
1567         can_reverse_comparison_p.
1568
1569 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
1570
1571         * jump.c (reversed_comparison_code_parts): Allow reversal of
1572         unordered compares in -ffast-math mode; reverse ordered compares
1573         for FP even w/o -ffast-math.
1574
1575 2001-02-27  Richard Henderson  <rth@redhat.com>
1576
1577         * print-rtl.c (print_rtx) [i]: Don't print field five on
1578         NOTEs other than NOTE_INSN_DELETED_LABEL.
1579
1580 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
1581
1582         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
1583         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
1584
1585 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
1586
1587         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
1588         even if walk_subtrees is 0.
1589         * c-semantics.c (prune_unused_decls): Return a non-null value to
1590         stop traversing the tree chain.
1591
1592 2001-02-27  DJ Delorie  <dj@redhat.com>
1593
1594         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
1595         register, *then* define it as the new CFA.
1596
1597 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
1598
1599         * pa.c (override_options): Promote -fpic to -fPIC.
1600         (legitimize_pic_address): Simplify due to removal of
1601         small PIC as a code generation option.
1602         (secondary_reload_class): Similarly.
1603         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
1604         (PRINT_OPERAND_ADDRESS): Similarly.
1605         * pa.md (various patterns): Similarly.
1606         (small pic lo_sum pattern): Remove.
1607
1608 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
1609                               Fergus Henderson
1610
1611         * md.texi (min, max): Document
1612
1613 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
1614
1615         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
1616         TARGET_PARTIAL_REG_DEPENDENCY.
1617         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
1618
1619 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
1620
1621         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
1622
1623 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
1624
1625         * mips.c (mips_make_temp_file): Fix thinko in last change.
1626
1627 2001-02-26  Jason Eckhardt  <jle@redhat.com>
1628
1629         * combine.c (known_cond): Do not reverse the condition when
1630         SMAX/UMAX is being considered and the condition is for equality
1631         or inequality.
1632
1633         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
1634
1635 2001-02-26  Philip Blundell  <philb@gnu.org>
1636
1637         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
1638         "armv2-*-linux".
1639         * config/arm/linux-elf.h: Remove historical relics related to
1640         above configurations.
1641         * config/arm/linux-oldld.h: Delete.
1642         * config/arm/linux-elf26.h: Delete.
1643
1644 2001-02-26  Jason Merrill  <jason@redhat.com>
1645
1646         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
1647         definitions.
1648         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
1649         recognize a tentative definition.  Lose obsolete code.
1650
1651         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
1652         variables unless necessary, either.
1653
1654 2001-02-25  Richard Henderson  <rth@redhat.com>
1655
1656         * ifcvt.c (struct noce_if_info): Add test_bb.
1657         (noce_get_alt_condition): New.
1658         (noce_try_minmax, noce_try_abs): New.
1659         (noce_operand_ok): New.
1660         (noce_process_if_block): Use them.
1661         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
1662
1663 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
1664
1665         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
1666         include.
1667
1668 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
1669
1670         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
1671         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
1672         properly.
1673         (mips_asm_file_end): Free temp_filename here.
1674
1675 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1676
1677         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
1678         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
1679
1680         * config/i386/i386.md (movstrsi): Handle FAIL case.
1681
1682 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
1683
1684         * cppinit.c (builtin_array): Update.
1685         (init_builtins): Flag builtins to warn if redefined or
1686         undefined.  Define __GXX_WEAK as a normal macro.
1687         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
1688         * cpplib.h (NODE_WARN): New flag.
1689         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
1690         Handle __STDC__ as a builtin only on Solaris.
1691         (warn_of_redefinition): Renamed from check_macro_definition.
1692         Reverse sense of test.  Always warn if NODE_WARN.
1693         (_cpp_create_definition): Use warn_of_redefinition.  Flag
1694         any macro beginning with "__STDC_" to require a mandatory
1695         warning if redefined or undefined.
1696
1697 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
1698
1699         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
1700         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
1701         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
1702         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
1703         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
1704         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
1705         Don't define any of:
1706         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
1707         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
1708         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
1709         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
1710         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
1711
1712         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
1713         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
1714         definitions.
1715
1716         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
1717         Delete now-empty file.
1718
1719         * alpha/vms.h: Define NEED_ATEXIT here...
1720         * alpha/xm-vms.h: ...not here.
1721
1722         * i386/cygwin.h: Don't define PARAMS.
1723         * mips/mips.c: Don't prototype mktemp.  Don't define
1724         P_tmpdir.  Use make_temp_file to create temporary files.
1725         Don't be clever and delete temporary files early.
1726         * config.gcc: Drop references to deleted files.  Don't define
1727         FULL_PROTOTYPES.
1728         * gcc.texi: Don't mention USE_PROTOTYPES.
1729
1730 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1731
1732         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
1733         (ix86_set_move_mem_attrs_1): Likewise.
1734         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
1735         * config/i386/i386.md (movstrsi): Call it.
1736
1737 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
1738
1739         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
1740         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
1741         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
1742         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
1743
1744         (i750a-*-*): Error here if hosting on i750a.
1745         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
1746
1747         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
1748         Remove (empty modulo comments).
1749
1750         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
1751         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
1752         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
1753         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
1754         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
1755         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
1756
1757         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
1758         Remove reference to winnt.h in comment.
1759         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
1760
1761 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1762
1763         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
1764         used to set another biv.
1765
1766 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1767
1768         * tree.h (BLOCK_DEAD): New macro.
1769         (struct tree_block): New flag, dead_flag.
1770         * print-tree.c (print_node, case 'b'): Print missing fields.
1771         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
1772         * function.c (identify_blocks): Enable test for misplaced notes.
1773         (all_blocks): Skip BLOCK_DEAD blocks.
1774         * integrate.c (integrate_decl_tree): Likewise.
1775
1776         * errors.c (internal_error, trim_filename): New functions.
1777         (fancy_abort): Call internal_error.
1778         * errors.h (internal_error, trim_filename): New declarations.
1779
1780 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
1781
1782         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
1783         2000-08-26's patch.
1784         (EXTRA_CONSTRAINT): Formatting changes.
1785
1786 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1787
1788         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
1789
1790 2001-02-23  Per Bothner  <per@bothner.com>
1791
1792         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
1793         so they can be called from java/jvspec.c.
1794         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
1795
1796 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
1797
1798         * i386.c (ix86_frame): New structure.
1799         (ix86_compute_frame_size): Kill.
1800         (ix86_compute_frame_layout): New.
1801         (ix86_save_reg): New.
1802         (ix86_can_use_return_insn_p): Use frame layout stuff.
1803         (ix86_expand_prologue): Likewise.
1804         (ix86_expand_epilogue): Likewise.
1805         (ix86_initial_elimination_offset): Likewise.
1806         (ix86_nsaved_regs): Use ix86_save_reg.
1807         (ix86_emit_save_regs): Likewise.
1808
1809 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
1810
1811         * flow.c (find_sub_basic_blocks): New function.
1812         (split_block): Be ready for basic block introduced by CODE_LABEL.
1813         (commit_one_edge_insertion): Call find_sub_basic_block.
1814
1815         * flow.c (make_edges): Add edge from entry for blocks starting with
1816         label having ALTERNATE_NAME
1817
1818 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
1819
1820         * function.c (epilogue_done): Be ready for first basic block not
1821         containing PROLOGUE_END note.
1822         (reposition_prologue_and_epilogue_notes): Avoid placing
1823         PROLOGUE_END note between BASIC_BLOCK.
1824
1825 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
1826
1827         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
1828
1829 2001-02-21  DJ Delorie  <dj@redhat.com>
1830
1831         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
1832         check for current_function_has_nonlocal_goto from 1999-11-12.
1833
1834 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1835
1836         * diagnostic.c (trim_filename): No longer static.
1837         * toplev.h (trim_filename): Declare.
1838         * rtl.c (rtl_check_failed_bounds): Call internal_error.
1839         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
1840         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
1841         (rtvec_check_failed_bounds): Likewise.
1842         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
1843
1844         * convert.c (convert_to_integer): Don't do unsigned unless result or
1845         both inputs are unsigned.
1846
1847         * fold-const.c (fold_convert): Don't call size_int_type_wide if
1848         input overflows.
1849
1850         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
1851
1852         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
1853
1854 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
1855
1856         * Makefile.in (resource.o): Add params.h dependence.
1857         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
1858         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
1859         * resource.c: Add dependence on params.h.
1860         (current_live_regs): Fix explanatory comment.
1861         (find_basic_block): Add new parameter to permit limiting search
1862         for a BARRIER.
1863         (mark_target_live_regs): Add new argument to find_basic_block call.
1864         (incr_ticks_for_insn): Likewise.
1865
1866 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
1867
1868         * diagnostic.c (output_to_stream): Rename to
1869         output_buffer_to_stream. Loses the stream parameter.
1870         (init_output_buffer): Set diagnosic_buffer's stream.
1871         (flush_diagnostic_buffer): Adjust.
1872         (default_print_error_function): Likewise.
1873         (finish_diagnostic): Likewise.
1874         (verbatim): Likewise.
1875
1876         * diagnostic.h (struct output_buffer): Add `stream' field.
1877         (output_buffer_attached_stream): New macro.
1878
1879 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
1880
1881         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
1882         check if either operand is divisible by C.
1883         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
1884         If type is signed, consider negative numbers as well.
1885
1886 2001-02-22  Richard Henderson  <rth@redhat.com>
1887
1888         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
1889         reach .text instead of gp-relative relocs.
1890         * config/ia64/crtend.asm (.init): Likewise.
1891
1892 2001-02-22  Andreas Jaeger  <aj@suse.de>
1893
1894         * extend.texi (C++ Attributes): Fix typo.
1895
1896 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
1897
1898         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
1899         functions, drop current_function_args_info.words test.
1900         (ia64_compute_frame_size): Mark syscall_linkage functions as
1901         using eight input registers.
1902
1903 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
1904         Bruce Korb  <bkorb@gnu.org>
1905
1906         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
1907         * fixinc/README: Document how to convert sed substitutions
1908         to format style c_fix-es.
1909         * fixinc/fixincl.x: regen
1910
1911 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
1912
1913         * gcc.c: Add comment explaining how to add a command-line option.
1914         Add title to specs language comment.
1915
1916 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
1917
1918         * gcc.c (cc1_options): Add "-param".
1919         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
1920         (option_map): Likewise.
1921         * toplev.c (display_help): Add entry for "--param".
1922         (independent_decode_option): Fix typographical error.
1923
1924 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
1925                               Bernd Schmidt  <bernds@redhat.com>
1926                               Jan Hubicka  <jh@suse.cz>
1927
1928         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
1929         (function_arg): Likewise.
1930
1931 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
1932
1933         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
1934
1935 2001-02-21  Kazu Hirata  <kazu@hxi.com>
1936
1937         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
1938         character.
1939         (xorsi3): Likewise.
1940
1941 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
1942
1943         * flow.c (init_propagate_block_info): Canon address and use single_set
1944         for killing dead memory stores.
1945
1946 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
1947
1948         * Makefile.in (reorg.o): Add params.h dependence.
1949         * params.def: Fix typographical error in comment.
1950         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
1951         * params.h: Modify introductory comment.
1952         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
1953         * reorg.c: Add dependence on params.h.
1954         (redundant_insn): Add parameterized throttle for search.
1955         (fill_simple_delay_slots): Add a comment explaining a variable.
1956         Move conditional out of loop, simplifying code.
1957         (fill_eager_delay_slots): Fix typographical error in comment.
1958
1959 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
1960
1961         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
1962
1963         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
1964         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
1965
1966 2001-02-21  Jason Merrill  <jason@redhat.com>
1967
1968         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
1969         (struct tree_decl): Add uninlinable bitfield.
1970         * c-decl.c (duplicate_decls): Set it.
1971         * integrate.c (function_cannot_inline_p): Check it.
1972
1973         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
1974         DW_AT_MIPS_linkage_name to abstract methods.
1975         (dwarf2out_abstract_function): Emit class context before calling
1976         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
1977         (gen_subprogram_die): Remove obsolete code.
1978         (gen_member_die): Don't include clones in the member list.
1979         (gen_decl_die): Emit abstract info for clone origin.
1980         * dwarfout.c (output_type): Don't include clones in the member list.
1981         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
1982         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
1983         DECL_ABSTRACT on a function that already has it set.
1984
1985         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
1986         (get_subprogram_die): Pass it in.
1987
1988 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
1989
1990         * flow.c (mark_set_1): Make not_dead unsigned long.  For
1991         non-pseudos, use it as a bitmask of the hard regs that
1992         don't die.
1993
1994 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
1995
1996         * cppfiles.c: Update comments.
1997         (_cpp_read_file): Don't check for NULL filenames any more.
1998         * cppinit.c (cpp_start_read): Don't do canonicalization of
1999         in_fname and out_fname.  Use the passed file name exclusively.
2000         (_cpp_handle_options): Don't treat "-" as a command line option,
2001         but as a normal filename.
2002         (_cpp_post_options): Canonicalize in_fname and out_fname.
2003         * cppmain.c (printer_init): Don't check out_fname for NULL.
2004         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
2005         (init_c_lex): Update, and use "" to represent stdin to CPP.
2006         (yyparse): Update.
2007
2008 2001-02-20  Will Cohen  <wcohen@redhat.com>
2009
2010         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
2011         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
2012         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
2013         fixunstfsi_libfunc.
2014
2015 2001-02-20  Stan Shebs  <shebs@apple.com>
2016
2017         * config/rs6000/rs6000.c (output_cbranch): Output branches
2018         on separate lines instead of using ';' to separate.
2019
2020 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
2021
2022         * cppinit.c (set_lang):  Move builtin handling to...
2023         (init_builtins): ...here.
2024         (_cpp_create_reader): Move call to set_lang.
2025
2026 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
2027
2028         * stmt.c (expand_return): If an attempt is made to return the
2029         error_mar_node, treat the return like a return without a value.
2030
2031 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
2032
2033         * sibcall.c (skip_copy_to_return_value): Call
2034         identify_call_return_value here, and return orig_insn if it
2035         returns zero.  Hardret and softret arguments now unnecessary.
2036         (call_ends_block_p): Don't call identify_call_return_value here.
2037
2038         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
2039         's' slots in RTXen.
2040         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
2041         * ggc.h (ggc_mark_if_gcable): Delete prototype.
2042
2043 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
2044
2045         * pa.c (move_operand): Accept code to load the address of a
2046         symbol out of the DLT as a valid move operand.
2047         (print_operand, case 'A'): New to handle generating a DLT
2048         reference for a LO_SUM expression.
2049         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
2050         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
2051
2052 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
2053
2054         * README, cpp.texi, gcc.texi, version.c: Update version number to
2055         3.1.
2056         * cpp.1, gcov.1, gcc.1: Regenerate.
2057
2058 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
2059
2060         * cppfiles.c (stack_include_file): Generate dependencies
2061         here, and manage include_count here too.
2062         (PRINT_THIS_DEP): Delete.
2063         (_cpp_execute_include): Do not generate dependencies here,
2064         apart from the case of a missing header.  Do not manage
2065         include_count.
2066         (_cpp_read_file): Leave dependency generation to
2067         stack_include_file.
2068
2069 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
2070
2071         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
2072         target_cpu_default.  Remove dead assignment to
2073         target_cpu_default.
2074
2075 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
2076
2077         * regclass.c (contains_reg_of_mode): Make global.
2078         (init_reg_sets): Remove contains_reg_of_mode; take into account
2079         CLASS_MAX_NREGS when looking for the proper mode.
2080         (dump_regclass): Dump only classes considered for the pseudo.
2081         (regclass): Use contains_reg_of_mode.
2082
2083 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
2084
2085         * gcc.c (do_spec_1): 'n' for printing notices.
2086         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
2087
2088 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
2089
2090         * reg-stack.c (next_flags_user): Use current_block->end
2091         (swap_rtx_condition): Look for next user if flags don't die;
2092         give up on CALL_INSNs; use current_block->end.
2093
2094 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2095
2096         * sibcall.c (call_ends_block_p): New function.
2097         (optimize_sibling_and_tail_recursive_call): Use it.
2098
2099 2001-02-18  Kazu Hirata  <kazu@hxi.com>
2100
2101         * config/h8300/h8300.md: Update copyright.
2102         (andsi3): Do not output an extra newline character.
2103
2104 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2105
2106         * toplev.c (note_deferral_of_defined_inlined_function): Argument
2107         FNDECL may be unused.
2108
2109         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
2110         follow jumps after first run.
2111         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
2112         it doesn't change any jumps.
2113
2114 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
2115
2116         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
2117         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
2118         (mostlyclean): Corresponding changes.
2119         * rtlanal.c (hard-reg-set.h): Include.
2120         (rtx_unstable_p): Do not treat the argument pointer specially
2121         if it is not a fixed register.
2122         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
2123
2124 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2125
2126         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
2127         against last real insn in basic block.
2128         Rework to avoid gotos.
2129
2130         * Makefile.in (gcse.o): Now includes ggc.h.
2131         * gcse.c: Include ggc.h.
2132         (want_to_gcse_p): Verify expression can be in SET as valid insn.
2133         (try_replace_reg): Remove warning of uninitialize variable.
2134         (process_insert_insn): Call invalid_insn_p to validate insn.
2135         * recog.c (insn_invalid_p): Now global.
2136         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
2137         * recog.h (insn_invalid_p): New declaration.
2138
2139         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
2140
2141         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
2142         assignments from FP constants since 'Y' output code can't handle it.
2143         (eligible_for_sibcall_delay): Likewise.
2144
2145         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
2146         Call fancy_abort directly, passing args.
2147         (print_rtl_and_abort): Now a macro, like fancy_abort.
2148
2149         * final.c (output_operand_lossage): Use internal_error, not error.
2150
2151 2001-02-18  Shane Nay  <shane@agendacomputing.com>
2152
2153         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
2154         structure shift insns.
2155
2156 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
2157
2158         * invoke.texi (-fsquangle): Remove documentation.
2159         (-fname-mangling-version): Likewise.
2160
2161 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
2162
2163         * optabs.c (expand_abs): Remove reference to
2164         HAVE_contitional_arithmetic.
2165         * combine.c (simplify_set): Likewise.
2166
2167 2001-02-18  Richard Henderson  <rth@redhat.com>
2168
2169         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
2170         would be disrupted.
2171
2172 2001-02-18  Richard Henderson  <rth@redhat.com>
2173
2174         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
2175
2176         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
2177
2178         * reload1.c (reload_cse_simplify_set): Fix typo.
2179
2180 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2181
2182         * diagnostic.c (_fatal_insn): Decrement errorcount.
2183
2184         * invoke.texi (-I): Add note avoiding use for system header files.
2185
2186         * rtl.h (add_clobbers): Remove duplicate declaration.
2187         * recog.h (added_clobbers_hard_reg_p): New declaration.
2188         * genemit.c (struct clobber_pat): New field has_hard_reg.
2189         (gen_insn): Record if added clobbers clobber hard reg.
2190         (gen_split): Avoid unused warning if number of operands is 0.
2191         (output_added_clobbers_hard_reg_p): New function.
2192         (main): Call it.
2193
2194 2001-02-18  Alan Modra <alan@linuxcare.com.au>
2195
2196         * pa.c (hppa_expand_prologue): Simplify code storing return
2197         pointer.  For large (>=8k) frames with a post_store, adjust stack
2198         pointer by 8k-64 first rather than by 64.  When testing with
2199         VAL_14_BITS_P, always use the actual value rather than the value
2200         negated.  Add blockage to prevent scheduling of spills before
2201         stack frame has been created.
2202         (hppa_expand_epilogue): Simplify code loading return pointer.
2203         Allow a slightly larger range for merge_sp_adjust_with_load case.
2204         When testing with VAL_14_BITS_P, always use the actual value.
2205
2206         * pa.c (pa_adjust_insn_length): Check that block move
2207         pattern is a set before looking at operands.
2208
2209 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
2210
2211         * fold-const.c (fold_binary_op_with_conditional_arg): New
2212         function, split out from ...
2213         (fold): ... here.
2214         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
2215         conditional arms that throw exceptions.
2216
2217         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
2218         looking at a BLOCK.
2219
2220 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2221
2222         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
2223         define HAVE_DECL_* to 1 to mask potential backup declarations.
2224         * configure: Regenerated.
2225
2226 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
2227
2228         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
2229
2230 2001-02-17  Richard Henderson  <rth@redhat.com>
2231
2232         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
2233         when replacing a memory load with a register.
2234
2235 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2236                           Jan Hubicka  <jh@suse.cz>
2237
2238         * recog.c (validate_replace_src_1): New.
2239         (validate_replace_src_data): Likewise.
2240         (validate_replace_src): Use note_uses.
2241         * rtl.h (note_uses): Declare.
2242         * rtlanal.c (note_uses): New.
2243
2244 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
2245
2246         * reg-stack.c (stack_def): Make field reg unsigned.
2247         (remove_regno_note): Unsignetize parameter.
2248
2249 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
2250
2251         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
2252         shladd_operand() call.
2253
2254 2001-02-16  Bruce Korb  <bkorb@gnu.org>
2255             Rodney Brown  <RodneyBrown@mynd.com>
2256
2257         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
2258         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
2259         machine restrictions
2260         * fixinc/fixincl.x: regen
2261
2262 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2263
2264         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
2265         Don't CSE a nop.
2266         (hash_scan_insn): Clean up calls to hash_scan_set.
2267         (compute_kill_rd): REGNO now unsigned.
2268         (try_replace_reg): Rework to use simplify_replace_rtx.
2269         (cprop_jump, cprop_cc0_jump): Likewise.
2270         (cprop_insn): Call find_reg_equal_equiv_note.
2271         Reflect changes to cprop_jump and cprop_cc0_jump.
2272
2273         * recog.c (validate_replace_src): Replace in operands of
2274         ZERO_EXTRACT in SET_DEST.
2275
2276         * cse.c (new_label_ref): New variable.
2277         (insert): Set it instead of recorded_label_ref.
2278         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
2279         CODE_LABEL for this function, and not already in REG_LABEL note.
2280
2281 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
2282
2283         * resource.c (mark_referenced_resources): Fix typo in introductory
2284         comment.
2285         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
2286         string constant.
2287
2288 2001-02-16  Jason Merrill  <jason@redhat.com>
2289
2290         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
2291         NULL.
2292         (gen_subprogram_die): Don't abort on seeing a second definition if
2293         the previous one was abstract.  Don't replace an abstract instance
2294         in the lookup table.
2295
2296         * dwarf2out.c (dwarf2out_abstract_function): Rename from
2297         gen_abstract_function.
2298         * dwarf2out.h: Declare it.
2299         * toplev.c (note_outlining_of_inline_function): New fn.
2300         * toplev.h: Declare it.
2301         * integrate.c (output_inline_function): Call it.
2302         * c-decl.c (duplicate_decls): Call it when redefining an extern
2303         inline.  Don't inline the new defn.
2304
2305         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
2306
2307 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2308
2309         * .gdbinit: Rename to gdbinit.in.
2310         * gdbinit.in: New file,
2311         * configure.in: Generate .gdbinit from gdbinit.in.
2312         * configure: Regenerated.
2313         * Makefile.in (distclean): Always remove .gdbinit.
2314
2315 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
2316
2317         * objc/objc-act.c (start_class): Register implemented_classes with
2318         GC.
2319
2320 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2321
2322         * cppfiles.c (_cpp_make_system_header): Generate a file
2323         change callback.
2324
2325 2001-02-15  Jim Meyering  <meyering@lucent.com>
2326
2327         * Makefile.in (install-common): Don't depend on installdirs here.
2328         Instead, make each of the lang.install-common targets (e.g.,
2329         c++.install-common in cp/Make-lang.in) depend on it.
2330         (install-driver): Depend on installdirs.
2331
2332 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2333
2334         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
2335
2336         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
2337         do in memory.
2338
2339 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
2340
2341         * invoke.texi (--param): Document.
2342
2343 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
2344
2345         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
2346
2347 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
2348
2349         * i386.md (extendsfdf2_2): Fix constraints.
2350
2351 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
2352
2353         * i386.md (fop_df_3 splitter): Fix operand number.
2354
2355 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
2356
2357         * invoke.texi (-mreg-alloc): Nuke.
2358         * i386.c (ix86_reg_alloc_order, regs_allocated,
2359         order_regs_for_local_alloc): Nuke.
2360         (override_options): Kill reg_alloc code.
2361         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
2362         (REG_ALLOC_ORDER): SSE goes before I387.
2363         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
2364         (ix86_reg_alloc_order): Likewise.
2365         * i386-protos.h (ix86_reg_alloc_order): Kill.
2366
2367 2001-02-14  Richard Henderson  <rth@redhat.com>
2368
2369         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
2370
2371 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
2372
2373         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
2374
2375 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
2376
2377         * i386-protos.h (ix86_memory_move_cost): Move offline.
2378         * i386.c (ix86_register_move_cost): Compute properly cost of
2379         SSE, MMX and i387 instructions.
2380         (*_cost): Add costs of SSE/MMX moves.
2381         (ix86_memory_move_cost): Move offline from ....; Likewise.
2382         * i386.h (MEMORY_MOVE_COST): .... here;
2383         (struct processor costs): Add new fields to represent costs
2384         of SSE/MMX moves.
2385
2386 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
2387
2388         * regclass.c (init_reg_sets_1): Reinstall the optimization of
2389         move_cost together with Matt Kraai's fix.
2390
2391 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
2392
2393         * Makefile.in (OBJS): Add params.o.
2394
2395 2001-02-14  Richard Henderson  <rth@redhat.com>
2396             DJ Delorie  <dj@redhat.com>
2397
2398         * jump.c (jump_optimize_1): When we delete a conditional jump
2399         preceeding a non-conditional jump to effectively the same place,
2400         make sure that the combined jump skips any clobber insns between
2401         the two labels.
2402
2403 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
2404
2405         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
2406
2407 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
2408
2409         * Makefile.in (toplev.o): Depend on params.h.
2410         (intergate.o): Likewise.
2411         (params.o): New target.
2412         * flags.h (inline_max_insns): Remove.
2413         * integrate.c: Include params.h.
2414         Use MAX_INLINE_INSNS instead of inline_max_insns.
2415         * params.c: New file.
2416         * params.h: Likewise.
2417         * params.def: Likewise.
2418         * toplev.c: Include params.h.
2419         (lang_independent_params): New variable.
2420         (decode_f_option): Use the param machinery instead of setting
2421         max_inline_insns.
2422         (independent_decode_option): Handle "--param name=value".
2423         (main): Register language-independent parameters.
2424
2425 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
2426
2427         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
2428
2429 2001-02-14  Richard Henderson  <rth@redhat.com>
2430
2431         * regclass.c (init_reg_sets_1): Revert last two changes.
2432
2433 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
2434
2435         * stor-layout.c (is_pending_size, put_pending_size): New functions.
2436         (variable_size): Call put_pending_size.
2437         * tree.h (is_pending_size, put_pending_size): Add prototypes.
2438         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
2439         sizes list, put newly created SAVE_EXPR there as well.
2440
2441 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
2442
2443         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
2444         (errata_find_address_regs): load_group has only 2 entries.
2445         (errata_emit_nops): Likewise.  shladd is not problematic.
2446         Clear last_group if nop was emitted.
2447         (fixup_errata): load_group has only 2 entries.
2448         Optimize.
2449
2450 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
2451
2452         * c-lex.c (lex_number): Only warn traditionally for U suffix
2453         outside system macros.
2454         * cppexp.c (parse_number): Similarly.
2455         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
2456         * cppmacro.c (struct cpp_macro): New member node.
2457         (parse_args): Only warn about missing rest args if not
2458         a system macro.
2459         (funlike_invocation_p): Similarly for uninvoked funlike macros.
2460         (cpp_sys_objmacro_p): New.
2461         (_cpp_create_definition): Store the node with the macro defn.
2462         Remember if the macro is defined in a system header.
2463
2464 2001-02-13  DJ Delorie  <dj@redhat.com>
2465
2466         * configure.in (check_languages): determine languages to check
2467         * Makefile.in (check-c++): alias for check-g++
2468         (check-f77): alias for check-g77
2469         (CHECK_TARGETS): depend on configured languages
2470
2471 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
2472
2473         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
2474         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
2475         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
2476         (sqrtextendsfdf2): Disable for SSE2.
2477
2478 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
2479
2480         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
2481         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
2482         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
2483         (sqrtextendsfdf2): Disable for SSE2.
2484
2485 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
2486
2487         * i386.md (movsfcc_1): Support integer cmove instruction.
2488         (movdfcc_1): Likewise; new splitter.
2489
2490 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
2491
2492         * i386.c (output_fp_compare): Support SSE.
2493         (prepare_fp_compare_args): SSE comparisons always support memory.
2494         * i386.h (TARGET_CMOVE): SSE imply cmove.
2495         * i386.md (cmp?f2): Enable for SSE too.
2496         (cmpfp_i*): Support SSE.
2497         (cmpfp_i_sse): New.
2498         (cmpfp_i_sse_only): New.
2499         (s*, b* fp expanters): Enable for SSE too.
2500         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
2501         New patterns.
2502
2503 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
2504
2505         * regclass.c (init_reg_sets_1): Silence warning.
2506
2507 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
2508
2509         * i386.md (sqrt?f2): Change to expander.
2510         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
2511
2512 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2513
2514         * rtlanal.c (find_reg_equal_equiv_note): New function.
2515         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
2516         (simplify_gen_relational, simplify_replace_rtx): Likewise.
2517         * rtl.h: Add declarations for above functions.
2518
2519 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
2520
2521         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
2522         conditionals.
2523         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
2524         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
2525         * flow.c (mark_regs_live_at_end): Likewise.
2526         (calculate_global_regs_live): Likewise.
2527         * gcse.c (compute_hash_table): Likewise.
2528         (compute_kill_rd): Likewise.
2529         * resource.c (mark_target_live_regs): Likewise.
2530         * rtl.h (INVALID_REGNUM): New macro.
2531
2532 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
2533
2534         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
2535
2536 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
2537
2538         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
2539         for SSE.
2540
2541 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
2542
2543         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
2544         too.
2545         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
2546         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
2547         (fop_sf_1_sse, fop_df_1_sse): New patterns
2548         (fop_*): Disable float_extend and float patterns for SSE compilation.
2549         * i386.c (output_387_binary_op): Support SSE.
2550
2551 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
2552
2553         * i386.md (dummy_extendsfdf2): Support SSE2
2554         (extendsfdf2): Enable if 80387 or SSE2.
2555         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
2556         and no MIX_I387_SSE2
2557         (extendsfdf2_1_sse_only): New pattern.
2558         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
2559         of SSE.
2560         (truncdfsf2_1): Support SSE.
2561         (truncdfsf2_2): Support SSE.
2562         (truncdfsf2_2_1_sse): New pattern.
2563         (fixtruncsfsi2): Always use SSE if available.
2564         (fix_truncsfsi_sse): New pattern.
2565         (fix_truncdfsi_sse): New pattern.
2566         (floatsis?f2): Support SSE.
2567         (floatsidf2_i387): New pattern.
2568         (floatsidf2_sse): Likewise.
2569
2570 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2571
2572         * configure.in: Use "have_gnat" variable, not "gnat".
2573         * configure: Regenerated.
2574
2575         * config/sparc/sparc.c (function_value): Treat all non-record
2576         aggregate types like used to treat UNION_TYPE.
2577
2578 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
2579
2580         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
2581         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
2582         (MASK_SSE2): New.
2583         (MASK_MIX_SSE_I387): New.
2584         (TARGET_SSE): SSE2 imply SSE.
2585         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
2586         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
2587         (enum reg_class): Add new classes.
2588         (REG_CLASS_NAMES): Likewise.
2589         (REG_CLASS_CONTENTS): Likewise.
2590         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
2591         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
2592         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
2593         (CLASS_MAX_NREGS): Use new macros.
2594         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
2595         * i386.md (pushsf, movsf): Support SSE.
2596         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
2597         splitters to use ANY_FP_REGNO_P.
2598         (movdf_nointeger, movdf_integer): Likewise.
2599
2600 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
2601
2602         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
2603         (try_combine): Use it.
2604
2605 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
2606
2607         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
2608         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
2609         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
2610         (REGISTER_MOVE_COST): Likewise.
2611         * i386-protos.h (ix86_secondary_memory_needed,
2612         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
2613         * i386.c (ix86_secondary_memory_needed,
2614         ix86_preferred_reload_class, ix86_register_move_cost): New function.
2615
2616 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
2617
2618         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
2619         (HARD_REGNO_MODE_OK): Move offline to ....
2620         * i386.c (ix86_hard_regno_mode_ok) ... here;
2621         refuse all incorrect modes.
2622         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
2623
2624 2001-02-13  Richard Henderson  <rth@redhat.com>
2625
2626         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
2627         entire operator; replicate that and match_dup the operands.
2628         (cmp_ccx_arith_op_set): Likewise.
2629         (cmp_cc_arith_op_not_set): Likewise.
2630         (cmp_ccx_arith_op_not_set): Likewise.
2631
2632 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
2633
2634         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
2635
2636 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
2637
2638         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
2639         (TARGET_NO_BITFIELD_WORD): New macro.
2640         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
2641         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
2642
2643 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2644
2645         * cselib.c: New file, from simplify-rtx.c.
2646         * simplify-rtx.c: Remove cselib parts.
2647         * Makefile.in: Add cselib.o.
2648
2649 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
2650
2651         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
2652         (setup_incoming_varargs): Remove warning.
2653
2654         * config/rs6000/rs6000.c (validate_condition_mode): When
2655         flag_fast_math, allow floating-point conditionals to be reversed.
2656         (rs6000_generate_compare): When flag_fast_math, don't generate
2657         cror operations for FP conditionals.
2658
2659         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
2660         -mcall-i960.
2661         (ASM_SPEC): Likewise.
2662         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
2663         (CC1_SPEC): Likewise.
2664         (LINK_TARGET_SPEC): Likewise.
2665         (CPP_ENDIAN_SPEC): Likewise.
2666         * Makefile.in (check-consistency): New target.
2667
2668 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
2669
2670         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
2671         "return type defaults" warning for functions with return type
2672         defaulting to int.
2673         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
2674         function declarations by default rather than only when pedantic.
2675
2676 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
2677
2678         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
2679         arrays.
2680
2681 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
2682
2683         * extend.texi (Deprecated): Deprecate new initializer lists.
2684
2685 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
2686
2687         * mkdeps.c (deps_add_default_target): Robustify. Add
2688         basename component only.
2689         * cpp.texi (-M): Describe how default target is generated.
2690         * invoke.texi (-M): Likewise.
2691
2692 2001-02-12  Kazu Hirata  <kazu@hxi.com>
2693
2694         * toplev.c (push_float_handler): Remove.
2695         (pop_float_handler): Remove.
2696         * toplev.h: Remove prototypes for the above functions.
2697
2698 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
2699
2700         * c-common.c (constant_fits_type_p): New function.
2701         (convert_and_check): Use it.
2702
2703 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
2704
2705         * Makefile.in (GXX_ABI_FLAG): Don't define.
2706         * configure.in (--enable-new-gxx-abi): Remove option.
2707         * config.in: Regenerated.
2708         * configure: Likewise.
2709
2710 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
2711
2712         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
2713         basic block.
2714         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
2715         regular basic block, and arrange for all edges into it to switch
2716         to normal mode.
2717
2718 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2719
2720         * Makefile.in (distclean): Do not remove .gdbinit.
2721
2722 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
2723
2724         * Makefile.in (gcc.o): Fix typos.
2725         (protize.o): Likewise.
2726         (unprotoize.o): Likewise.
2727
2728 2001-02-11  Richard Henderson  <rth@redhat.com>
2729
2730         * tree.c (build1): Check for null operand in last change.
2731
2732 2001-02-11  Richard Henderson  <rth@redhat.com>
2733
2734         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
2735         (fold): Don't assume a constant isn't foldable.
2736         * tree.c (build): Set TREE_CONSTANT for an expression with no
2737         side-effects and constant operands.
2738         (build1): Likewise.
2739
2740 2001-02-10  Richard Henderson  <rth@redhat.com>
2741
2742         * jump.c (squeeze_notes): Revert 2000-05-12 change.
2743
2744 2001-02-10  Anthony Green  <green@redhat.com>
2745
2746         * cpp.texi (Standard Predefined): Add documentation for
2747         __OPTIMIZE_SIZE__.
2748
2749         * c-common.c (combine_strings): Improve warning message.
2750
2751 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
2752
2753         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
2754         --oformat.
2755         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
2756
2757 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
2758
2759         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
2760         CYGWIN_CROSS_DIR.
2761
2762 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
2763
2764         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
2765         fp_mode attribute.
2766
2767 2001-02-09  Nick Clifton  <nickc@redhat.com>
2768
2769         * config/arm/arm.md: Change output contraint on post inc
2770         load/store multiple patterns to be a read/write contraint.
2771
2772 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
2773
2774         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
2775         .o files when using the -M options.
2776
2777 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2778             David Edelsohn  <edelsohn@gnu.org>
2779
2780         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
2781         handle DImode constants.  Use one TOC entry for SImode and smaller
2782         constants, aligned properly.
2783
2784 2001-02-08  Jason Merrill  <jason@redhat.com>
2785
2786         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
2787         about the SP adjustment for saving the static chain pointer.
2788         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
2789         offset when setting a temporary CFA register.
2790
2791 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
2792
2793         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
2794         powerpc-*-chorusos* .
2795         * config/rs6000/chorus.h : New file.
2796         * config/i386/chorus.h : New file.
2797         * config/sparc/chorus.h : New file.
2798         * config/sparc/t-chorus-elf : New file.
2799
2800 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
2801
2802         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
2803         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
2804         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
2805         (__WCHAR_TYPE__): Correct macro name.
2806
2807 2001-02-08  Richard Henderson  <rth@redhat.com>
2808
2809         * config/i386/i386.c (ix86_frame_pointer_required): New.
2810         (ix86_setup_frame_addresses): New.
2811         (struct machine_funciton): Add accesses_prev_frame.
2812         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
2813         ix86_frame_pointer_required.
2814         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
2815         (SETUP_FRAME_ADDRESSES): New.
2816         * config/i386/i386-protos.h: Update.
2817         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
2818         from FRAME_POINTER_REQUIRED.
2819         * config/i386/svr3gas.h: Likewise.
2820         * config/i386/sysv3.h: Likewise.
2821         * config/i386/v3gas.h: Likewise.
2822
2823 2001-02-08  Richard Henderson  <rth@redhat.com>
2824
2825         * config/sparc/sparc.c (function_arg_record_value_3): Fix
2826         calculation of the number of integer registers required.
2827         (function_arg_record_value): Likewise.
2828
2829 2001-02-08  Jason Merrill  <jason@redhat.com>
2830
2831         * diagnostic.c (internal_error): Say "confused" after 1 error, not
2832         two.  Print file and line with "confused" message.
2833
2834         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
2835
2836 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2837
2838         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
2839
2840 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
2841
2842         * final.c (cleanup_subreg_operands): The address of a MEM can
2843         contain SUBREGs.
2844
2845         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
2846         for asms, too.
2847
2848 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
2849
2850         * gcc.texi (Incompatibilities): Update documentation of
2851         preprocessing numbers.
2852
2853 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
2854
2855         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
2856
2857 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
2858
2859         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
2860
2861         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
2862         * gcc.c (struct compiler): Add cpp_spec field.
2863         (input_file_compiler): New variable.
2864         (do_spec_1): Allow a particular compiler to handle `%C'
2865         specially.
2866         (main): Store the current compiler in input_file_compiler.
2867         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
2868
2869 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
2870
2871         * cpphash.h (struct spec_nodes): Add n_true and n_false.
2872         * cppinit.c (cpp_create_reader): Initialize them.
2873         (append_include_chain): cxx_aware arg might be unused.
2874         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
2875         keywords and give them their phase 7 meaning.  Pedwarn about
2876         this unless '__bool_true_false_are_defined' is defined.
2877
2878 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
2879
2880         * lcm.c (optimize_mode_switching): Emit mode_set before the
2881         JUMP_INSN of an abnormal edge.
2882
2883 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
2884
2885         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
2886         a scheduling barrier at the end.
2887
2888         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
2889
2890 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
2891
2892         * config/sh/sh.md (reload_outsf): Removed.
2893         (movsf_ie): Introduce constraints for FPUL loads and stores.
2894         (reload_insf): Broaden the output constraint.
2895
2896         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
2897         defined.
2898         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
2899         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
2900
2901 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
2902
2903         * final.c: Revert my previous changes.
2904         * output.h: Make profile_label_no extern.
2905         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
2906         for generating label.
2907
2908 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
2909
2910         * config/i386/djgpp.h: Add comments about standard paths.
2911         (MD_EXEC_PREFIX): Undefine before defining.
2912         (MD_STARTFILE_PREFIX): New.
2913
2914 2001-01-30  Bruce Korb  <bkorb@gnu.org>
2915
2916         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
2917         (load_file): do not rely on load_file_data() to close file pointer
2918         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
2919         fixinc/inclhack.def(irix_limits_const): add test_text
2920
2921 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2922
2923         * cppexp.c (parse_defined): Improve diagnostics for invalid
2924         syntax.
2925
2926 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2927
2928         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
2929
2930 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
2931
2932         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
2933         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
2934         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
2935         (rs6000_output_symbol_ref): New function.
2936         (output_toc): Use VTABLE_NAME_P.
2937
2938 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2939
2940         * print-tree.c (print_node, case PARM_DECL):
2941         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
2942
2943         * stor-layout.c (reference_types_internal): New variable.
2944         (internal_reference_types): New function.
2945         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
2946         * tree.h (internal_reference_types): New declaration.
2947
2948         * cse.c (find_best_addr): Fix typo in computing cost.
2949
2950 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2951
2952         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
2953         and this is the sum of a pointer and a constant, we know the result
2954         did not overflow.
2955         (num_sign_bit_copies, case PLUS): Likewise.
2956         * explow.c (convert_memory_address): Remove opposite SUBREG.
2957         * function.c (instantiate_new_reg): New function (from common code).
2958         (instantiate_virtual_regs_1): Call it.
2959         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
2960         if pointers sign- or zero-extend.
2961         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
2962         If pointers extend unsigned, use inside of SUBREG.
2963         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
2964
2965 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
2966
2967         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
2968         subdir of gcc_gxx_include_dir.
2969         (gcc_gxx_target_include_dir): Remove.
2970
2971 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
2972
2973         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
2974         (dwarf2out_frame_debug_expr): Revise introductory comments to add
2975         a high-level description.
2976
2977 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
2978
2979         * final.c: Move the declaration of profile_label_no to ...
2980         * output.h: ... here.
2981         * function.c (expand_function_start): Call PROFILE_HOOK.
2982         * config/rs6000/aix.h: Define PROFILE_HOOK.
2983         * config/rs6000/rs6000-protos.h: output_profile_hook new.
2984         * config/rs6000/rs6000.c (output_profile_hook): Define.
2985         (output_prolog): Do nothing for ABI_AIX as it is taken care by
2986         output_profile_hook.
2987         tm.texi : Explain new macro PROFILE_HOOK.
2988
2989 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
2990
2991         * extend.texi (Extended Asm): Do not say that semicolon is always
2992         a valid line-breaking character for GNU assemblers.  Use
2993         newline-tab as the most commonly supported syntax.  Use
2994         newline-tab rather than semicolon in multi-insn examples.
2995
2996 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2997
2998         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
2999
3000 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3001             David Edelsohn  <edelsohn@gnu.org>
3002
3003         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
3004         code for AIX, even without flag_pic.
3005
3006 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
3007
3008         * c-typeck.c (common_type): push and pop binding level around
3009         calling common_type on function parameters.
3010
3011 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
3012
3013         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
3014
3015 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3016
3017         * config/mips/mips.c (override_options): Fix typo in last change.
3018         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
3019         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
3020
3021 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
3022
3023         * invoke.texi (-fdump-class-layout): Document.
3024         (-fdump-translation-unit): Use `=' as filename separator.
3025
3026 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
3027
3028         * Makefile.in (s-mlib): Don't build multilibs if
3029         --disable-multilib.
3030         (DRIVER_DEFINES): Adjust accordingly.
3031         (gcc.o): Likewise.
3032         (protoize.o): Likewise.
3033         (unprotoize.o): Likewise.
3034         * configure.in: Recognize --enable-multilib.
3035
3036 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
3037
3038         * Makefile.in (DRIVER_DEFINES): Fix quoting.
3039
3040         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
3041         * configure.in: Remove --enable-libstdcxx_v3 support.
3042         * configure: Regenerated.
3043
3044 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3045
3046         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
3047         Call abort instead of fatal.
3048         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
3049         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
3050         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
3051         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
3052         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
3053         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
3054
3055         * diagnostic.h (set_internal_error_function): Renamed.
3056         * toplev.h (internal_error): Renamed from fatal.
3057         (pfatal_with_name): Deleted.
3058         (fatal_io_error): Now has printf-style arguments.
3059         * diagnostic.c (pfatal_with_name): Deleted.
3060         (fatal_io_error): Rework to have args in printf-style.
3061         (set_internal_error_function): Renamed from set_fatal_function.
3062         (internal_error): Renamed from fatal.
3063         (error_recursion, fancy_abort): Call internal_error instead of fatal.
3064         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
3065         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
3066         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
3067         * flow.c (verify_flow_info): Likewise.
3068         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
3069         * config/mips/mips.c (save_restore_insns): Likewise.
3070
3071         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
3072         * flow.c (verify_flow_info): Likewise.
3073         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
3074         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
3075         (avr_normalize_condition): Likewise.
3076         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
3077         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
3078         (limit_reload_class, double_reg_to_memory): Likewise.
3079         (print_operand_address, emit_1600_code_shift): Likewise.
3080         (gen_tst_reg, gen_compare_reg): Likewise.
3081         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
3082         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
3083         Deleted.
3084         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
3085
3086         * c-parse.in (methoddef): Call fatal_error instead of fatal.
3087         * objc/objc-act.c (build_ivar_chain): Likewise.
3088         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
3089         pfatal_with_name.
3090         * graph.c (clean_graph_dump_file): Likewise.
3091         * profile.c (init_branch_prob): Likewise.
3092         * objc/objc-act.c (objc_init): Likewise.
3093
3094         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
3095         * config/avr/avr.c (avr_override_options): Likewise.
3096         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
3097         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
3098         * config/h8300/h8300.c (h8300_init_once): Likewise.
3099         * config/mips/mips.c (override_options): Likewise.
3100         * config/i386/i386.c (override_options): Likewise, rework.
3101         * config/m68k/m68k.c (override_options): Likewise.
3102
3103         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
3104         instead of fatal.
3105         * config/mips/mips.c (print_operand): Likewise.
3106         * hash.c (hash_allocate): Don't check for failure returns from
3107         obstack functions that can't fail.
3108         (hash_table_init_n, hash_table_init): Likewise; also now return void.
3109         * hash.h (hash_table_init_n, hash_table_init): Now return void.
3110         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
3111         (get_object_reference): Likewise.
3112
3113 2001-02-04  Nick Clifton  <nickc@redhat.com>
3114
3115         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
3116         StrongARM1110, 10TDMI, and 1020T.
3117
3118 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3119
3120         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
3121
3122 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
3123
3124         * config/sh/sh.md (movdf load split): Pass register number to
3125         FP_OR_XD_REGISTER_P.
3126
3127 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
3128
3129         * cppinit.c (BC): New macro.
3130         (builtin_array): Add __GXX_WEAK__.
3131         * cpplib.h (builtin_type): Add BT_WEAK.
3132         * cppmacro.c (builtin_macro): Handle BT_WEAK.
3133         * defaults.h (SUPPORTS_ONE_ONLY): Define.
3134         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
3135
3136 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
3137
3138         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
3139
3140 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3141
3142         * cpphash.h: Rename _ALIGN POOL_ALIGN.
3143         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
3144
3145 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3146
3147         * cpphash.h: Rename ALIGN _ALIGN.
3148         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
3149
3150 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
3151
3152         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
3153         compilation environment.
3154         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
3155         control over location of cygwin includes and libs.
3156
3157 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
3158
3159         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
3160
3161 2001-02-02  lars brinkhoff  <lars@nocrew.org>
3162
3163         * md.texi (Standard Names): remove reference to spur.md.
3164
3165 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
3166
3167         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
3168         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
3169         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
3170         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
3171         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
3172
3173 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3174
3175         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
3176         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
3177         number before reload.
3178         (c4x_adjust_cost): Return zero before reload.
3179         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
3180         split before reload.
3181
3182 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3183
3184         * c4x.c (c4x_hard_regno_rename_ok): New.
3185         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
3186         * c4x.h (HARD_REGNO_RENAME_OK): Define.
3187
3188 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3189
3190         * diagnostic.h: Add missing "extern" in all declarations.
3191
3192 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
3193
3194         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
3195         as for gcc_gxx_include_dir.
3196
3197 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3198
3199         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
3200
3201 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
3202
3203         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
3204         label before alignment to be used as the braf base address.
3205         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
3206         branches.
3207         (casesi_jump_2): Require at least TARGET_SH2.
3208
3209         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
3210         truncation to 32-bit doubles on -m3e and -m4-single-only.
3211
3212 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
3213
3214         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
3215         the default when building a shared object.
3216         (init_spec): Use it.
3217         * testsuite/lib/g++.exp: Include the directory where libgcc
3218         is located to the LD_LIBRARY_PATH list.
3219         * invoke.texi (-shared-libgcc): Document the cases in which
3220         GCC defaults to using the shared libgcc.
3221
3222 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
3223
3224         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
3225         unsigned is wide enough.
3226         (BITS_PER_SI): New.
3227         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
3228         (si_to_float): Likewise.
3229         (float_to_si, float_to_usi): Use BITS_PER_SI.
3230
3231 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
3232
3233         * dwarf2out.c: Added explanation of abbreviations.
3234         (def_cfa_1): Added comments listing DWARF2 instructions.
3235         (cfa_temp_reg): Removed in favor of cfa_temp.
3236         (cfa_temp_value): Removed in favor of cfa_temp.
3237         (cfa_temp): New global variable.
3238         (dwarf2out_frame_debug_expr): Added extensive introductory
3239         comments explaining the function's transformations.  Revised to
3240         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
3241         (dwarf2out_frame_debug): Revised to use cfa_temp.
3242         (output_aranges): Cast as "unsigned" to avoid warning.
3243         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
3244         explain which instructions must be marked.
3245
3246 2001-02-01  Richard Henderson  <rth@redhat.com>
3247
3248         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
3249         new instruction.
3250
3251 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
3252
3253         * config/sh/crt1.asm (main_k): Modified so that start calls
3254         ___setup_argv_and_call_main.
3255
3256 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3257
3258         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
3259         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
3260         and AVOID_LPASTE is cleared on meeting an unescaped newline.
3261         * cppmacro.c (builtin_macro): Set builtin flags here.
3262         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
3263         (replace_args): Clarify intent.
3264         (cpp_get_token): Macro expansion tokens get the saved flags.
3265         Update.
3266         * cppmain.c (scan_buffer): Remove now-redundant print.printed
3267         check.
3268
3269 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
3270
3271         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
3272         2001-Jan-29.
3273
3274 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3275
3276         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
3277         returns Pmode pseudo, but we need ptr_mode.
3278         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
3279         Remove bogus conversions; use HOST_WIDE_INT for size.
3280         Don't use TARGET if wrong mode.
3281
3282         * config/i386/i386.c (ix86_compute_frame_size): Allow
3283         stack_alignment_needed to be non-default even if size is zero.
3284
3285 2001-01-31  Alan Modra <alan@linuxcare.com.au>
3286
3287         * (hppa_init_pic_save): Emit the pic offset table
3288         reg save after last_parm_insn.
3289         * pa.c (hppa_init_pic_save): New function.
3290         * pa.h (hppa_init_pic_save): Declare.
3291         * pa.md (call, call_value, sibcall, sibcall_value): Use
3292         the above instead of duplicated code.
3293
3294         * pa.c (hppa_encode_label): Correct size of alloca buffer
3295         so we don't overrun it.  Correct leading `*' case.
3296         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
3297         need to handle `*@'.
3298         (FUNCTION_NAME_P): Likewise.
3299
3300 2001-01-31  Richard Henderson  <rth@redhat.com>
3301
3302         * config.gcc (alpha-osf5): Use float-i128.h.
3303
3304         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
3305         * config/float-i32.h: Likewise.
3306         * config/float-i64.h: Likewise.
3307         * config/float-sh.h: Likewise.
3308         * config/float-sparc.h: Likewise.
3309
3310 2001-01-31  DJ Delorie  <dj@redhat.com>
3311
3312         * expmed.c (extract_bit_field): allow non-integral modes if we
3313         want to extract a whole register from itself.
3314
3315 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
3316
3317         * c-typeck.c (set_init_index): If first is equal to last, assume as
3318         if it was not a range at all.
3319
3320 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
3321
3322         * config/fp-bit.c: Include tm.h.
3323         (float_to_si): Don't assume SImode is 32-bits wide.
3324         (float_to_usi): Likewise.
3325
3326 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
3327
3328         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
3329         incomplete type.
3330         (typename): Call pending_xref_error after parsing typed_typespecs.
3331         * c-decl.c (lookup_tag): Give error immediately rather than
3332         leaving it pending if the tag of the wrong type is in the same
3333         binding level.
3334         (xref_tag): Don't pedwarn for forward declarations of enum types
3335         here.
3336         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
3337         and enum tags.
3338
3339 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
3340
3341         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
3342
3343 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
3344
3345         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
3346         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
3347
3348 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
3349
3350         * cpphash.h (struct cpp_reader): New saved_flags.
3351         * cppmacro.c (cpp_get_token): Use saved_flags to remember
3352         to avoid a paste after a pasted token.
3353
3354 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
3355
3356         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
3357         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
3358         Wtype_MIN instead of LONG_MIN.
3359
3360 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
3361
3362         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
3363         README file.
3364         * fixinc/fixincl.x: Regenerated.
3365         * fixinc/inclhack.def (irix_limits_const): New definition to
3366         convert "const" to "__const" in limits.h.
3367
3368 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
3369
3370         * fixinc/genfixes (AG): Fix "autogen4" thinko.
3371
3372 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
3373
3374         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
3375         when register dies in the insn.
3376
3377 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
3378
3379         * diagnostic.c (fatal): Fix word wrap.
3380
3381 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
3382
3383         * combine.c (try_combine): Fix SUBREG setting for
3384         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
3385
3386 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3387
3388         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
3389         comparison codes.
3390
3391 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
3392
3393         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
3394         is not NULL.
3395         * toplev.c (decode_W_option): Update warn_larger_than
3396         unconditionally for each processed switch.
3397
3398 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3399
3400         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
3401         to NULL_RTX.
3402         (hppa_expand_prologue): Delete code to save pic offset table register
3403         in the function prologue.
3404         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
3405         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
3406         table register at the beginning of the function after the prologue.
3407
3408 2001-01-29  lars brinkhoff  <lars@nocrew.org>
3409
3410         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
3411
3412 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3413             Jeff Law <law@redhat.com>
3414
3415         * pa.md (return): Revise comment for trivial return.
3416         (return_internal): Non-trivial return pattern for non-PIC code.
3417         (return_internal_pic): Non-trivial return pattern for PIC code.
3418         It uses the PIC register to ensure it is restored after
3419         function calls.
3420         (epilogue): Generate appropriate return for PIC and non-PIC code.
3421
3422 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
3423
3424         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
3425
3426 2001-01-29  DJ Delorie  <dj@redhat.com>
3427
3428         * combine.c (if_then_else_cond): Pass the correct mode to
3429         operand_subword() for constants.
3430
3431 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
3432
3433         * config/i386/cygwin.h: Add w32api to include search.  Search different
3434         directories in a cross-build environment.
3435
3436 2001-11-29  Tim Josling  <tej@melbpc.org.au>
3437
3438         * tree.h (TYPE_STUB_DECL): Add documentation.
3439
3440 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
3441
3442         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
3443         (sdbout_field_types): Likwise.  Fix use of host_integerp.
3444
3445 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
3446
3447         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
3448         cygwin.h.
3449
3450 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
3451
3452         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
3453         to use flag_gnu_linker.
3454
3455 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
3456
3457         * cpplib.c (T_BAD_DIRECTIVE): Remove.
3458         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
3459
3460 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
3461
3462         * tree.c, tree.h (build_parse_node): Remove; was identical to
3463         build_nt.
3464         * c-lang.c (start_cdtor), objc/objc-act.c
3465         (build_module_descriptor): Use build_nt instead of
3466         build_parse_node.