OSDN Git Service

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