OSDN Git Service

* ginclude/varargs.h: Replace with stub which issues #error.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
2
3         * ginclude/varargs.h: Replace with stub which issues #error.
4         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
5         __builtin_va_start.
6
7         * builtins.def (BUILT_IN_VARARGS_START): Delete.
8         (BUILT_IN_VA_START): New.
9         * builtins.c (expand_builtin_va_start): Eliminate first
10         argument and code to implement pre-ISO varargs.
11         (std_expand_builtin_va_start): Ignore first argument; it is
12         always 1.
13         (expand_builtin): Handle BUILT_IN_VA_START and
14         BUILT_IN_STDARG_START identically.  Delete
15         BUILT_IN_VARARGS_START case.
16
17         * function.c (assign_parms): Delete hide_last_arg and all
18         its uses.
19         (mark_varargs): Delete function.
20         * function.h (struct function): Delete 'varargs' bit.
21         (current_function_varargs): Delete macro.
22         * tree.h: Don't declare mark_varargs.
23
24         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
25         (c_expand_body): Don't call mark_varargs.
26         * c-objc-common.c: Handle BUILT_IN_VA_START and
27         BUILT_IN_STDARG_START identically.  Delete
28         BUILT_IN_VARARGS_START case.
29         * c-tree.h: Don't declare c_mark_varargs.
30         * c-parse.in: Remove grammar rules for '&...' (which has been
31         commented out since before 2.7.2) and for '...' in K+R
32         argument declarations.
33
34         * builtins.c, function.c, integrate.c, sibcall.c,
35         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
36         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
37         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
38         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
39         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
40         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
41         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
42         config/stormy16/stormy16.c: Delete all references to
43         current_function_varargs, and code predicated on that flag.
44
45         * config/alpha/alpha.c (alpha_va_start),
46         config/arc/arc.c (arc_va_start),
47         config/i386/i386.c (ix86_va_start),
48         config/mips/mips.c (mips_va_start),
49         config/mn10300/mn10300.c (mn10300_va_start),
50         config/rs6000/rs6000.c (rs6000_va_start),
51         config/s390/s390.c (s390_va_start),
52         config/sh/sh.c (sh_va_start),
53         Ignore first argument; it is always 1.
54
55         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
56         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
57         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
58         Delete m68hc11_va_start.
59         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
60         No need to define EXPAND_BUILTIN_VA_START.
61
62         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
63         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
64
65 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
66
67         PR optimization/7153
68         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
69         dies in more than one insn.
70
71 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
72
73         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
74
75 2002-07-15  Michael Matz  <matz@suse.de>,
76             Daniel Berlin  <dberlin@dberlin.org>,
77             Denis Chertykov  <denisc@overta.ru>
78
79         Add a new register allocator.
80
81         * ra.c: New file.
82         * ra.h: New file.
83         * ra-build.c: New file.
84         * ra-colorize.c: New file.
85         * ra-debug.c: New file.
86         * ra-rewrite.c: New file.
87
88         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
89         (ra-rewrite.o): New .o files for libbackend.a.
90         (GTFILES): Add basic-block.h.
91
92         * toplev.c (flag_new_regalloc): New.
93         (f_options): New option "new-ra".
94         (rest_of_compilation): Call initialize_uninitialized_subregs()
95         only for the old allocator.  If flag_new_regalloc is set, call
96         new allocator, instead of local_alloc(), global_alloc() and
97         friends.
98
99         * doc/invoke.texi: Document -fnew-ra.
100         * basic-block.h (FOR_ALL_BB): New.
101         * config/rs6000/rs6000.c (print_operand): Write small constants
102         as @l+80.
103
104         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
105         (df_reg_table_realloc): Make size at least as large as max_reg_num().
106         (df_insn_table_realloc): Size argument now is absolute, not relative.
107         Changed all callers.
108
109         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
110         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
111
112         2002-06-20  Michael Matz  <matz@suse.de>
113
114         * df.h (struct ref.id): Make unsigned.
115         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
116
117         2002-06-13  Michael Matz  <matz@suse.de>
118
119         * df.h (DF_REF_MODE_CHANGE): New flag.
120         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
121         involving subregs with invalid mode changes, when
122         CLASS_CANNOT_CHANGE_MODE is defined.
123
124         2002-05-07  Michael Matz  <matz@suse.de>
125
126         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
127
128         2002-05-03  Michael Matz  <matz@suse.de>
129
130         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
131
132         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
133
134         * regclass.c (regclass): Work with all regs which have sets or
135         refs.
136         (reg_scan_mark_refs): Count regs inside (clobber ...).
137
138         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
139
140         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
141         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
142         add new refs.
143         (df_bb_refs_update): Don't clear insns_modified here, ...
144         (df_analyse): ... but here.
145
146         * sbitmap.c (dump_sbitmap_file): New.
147         (debug_sbitmap): Use it.
148
149         * sbitmap.h (dump_sbitmap_file): Add prototype.
150
151         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
152
153         * df.c (df_insn_modify): Grow the UID table if necessary, rather
154         than assume all emits go through df_insns_modify.
155
156         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
157
158         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
159         increase REG_N_REFS (like flow does), so that regclass doesn't
160         think a reg is useless, and thus, not calculate a class, when it
161         really should have.
162
163         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
164
165         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
166         dataflow analysis.
167
168 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
169
170         PR middle-end/7245
171         * config/i386/i386.c (const_int_1_31_operand): New.
172         * config/i386/i386.h (PREDICATE_CODES): Add it.
173         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
174         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
175         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
176
177 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
178
179         PR target/7282
180         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
181         (floatunssidf2): Likewise.
182         (floatsidf_ppc64): New insn_and_split.
183         (floatunssidf_ppc64): Likewise.
184
185 2002-07-14  Andreas Jaeger  <aj@suse.de>
186
187         * config.gcc (sh64): Remove unused
188         target_requires_64bit_host_wide_int.
189
190 2002-07-12  Roger Sayle  <roger@eyesopen.com>
191
192         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
193         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
194         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
195         whether clear_by_pieces should be used to clear storage.
196         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
197
198         * doc/tm.texi: Document these two new target macros.
199
200 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
201
202         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
203         the scratch register.
204         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
205         of it, forbid reload to use it.
206
207 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
208
209         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
210         usage on 64-bit hosts, return value was truncated to 32 bits.
211
212 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
213
214         * simplify-rtx.c (simplify_subreg): Handle floating point
215         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
216         the element mode is requested, compute a subreg with an
217         integer mode of the same size as the element mode first.
218
219 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
220
221         * combine.c (try_combine): When converting a paradoxical subreg
222         to an extension, take LOAD_EXTEND_OP into account.
223
224 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
225
226         * config.gcc (mips-sgi-irix6*o32): New configuration.
227
228         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
229         configurations.
230         * configure: Regenerate.
231
232         * config/mips/iris6-o32-as.h: New file.
233         * config/mips/iris6-o32.h: New file.
234
235         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
236         (NM_FLAGS): Define.
237         (HAVE_AS_SHF_MERGE): Undefine.
238
239         * config/mips/t-iris5-as: New file.
240         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
241
242         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
243         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
244         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
245         dp-bit.c, fp-bit.c): Move ...
246         * config/mips/t-iris5-6: ... here.
247         New file, shared by IRIX 5 and IRIX 6.
248         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
249         mips-sgi-irix5*): Use it.
250
251         * config/mips/iris6.h: Remove duplicate comment.
252
253         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
254         !TARGET_IRIX6]: Define.
255         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
256
257         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
258
259 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
260
261         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
262         and delete code to force constant to register.
263         * pa-protos.h (adddi3_operand): Add prototype.
264         * pa.c (adddi3_operand): New function.
265
266 2002-07-11  Roger Sayle  <roger@eyesopen.com>
267
268         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
269         non-ANSI builtin functions.
270
271 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
272
273         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
274         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
275         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
276         (gen_const_vector_0): Use it.
277
278 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
279
280         * pa.md (adddi3): For 32-bit targets, force constants to a register
281         if they don't fit in an 11-bit immediate.  Change insn predicate to
282         arith11_operand.  Remove comment.
283         * pa.c (cint_ok_for_move): Fix comment.
284         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
285         targets.
286
287 2002-07-11  Tim Josling  <tej@melbpc.org.au>
288
289         Remove front end hard coding from gengtype.c.
290
291         * Makefile.in
292         (STAGESTUFF): add gtyp-gen.h
293         (GTFILES): Remove front end specific files.
294         (GTFILES_FILES_LANGS): New, from configure..
295         (GTFILES_FILES_FILES): Likewise.
296         (GTFILES_LANG_DIR_NAMES): Likewise.
297         (GTFILES_SRCDIR): Likewise.
298         (gtyp-gen.h): Build from configure information.
299         (s-gtype): Remove command line parameters from gengtype.
300         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
301         (mostlyclean): Delete files generated by and for gengtype.
302
303         * c-config-lang.in: New file.
304
305         * configure.in (all_gtfiles_files_langs): New. Accumulate files
306         for each language.
307         (all_gtfiles_files_files): New. Accumulate language for each file
308         accumulated.
309         (gtfiles): Pick up value for C.
310         (srcdir): AC-SUBST this variable.
311         (all_gtfiles_files_langs): AC-SUBST this variable.
312         (all_gtfiles_files_files): AC-SUBST this variable.
313
314         * configure: Regenerate.
315
316         * gengtype-lex.l (parse_file): Make parameter const.
317
318         * gengtype.c (toplevel): include gtyp-gen.h.
319         (BASE_FILE_<language> unnamed enum): Delete.
320         (lang_names): Delete (replaced by gtyp-gen.h)
321         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
322         all references.
323         (NUM_GT_FILES): New.
324         (NUM_LANG_FILES): New.
325         (srcdir_len): New.
326         (NUM_BASE_FILES): Change calculation.
327         (open_base_files): Change prototype to avoid warning.
328         (startswith): Delete.
329         (get_file_basename): Iterate through generated language list not
330         hard coded list.
331         (get_base_file_bitmap): Use generated list of files and languages.
332         (close_output_files): Add prototype to rmove warning.
333         (main): Iterate through list of generated files from gtyp-gen.h
334         rather than command line paramaters.  Ignore duplicated file
335         names.
336
337         * gengtype.h (parse_file): Amend prototype for const parameter.
338
339         * doc/sourcebuild.texi: Document gtfiles variable.
340
341         * doc/gty.texi: Document changes to gtfiles variable for front
342         ends.
343
344         * objc/config-lang.in (gtfiles): Add files needed for objc front
345         end.
346
347 2002-07-10  Roger Sayle  <roger@eyesopen.com>
348
349         PR c/2454
350         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
351         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
352
353 2002-07-10  Roger Sayle  <roger@eyesopen.com>
354             Zack Weinberg <zack@codesourcery.com>
355
356         * builtins.def: Make the argument types of abort and exit
357         independent of the front-end.
358
359 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
360
361         * config/rs6000/linux64.h (ASM_SPEC): Define.
362
363 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
364
365         * config/rs6000/rs6000.c (emit_frame_save): New.
366         (rs6000_frame_related): Replace reg2 before reg.
367         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
368         and eh_return registers.
369
370 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
371
372         Revert all patches for optimization of Complex .op. Real.
373         * complex_part_zero_p: Remove
374         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
375         with x.
376         * expand_cmplxdiv_wide: Ditto.
377         * expand_binop: Ditto.
378
379 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
380
381         * config/avr/avr.md: Fix two 0x80000000 constants to make them
382         negative also on 64-bit hosts.
383
384         Default to -fno-reorder-blocks when optimizing for size.
385         * config/avr/avr-protos.h (avr_optimization_options): Declare.
386         * config/avr/avr.c (avr_optimization_options): New function.
387         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
388
389         Optimize returning from simple functions.
390         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
391         * config/avr/avr.c (avr_simple_epilogue): New function.
392         * config/avr/avr.md (return): New insn.
393
394 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
395
396         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
397         HAS_INIT_SECTION to protection.
398
399 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
400
401         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
402         deprecated.
403
404 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
405
406         * combine.c (gen_lowpart_for_combine): Handle vector modes.
407         Supply non-VOID mode to simplify_gen_subreg.
408
409 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
410
411         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
412
413 2002-07-10  Jeffrey A Law  <law@redhat.com>
414
415         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
416         as appropriate.
417
418         * mn10200.c (expand_epilogue): Fix test to determine which scratch
419         register to use.
420
421 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
422
423         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
424         Get mode from dest.
425         If simplify_gen_subreg fails, try next equivalent.
426
427 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
428
429         * diagnostic.h: #include location.h
430         (location_t): Move definition to..
431         * location.h: ... here.  New file.
432         * tree.h: #include location.h
433         (DECL_SOURCE_LOCATION): New macro.
434         (DECL_SOURCE_FILE): Use.
435         (DECL_SOURCE_LINE): Likewise.
436         (struct tree_decl): REplace filename and linenum with locus.
437         * Makefile.in (TREE_H): add location.h
438         (diagnostic.o): Depends on gt-location.h
439         (gt-location.h): Depends on s-gtype
440
441 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
442
443         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
444         TARGET_OS_CPP_BUILTINS.
445         * config/rs6000/aix31.h: Likewise.
446         * config/rs6000/aix41.h: Likewise.
447         * config/rs6000/aix43.h: Likewise.
448         * config/rs6000/aix51.h: Likewise.
449         * config/rs6000/beos.h: Likewise.
450         * config/rs6000/darwin.h: Likewise.
451         * config/rs6000/eabi.h: Likewise.
452         * config/rs6000/eabisim.h: Likewise.
453         * config/rs6000/linux.h: Likewise.
454         * config/rs6000/linux64.h: Likewise.
455         * config/rs6000/lynx.h: Likewise.
456         * config/rs6000/mach.h: Likewise.
457         * config/rs6000/rtems.h: Likewise.
458         * config/rs6000/sysv4.h: Likewise.
459         * config/rs6000/vxppc.h: Likewise.
460
461 2002-07-09 Devang Patel <dpatel@apple.com>
462         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
463         Do not allow ObjC objects as a parameter type for Objective-C methods.
464         My previous patch restricted  'struct' also.
465
466 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
467
468         * cpperror.c (cpp_error): Default to directive_line within
469         directives here.
470         * cppexp.c (cpp_interpret_integer): Only use traditional
471         number semantics in directives.
472         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
473         (do_include_common): Similarly.
474         * cpptrad.c (scan_out_logical_line): Implement accurate
475         quoting of <> in #include.
476         * doc/cpp.texi: Update.
477
478 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
479                           J"orn Rennecke <joern.rennecke@superh.com>
480
481         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
482         * sh.md (attribute issues): Replace with:
483         (attribute pipe_model).  All users changed.
484         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
485         All users changed.
486         (function units sh5issue, sh5fds): New.
487         (attribute is_mac_media): New.
488         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
489         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
490         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
491         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
492         (call_media, call_value_media, sibcall_media): Likewise.
493         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
494         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
495         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
496         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
497         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
498         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
499         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
500         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
501         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
502         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
503         (truncdfsf2_media): Likewise.
504         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
505         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
506
507 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
508
509         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
510         * sh.c (general_extend_operand, inqhi_operand): New functions.
511         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
512         alternatives using 'N' modifier.  Add type.
513         (adddi3z_media): Likewise.  Enable generator function generation.
514         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
515         exact predicates / constraints.  Add type.
516         (subsi3): Allow 0 for SHMEDIA.
517         (udivsi3_i4_media): Use match_operand for input values
518         rather than hard registers.
519         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
520         unnecessarily through hard registers.  Keep copies of pseudo
521         registers outside of the libcall sequence.
522         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
523         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
524         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
525         (extendhidi2, extendqidi2): Likewise.
526         (andsi3_compact): Name.
527         (andcdi3): Enable generator function generation.
528         (zero_extendhisi2, zero_extendqisi2): Rename to
529         (zero_extendhisi2_compact, zero_extendqisi2_compact).
530         (extendhisi2, extendqisi2): Rename to
531         (extendhisi2_compact, extendqisi2_compact).
532         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
533         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
534         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
535         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
536         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
537         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
538         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
539         (shmedia32_initialize_trampoline_big): Likewise.
540         (shmedia32_initialize_trampoline_little): Likewise.
541         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
542         (negdi2): Remove spurious T clobber.
543         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
544         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
545         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
546         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
547         (ic_invalidate_line_media): Write back data cache before invalidating
548         instruction cache.  Add type.
549         (movsf_media): Sign-extend when the destination is a general
550         purpose register.  Add type.
551         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
552         (casesi_worker_0+1): Only increment ref count for proper label.
553         (casesi_worker_0+2): Likewise.
554
555 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
556
557         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
558
559 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
560
561         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
562         from Pmode to ptr_mode.
563         (get_exception_pointer): Ditto.
564         (connect_post_landing_pads): Ditto.
565         (dw2_build_landing_pads): Ditto.
566
567 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
568         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
569         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
570         (handle_pragma_redefine_extname): Change to use new function.
571
572 2002-07-08  Roger Sayle  <roger@eyesopen.com>
573
574         * combine.c (combine_simplify_rtx): Add an explicit cast
575         to avoid signed/unsigned comparison warning.
576         (simplify_if_then_else): Likewise.
577         (extended_count): Likewise.
578         (simplify_shift_const): Likewise.
579         (simplify_comparison): Likewise.
580
581 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
582
583         * config/mips/mips.md: Add imadd type.  Update scheduler description
584         to use imadd as well as imul.
585         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
586         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
587         (*mul_sub_si): Likewise for first alternative.  Change second
588         alternative from imul to multi.
589
590 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
591
592         * c-common.c (c_common_post_options): Update prototype;
593         don't init backends if preprocessing only.
594         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
595         * langhooks.h (struct lang_hooks): Update post_options to
596         return a boolean.
597         * toplev.c (parse_options_and_default_flags, do_compile,
598         lang_independent_init): Update prototypes.  Allow the
599         front end to specify that there is no need to initialize
600         the back end.
601         (general_init): Move call to hex_init here...
602         (toplev_main): ...from here.  Pass flag for back end init
603         suppression.
604
605 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
606
607         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
608         (PREDICATE_CODES): Add entries for equality_comparison_operator,
609         greater_comparison_operator and less_comparison_operator.
610         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
611         more operators.
612         (equality_comparison_operator): New function.
613         (greater_comparison_operator, less_comparison_operator): Likewise.
614         * sh.md (beq_media_i): Disable generator function generation.
615         Use match_operator to handle a whole class of comparisons.  Add
616         modifier in output template to provide branch prediction.  Add type.
617         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
618         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
619         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
620         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
621
622 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
623
624         Emit MMIX function prologue and epilogue as rtl.
625         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
626         not unprototyped get_hard_reg_initial_val.
627         ("call_value", "nonlocal_goto_receiver"): Ditto.
628         ("return"): Make define_expand.  Move real insn to...
629         ("*expanded_return"): New pattern.
630         ("prologue", "epilogue"): New define_expands.
631         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
632         (struct machine_function): New member in_prologue.
633         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
634         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
635         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
636         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
637         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
638         (LOCAL_REGNO): Define.  Adjust comment.
639         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
640         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
641         leaf_function_p.
642         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
643         the prologue.
644         (mmix_target_asm_function_prologue): Make static.  Just mark that
645         the prologue is being emitted.  Move guts to...
646         (mmix_expand_prologue): New function.  Adjust for emitting
647         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
648         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
649         \n.  Move guts to...
650         (mmix_expand_epilogue): New function.  Adjust for emitting
651         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
652         (mmix_target_asm_function_end_prologue): Mark that the prologue
653         has ended.
654         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
655         (mmix_conditional_register_usage): Improve comments.
656         (mmix_local_regno): New function.
657         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
658         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
659         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
660         (mmix_get_hard_reg_initial_val): Ditto.
661
662 2002-07-06  Andreas Jaeger  <aj@suse.de>
663
664         * toplev.c (set_fast_math_flags): Don't use ISO C style function
665         definitions.
666         * gengtype.c (open_base_files): Likewise.
667         (close_output_files): Likewise.
668         * tracer.c (find_best_predecessor): Likewise.
669         (find_best_successor): Likewise.
670         (ignore_bb_p): Likewise.
671
672 2002-07-05  Roger Sayle  <roger@eyesopen.com>
673
674         PR c++/7099
675         * builtin-attrs.def: Define new attribute lists for use in
676         builtins.def.
677         * builtins.def [DEF_BUILTIN]: Modify to take an additional
678         ATTRS argument, an enumerated value defined in builtin-attrs.def
679         that represents the attribute list for the builtins.  Modify
680         all builtin functions to pass an appropriate attribute list.
681         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
682         their required noreturn attributes.
683         * tree.h (enum_builtin_function): Ignore the additional parameter
684         to DEF_BUILTIN.
685         * builtins.c (built_in_names): Likewise.
686         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
687         argument with a tree representing the functions attribute list.
688         Pass this "attrs" argument to builtin_function.  No longer handle
689         the noreturn_p processing manually.
690         (built_in_attributes): Move the definitions from builtin-attrs.def
691         before c_common_nodes_and_builtins.
692         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
693         DEF_BUILTIN, passing it to both builtin_function and the changed
694         builtin_function_2.
695
696         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
697         __builtin__exit and __builtin__Exit.
698
699 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
700
701         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
702         QI mode registers in soft registers.
703         ("zero_extendqihi2"): Do not take into account soft registers
704         for register allocation (use '*' constraint).
705
706 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
707
708         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
709         it is dead.
710         ("*ashrsi3"): Likewise.
711         ("*lshrsi3"): Likewise.
712
713 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
714
715         * genautomata.c (output_max_insn_queue_index_def): Take latencies
716         into account.
717
718 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
719
720         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
721         address computation and memory moves.
722
723 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
724
725         PR c++/6706
726         * dwarfout.c (output_reg_number): Fix warning message.
727         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
728         before using it.
729
730 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
731
732         * gcc/gcc.c (asm_debug): Move initialization ...
733         (init_spec): ... here.
734
735 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
736
737         * c-parse.in (extdef): Append ';'.
738         (old_style_parm_decls): Append ';'.
739
740 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
741
742         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
743         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
744         to gcc_cv_as_gstabs_flag.
745         * configure: Rebuilt.
746
747 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
748
749         * ggc.h (ggc_add_root): Document as obsolete.
750
751 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
752
753         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
754         (mshflo_w): Likewise.
755
756 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
757
758         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
759         vector mode subregs of constants to finding integer mode
760         subregs of constants.
761         * cse.c (cse_insn): Use simplify_gen_subreg.
762         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
763         From a vector mode expression of different size than the
764         target mode.
765
766 2002-07-03  Eric Christopher  <echristo@redhat.com>
767
768         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
769         * config/mips/mips.h: Remove deprecated -m<processor> options
770         and cc1_cpu_spec associated.
771         (CONSTANT_ADDRESS_P): Fix last patch.
772         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
773         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
774         sunge_sf): Remove.
775
776 2002-07-03  Stan Shebs  <shebs@apple.com>
777
778         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
779         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
780         (CPP_SPEC): Remove insertion of APPLE_CC definition.
781
782 2002-07-03  Roger Sayle  <roger@eyesopen.com>
783
784         * combine.c (struct_undo): Change types of recorded substitutions
785         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
786         (do_SUBST_INT): Change types of the substitution from unsigned int
787         to int, to avoid compilation warning from SUBST_INT's only caller.
788
789         (make_extraction): Add cast to avoid compilation warning.
790         (force_to_mode): Remove cast to avoid compilation warning.
791
792 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
793             Jeff Law  <law@redhat.com>
794
795         * i386.md (length_immediate attribute): Fix typo.
796         (length_address attribute): Likewise.
797         (modrm attribute): Set it to 0 for immediate call instructions.
798         (jcc_1 pattern): Set modrm attribute to 0.
799         (jcc_2 pattern ): Likewise.
800         (jump pattern): Likewise.
801         (doloop_end_internal pattern): Explicitly set length.
802         (leave pattern): Fix typo.
803         (leave_rex64 pattern): Likewise.
804
805 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
806
807         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
808         in FPR as preference.
809         (fctiwz): Same.
810         (floatdidf2, fix_truncdfdi2): Same.
811         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
812         (floatditf2): Same.
813         (floatsitf2, fix_trunctfsi2): SImode in GPR.
814         (ctrdi): Remove FPR alternative and splitter.
815
816 2002-07-03  Will Cohen  <wcohen@redhat.com>
817
818         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
819
820 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
821
822         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
823         than UNITS_PER_WORD, unless this is little endian and the first unit
824         in this word.  Let extract_bit_field decide how to load an element.
825         Force arguments to matching mode.
826         (expand_vector_unop): Likewise.
827
828         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
829         consist of word_mode elements.
830         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
831         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
832         (build_unary_op): Allow vector types for BIT_NOT_EPR.
833         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
834         CONST_VECTOR.
835         * optabs.c (expand_vector_binop): Try to perform operation in
836         smaller vector modes with same inner size.  Add handling of AND, IOR
837         and XOR.  Reject expansion to inner-mode sized scalars when using
838         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
839         (expand_vector_unop): Try to perform operation in smaller vector
840         modes with same inner size.  Add handling of one's complement.
841         When there is no vector negate operation, try a vector subtract
842         operation.  Use simplify_gen_subreg on constants.
843         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
844         constants into smaller vectors with same inner mode, and to
845         integer CONST_DOUBLEs.
846
847 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
848
849         * c-parse.in (parsing_iso_function_signature): New variable.
850         (extdef_1): New, copied from...
851         (extdef): ... here.  Reset parsing_iso_function_signature.
852         (old_style_parm_decls):  Reset parsing_iso_function_signature.
853         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
854         Warn about ISO C style function definitions.
855         (nested_function, notype_nested_function): Reset
856         parsing_iso_function_signature.
857         (parmlist_2): Set parsing_iso_function_signature.
858
859         * doc/invoke.texi (-Wtraditional): Document new behavior.
860
861 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
862
863         * config.gcc (mips*el-*-*): Use tm_defines to set
864         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
865         * config/mips/little.h: Remove.
866
867 2002-07-02 Devang Patel <dpatel@apple.com>
868
869         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
870         object as parameter. Prevent something like 'NSObject' to be
871         used as the type for a method argument.
872
873 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
874
875         * cpptrad.c: Update comment.
876
877 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
878
879         * doc/cpp.texi: Update for traditional preprocessing changes.
880         * goc/cppopts.texi: Similarly.
881
882 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
883
884         * c-parse.in (designator): Enable designated initializers if ObjC.
885         (objcmessageexpr): Remove references to objc_receiver_context.
886         * objc/objc-act.h (objc_receiver_context): Remove decl.
887         * objc/objc-act.c (objc_receiver_context): Remove.
888         (lookup_objc_ivar): Test objc_method_context instead of
889         objc_receiver_context.
890
891 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
892
893         * sh.c (print_operand, case 'N'): Allow zero vector.
894         (arith_reg_or_0_operand): Likewise.
895         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
896         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
897         IOR, XOR, PLUS and SET and take their respective constant
898         ranges into account.
899         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
900         * sh.md (subdi3, subdi3_media): Allow zero operand.
901         (movv8qi_i+3): Only vector that is not split is the zero vector.
902         Fix operand 3 to simplify_subreg.
903         (movv2si_i): Split alternative 1.
904         (mshfhi_l_di_rev+1): New splitter.
905
906 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
907
908         PR preprocessor/7029
909         * cppinit.c (cpp_handle_option):  Suppress warnings with an
910         implicit "-w" for "-M" and "-MM".
911         * doc/cppopts.texi: Update.
912
913 2002-07-01  Roger Sayle  <roger@eyesopen.com>
914
915         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
916         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
917         builtin_function.
918
919 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
920
921         * README.Portability: Fix typos.
922
923 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
924
925         PR target/7177
926         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
927         of indirections for register inside sign-extended mem part.
928
929 2002-07-01  Roger Sayle  <roger@eyesopen.com>
930
931         * tree.h:  Modify builtin_function interface to take an extra
932         argument ATTRS, which is a tree representing an attribute list.
933
934         * c-decl.c (builtin_function): Accept additional parameter.
935         * objc/objc-act.c (builtin_function): Likewise.
936         * f/com.c (builtin_function): Likewise.
937         * java/decl.c (builtin_function): Likewise.
938         * ada/utils.c (builtin_function): Likewise.
939         * cp/decl.c (builtin_function): Likewise.
940         (builtin_function_1): Likewise.
941
942         * c-common.c (c_common_nodes_and_builtins): Pass an additional
943         NULL_TREE argument to builtin_function.  (builtin_function_2):
944         Likewise.
945         * cp/call.c (build_java_interface_fn_ref): Likewise.
946         * objc/objc-act.c (synth_module_prologue): Likewise.
947         * java/decl.c (java_init_decl_processing): Likewise.
948         * f/com.c (ffe_com_init_0): Likewise.
949
950         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
951         NULL_TREE argument to builtin_function.
952         * config/arm/arm.c (def_builtin): Likewise.
953         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
954         * config/i386/i386.c (def_builtin): Likewise.
955         * config/ia64/ia64.c (def_builtin): Likewise.
956         * config/rs6000/rs6000.c (def_builtin): Likewise.
957
958 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
959
960         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
961         * config/mips/t-isa3264: Likewise.
962         * config/mmix/t-mmix: Likewise.
963
964 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
965
966         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
967
968 2002-07-01  Roger Sayle  <roger@eyesopen.com>
969
970         PR opt/4046
971         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
972         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
973         B are truth values.
974
975 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
976
977         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
978
979 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
980
981         * README.Portability (Function prototypes): Give an example of
982         declaring and defining a function with no arguments.
983
984         * README.Portability (Function prototypes): Document new
985         variable-argument function macros.
986
987 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
988
989         * sh.c (langhooks.h): Include.
990         (sh_init_builtins, sh_media_init_builtins): New functions.
991         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
992         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
993         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
994         (builtin_description): New struct tag.
995         (signature_args, bdesc): New arrays.
996         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
997         (print_operand): Add 'N' modifier.
998         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
999         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
1000         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
1001         (CONST_COSTS): Add special case for SHmedia AND.
1002         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
1003         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
1004         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
1005         target_operand can also be const or unspec.
1006         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
1007         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
1008         (attribute type): Add new types.
1009         (anddi3): Add splitter.
1010         (movdi_const_16bit+1): Add code to handle vector constants and
1011         bitmasks efficiently.
1012         (shori_media): Have generator function made.
1013         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
1014         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
1015         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
1016         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
1017         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
1018         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
1019         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
1020         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
1021         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
1022         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
1023         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
1024         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
1025         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
1026         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
1027         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
1028         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
1029         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
1030         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
1031         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
1032         (ftrv): Likewise.
1033
1034         (fpu_switch+1, fpu_switch+2): Remove constraint.
1035
1036 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
1037
1038         * tree.c (build_function_type_list): Update function comment.
1039         Rename first argument to return_type.
1040
1041 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
1042
1043         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
1044         tradcif.y and related files.
1045
1046 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
1047
1048         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
1049
1050 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1051
1052         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
1053
1054 2002-06-30  Devang Patel  <dpatel@apple.com>
1055
1056         * objc/objc-act.c (finish_file): Avoid finish_objc() if
1057         -fsyntax-only.
1058
1059 Fri Jun 28 17:22:37 2002  Denis Chertykov  <denisc@overta.ru>
1060                           Frank Ch. Eigler  <fche@redhat.com>
1061                           Matthew Green  <mrg@redhat.com>
1062                           Richard Henderson <rtl@redhat.com>
1063                           Dave Hudson  <dave.hudson@ubicom.com>
1064                           Jeff Johnston  <jjohnstn@redhat.com>
1065                           Alan Lehotsky <apl@alum.mit.edu>
1066                           Bernd Schmidt  <bernds@redhat.com>
1067                           Graham Stott  <grahams@redhat.com>
1068
1069         * doc/extend.texi: Add ip2k port to description of attribute
1070         naked.
1071         * doc/install.texi (Specific): Add ip2k description.
1072         * doc/install-old.texi (Configurations): Add ip2k to possible
1073         cpu types.
1074         * doc/md.texi: Document ip2k constraints.
1075         * config/ip2k/crt0.S: New file.
1076         * config/ip2k/ip2k-protos.h: New file.
1077         * config/ip2k/ip2k.c: New file.
1078         * config/ip2k/ip2k.h: New file.
1079         * config/ip2k/ip2k.md: New file.
1080         * config/ip2k/libgcc.S: New file.
1081         * config/ip2k/t-ip2k: New file.
1082
1083 2002-06-30  Hans-Peter Nilsson  <hp@bitrange.com>
1084
1085         * config/mmix/mmix.md ("return"): New pattern.
1086         * config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN)
1087         (TARGET_USE_RETURN_INSN): New macros.
1088         (TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN.
1089         (TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit.
1090         * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing.
1091         (MMIX_POP_ARGUMENT): New macro.
1092         (mmix_target_asm_function_prologue): When no epilogue is executed,
1093         just emit a blank line.  Use MMIX_POP_ARGUMENT with final POP insn.
1094         (mmix_print_operand) <case '.'>: New case.
1095         (mmix_print_operand_punct_valid_p): Match '.'.
1096         (mmix_use_simple_return): New function.
1097         * config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype.
1098         * doc/invoke.texi (Option Summary) <MMIX Summary>: Add
1099         -msingle-exit, -mno-single-exit.
1100         (MMIX Options): Ditto.
1101
1102 2002-06-30  Aldy Hernandez  <aldyh@redhat.com>
1103
1104         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
1105
1106 2002-06-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1107
1108         * gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses.
1109
1110 2002-06-30  Alan Modra  <amodra@bigpond.net.au>
1111
1112         * unroll.c (loop_iterations): Handle EQ loops.
1113
1114 2002-06-29  David Edelsohn  <edelsohn@gnu.org>
1115
1116         * config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR
1117         constraint in define_expand, not splitter.
1118         Formatting.
1119
1120 2002-06-29  Aldy Hernandez  <aldyh@redhat.com>
1121
1122         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
1123         build_function_type_list instead of build_function_type.
1124
1125         * config/ia64/ia64.c (ia64_init_builtins): Same.
1126
1127         * config/alpha/alpha.c (alpha_init_builtins): Same.
1128
1129         * config/rs6000/rs6000.c (altivec_init_builtins): Same.
1130
1131         * config/arm/arm.c (arm_init_builtins): Same.
1132
1133         * tree.h: Add build_function_type_list prototype.
1134
1135         * tree.c (build_function_type_list): New.
1136
1137 2002-06-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1138
1139         * collect2.c (scan_prog_file): Fix typo in message.
1140
1141 2002-06-28  Aaron Lehmann  <aaronl@vitelus.com>
1142
1143         * fold-cont.c: Remove unused CHARMASK.
1144
1145 2002-06-29  Neil Booth  <neil@daikokuya.co.uk>
1146
1147         PR preprocessor/7150
1148         * cppmain.c (scan_translation_unit_trad): Simplify.
1149         * cppmacro.c (cpp_scan_nooutput): Handle traditional case.
1150
1151 2002-06-29  Neil Booth  <neil@daikokuya.demon.co.uk>
1152
1153         * config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS.
1154         Don't use CPP_PREDEFINES.
1155         * config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New.
1156         Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES.
1157         * config/i386/djgpp.h, config/i386/i386-coff.h,
1158         config/i386/i386-interix.h, config/i386/i386-interix3.h,
1159         config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
1160         config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h,
1161         config/i386/uwin.h: Similarly.
1162
1163 2002-06-29  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1164
1165         * c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
1166         flag_inline_trees to enable inlining.
1167
1168 2002-06-28  Phil Edwards  <pme@gcc.gnu.org>
1169
1170         * configure.in (gcc_gxx_include_dir):  Change to match versioned
1171         C++ headers if --enable-version-specific-runtime-libs is used.
1172         * configure:  Regenerate.
1173
1174 2002-06-28  Jan Hubicka  <jh@suse.cz>
1175
1176         * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
1177
1178 2002-06-28  Stephen Clarke  <stephen.clarke@superh.com>
1179
1180         * combine.c (combine_simplify_rtx): Pass the mode of the
1181         shift count, not the shift operation when trying to simplify
1182         a shift on a SHIFT_COUNT_TRUNCATED target.
1183
1184 2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>
1185
1186         * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
1187         avoid the auto increment addressing modes.
1188         ("*subsi3"): Likewise.
1189         (split for add/sub on address): For 68HC12 push the value on
1190         the stack and do the operation with a pop.
1191
1192 2002-06-28  Neil Booth  <neil@daikokuya.co.uk>
1193
1194         * cpplib.c (_cpp_handle_directive): Move #define-specific
1195         code to the #define handler...
1196         (do_define): ...here.
1197         (lex_macro_node): No longer a need to check for comments here.
1198
1199 2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>
1200
1201         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define.
1202         * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
1203         Declare.
1204         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): New,
1205         do not reorder basic blocks at the end when optimizing for size.
1206
1207 2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>
1208
1209         * config/m68hc11/m68hc11.c (autoinc_mode): New function.
1210         (m68hc11_make_autoinc_notes): New function.
1211         (m68hc11_split_move): Be very cautious when spliting a move with
1212         auto increment/decrement modes because this may result in incompatible
1213         directions; add REG_INC notes to the resulting insn for CSE reg.
1214
1215 2002-06-28  Stephane Carrez  <Stephane.Carrez@nerim.fr>
1216
1217         * config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant
1218         can be a valid address.
1219
1220 2002-06-28  Aldy Hernandez  <aldyh@redhat.com>
1221
1222         * config/rs6000/rs6000.c: Remove unusued variables from last
1223         patch.
1224
1225 2002-06-27  Aldy Hernandez  <aldyh@redhat.com>
1226
1227         Revert:
1228         * config/rs6000/rs6000.c (rs6000_override_options): Move
1229         *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
1230
1231 2002-06-27  Aldy Hernandez  <aldyh@redhat.com>
1232
1233         * config/rs6000/rs6000.c (altivec_expand_builtin): Move
1234         lvx/stv/dst builtins...
1235         (altivec_expand_ld_builtin): ...to here.
1236         (altivec_expand_st_builtin): ...here.
1237         (altivec_expand_dst_builtin): ...and here (respectively).
1238
1239 2002-06-28  Bob Wilson  <bob.wilson@acm.org>
1240
1241         * config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment.
1242
1243 2001-06-08  Bernd Schmidt  <bernds@redhat.com>
1244
1245         * emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE
1246         subregs.
1247         * recog.c (general_operand, register_operand): Disallow them.
1248
1249 2002-06-28  Neil Booth  <neil@daikokuya.co.uk>
1250
1251         PR preprocessor/7138
1252         * cpplib.c (_cpp_handle_directive): Do traditional
1253         preparation after setting state.angled_headers.
1254         * cpptrad.c (scan_out_logical_line): Fix potential
1255         quote bug.
1256
1257 2002-06-27  Aldy Hernandez  <aldyh@redhat.com>
1258
1259         * config/rs6000/rs6000.c (rs6000_override_options): Move
1260         *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
1261
1262 2002-06-27  Bob Wilson  <bob.wilson@acm.org>
1263
1264         * config/xtensa/xtensa.md: Give "*xxx" names to all unnamed insn's.
1265         (*lsiu, *ssiu, movstrsi_internal, zero_cost_loop_start,
1266         zero_cost_loop_end): Remove unnecessary "parallel" from insns.
1267
1268 2002-06-27  Roger Sayle  <roger@eyesopen.com>
1269
1270         * config/d30v/d30v.h: Remove commented out STACK_REGS #defines.
1271         * config/stormy16/stormy16.h: Likewise.
1272
1273         * config/stormy16/stormy16.h (CUMULATIVE_ARGS): Replace typedef
1274         with #define.
1275
1276 2002-06-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1277
1278         * doc/install.texi (Binaries): Add Sinix/Reliant Unix.  Move
1279         Hitachi entry.  Make punctuation more consistent.
1280
1281 2002-06-27  Matt Kraai  <kraai@alumni.cmu.edu>
1282
1283         * doc/install.texi: Change ` bit' to `-bit'.
1284         * doc/md.texi: Change `-bits' to `-bit'.
1285         * doc/tm.texi: Change `-bits' to ` bits'.
1286
1287 2002-06-27  Daniel Berlin  <dberlin@dberlin.org>
1288
1289         * gcse.c (hoist_code): Rewrite to only get list of dominated
1290         blocks once per BB. Also fix reversed test (by removing need for
1291         the test at all).
1292
1293 2002-06-27  Neil Booth  <neil@daikokuya.co.uk>
1294
1295         * cpphash.h (_cpp_set_trad_context): Remove.
1296         * cpplib.c (prepare_directive_trad): Do nothing for #define.
1297         (cpp_push_buffer, _cpp_pop_buffer): Don't call _cpp_set_trad_context.
1298         * cpptrad.c: Update comments.
1299         (_cpp_read_logical_line_trad): Let scan_logical_line handle
1300         updating the current context.
1301         (scan_logical_line): Update the current context.
1302         (_cpp_create_trad_definition): Similarly.
1303         (_cpp_set_trad_context): Remove.
1304
1305 2002-06-27  Neil Booth  <neil@daikokuya.co.uk>
1306
1307         PR preprocessor/7070
1308         * c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF.
1309
1310 2002-06-26  Bob Wilson  <bob.wilson@acm.org>
1311
1312         * config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare.
1313         config/xtensa/xtensa.c (xtensa_return_addr): New function.
1314         config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr.
1315         config/xtensa/xtensa.md (fix_return_addr): New pattern.
1316
1317 2002-06-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1318
1319         * mips.c (coprocessor_operand, coprocessor2_operand,
1320         symbolic_operand): Move prototypes from here...
1321         * mips-protos.h (coprocessor_operand, coprocessor2_operand,
1322         symbolic_operand): ...to here.
1323
1324 Wed Jun 26 16:32:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
1325
1326         * config/sh/crt1.asm: remove _stack label definition
1327         and sentinel value.
1328
1329 2002-06-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1330
1331         * varasm.c: Include real.h before output.h.
1332
1333 2002-06-26  Aldy Hernandez  <aldyh@redhat.com>
1334
1335         * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to
1336         check for TARGET_ALTIVEC.
1337
1338 2002-06-26  Nathanael Nerode  <neroden@gcc.gnu.org>
1339
1340         * config.gcc (vax-*-vms*): Make obselete.
1341
1342 2002-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1343
1344         * gcc.c (warn_std): Delete.
1345
1346 2002-06-25  Loren J. Rittle  <ljrittle@acm.org>
1347
1348         * doc/extend.texi: Fix formatting of last checkin.
1349
1350 2002-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1351
1352         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Remove leading
1353         underscore from __IEEE_FP and __IEEE_FP_INEXACT.
1354
1355 2002-06-25  Aldy Hernandez  <aldyh@redhat.com>
1356
1357         * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
1358         discrepancies from motorola's documentation.
1359
1360 Tue Jun 25 21:51:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
1361
1362         * optabs.c (expand_vector_binop, expand_vector_unop): Don't assume
1363         GET_MODE_UNIT_SIZE (mode) == UNITS_PER_WORD.
1364
1365         * config/sh/lib1funcs.asm (udivdi3): Make first divide step
1366         produce a 32 bit result before normalization, then normalize with a
1367         left shift.  Compute approximative error of 2nd reciprocal
1368         approximation in 2's complement.  Fix mask generation from upper
1369         longword of second divide stage result.
1370         For large divisor, fix shift count used to truncate first stage
1371         divide result; make decision if to adjust upwards based on comparison
1372         of higher parts of normalized values.
1373         (udivdi): Likewise.  Undo normalization of result for large divisor
1374         case.
1375
1376 2002-06-25  David S. Miller  <davem@redhat.com>
1377
1378         * config/sparc/sparc.md: Change \\{t,n} to \{t,n}.
1379
1380 2002-06-25  Neil Booth  <neil@daikokuya.co.uk>
1381
1382         * cpplib.c (do_include_common): Revert to correct line number
1383         if -traditional.
1384         * cpptrad.c (scan_out_logical_line): Treat null directive as
1385         white space.  Invlidate MI optimization for non-whitespace
1386         text outside a directive.
1387
1388 2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1389
1390         * Makefile.in (SHELL): Set to @SHELL@.
1391         * fixinc/Makefile.in (SHELL): Likewise.
1392
1393         * mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2,
1394         fixuns_truncsfsi2, fixuns_truncsfdi2): Avoid automatic aggregate
1395         initialization.
1396
1397 2002-06-24  Jeff Law <law@redhat.com>
1398
1399         * flow.c (propagate_one_insn): When removing an insn
1400         with a REG_LIBCALL note but not the entire libcall sequence,
1401         delete the associated REG_RETVAL note.
1402
1403 Mon Jun 24 21:05:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
1404
1405         * lib1funcs.asm (sdivsi3): Add optimized SH64 implementations.
1406         (udivsi3): Likewise.  Rewrite SH1 implementation.
1407         (udivdi3, divdi3, umoddi3, moddi3): New SHmedia functions.
1408         * sh.md (R20_REG, R21_REG, R22_REG, R23_REG, FR23_REG): New constants.
1409         (udivsi3_i1_media, divsi3_i1_media): Fix clobber list.
1410         * config/sh/t-sh64 (LIB1ASMFUNCS): (_udivdi3, _divdi3, _umoddi3): Add.
1411         (_moddi3): Likewise.
1412
1413         * lib1funcs.asm (ic_invalidate): Add data cache line writeback.
1414
1415         * sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK
1416         arguments into account for stack_regs.
1417
1418 2002-06-24  Matt Kraai  <kraai@alumni.cmu.edu>
1419
1420         * doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */'
1421         in examples.
1422
1423 2002-06-24  Art Haas  <ahaas@neosoft.com>
1424
1425         * doc/extend.texi (Other Builtins): Change `...' to `@dots{}'.
1426         * doc/tm.texi (Frame Layout): Likewise.
1427
1428 2002-06-20  Steve Ellcey  <sje@cup.hp.com>
1429
1430         * gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no.
1431         Set float_format to i128.
1432
1433 2002-06-24  David S. Miller  <davem@redhat.com>
1434
1435         * config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the
1436         32-bit ABI libfuncs to NULL.
1437
1438         * config/sparc/sparc.md: Use define_insn_and_split.  Use braced
1439         strings instead of quoted strings for code blocks.
1440
1441         * expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
1442         optabs if op1 is const0_rtx.
1443
1444         * Makefile.in (GTFILES): Add basic-block.h
1445         * basic-block.h (label_value_list, tail_recursion_label_list):
1446         Mark with GTY.
1447
1448 2002-06-24  Neil Booth  <neil@daikokuya.co.uk>
1449
1450         * cpptrad.c (scan_out_logical_line): Check recursing only when
1451         we know we have a macro invocation in the function-like case.
1452         Only call _cpp_handle_directive if we know we have a good
1453         directive, or we want to reject a bad directive.
1454
1455 2002-06-24  Alan Modra  <amodra@bigpond.net.au>
1456
1457         * doloop.c (doloop_valid_p): Correct comment.
1458         (doloop_modify_runtime <abs_inc != 1>): Simplify.
1459         (doloop_modify_runtime <do-while>): Don't emit code when NE.
1460
1461 Thu Jun 20 00:26:53 2002  Denis Chertykov  <denisc@overta.ru>
1462
1463         * config.gcc: Add support for ip2k.
1464
1465 2002-06-23  Jan Hubicka  <jh@suse.cz>
1466             Jeff Law <law@redhat.com>
1467
1468         * function.h (struct emit_status): Clarify potential contents
1469         of regno_reg_rtx array.
1470         * integrate.c (copy_rtx_and_substitute): Update comments.  Make
1471         sure entry in regno_reg_rtx is a REG before checking REG_POINTER.
1472
1473         * reg-stack.c (convert_regs_exit): Push the registers to stack in
1474         proper order.
1475
1476 2002-06-22  Ulrich Weigand  <uweigand@de.ibm.com>
1477
1478         PR middle-end/6963
1479         * function.c (assign_stack_temp_for_type): Do not return
1480         the same MEM rtx for multiple uses of a stack slot.
1481
1482 2002-06-22  David S. Miller  <davem@redhat.com>
1483
1484         PR target/6841 target/6770 target/6719
1485         * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return
1486         NO_REGS for constant X when CLASS is GENERAL_OR_FP_REGS or
1487         GENERAL_OR_EXTRA_FP_REGS.
1488
1489 2002-06-22  Neil Booth  <neil@daikokuya.co.uk>
1490
1491         * cpptrad.c (struct fun_macro): Add line number.
1492         (scan_out_logical_line): Set it, and use it to report unterminated
1493         macro invocations.
1494
1495 2002-06-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1496
1497         * genautomata.c (copy_node, VLA_PTR_CREATE, VLA_PTR_EXPAND,
1498         VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD,
1499         DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE,
1500         DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, REGEXP_UNIT,
1501         REGEXP_RESERV, REGEXP_SEQUENCE, REGEXP_REPEAT, REGEXP_ALLOF,
1502         REGEXP_ONEOF, check_name): Const-ify.
1503
1504 2002-06-21  Matt Thomas  <matt@3am-software.com>
1505
1506         * config/vax/vax.c (vax_output_function_prologue): Use
1507         REGISTER_PREFIX.  Fix some indentation.
1508         * config/vax/vax.h (FUNCTION_PROFILER): Use reg_names[].
1509         (VAX_ISTREAM_SYNC): Define.
1510         (INITIALIZE_TRAMPOLINE): Use VAX_ISTREAM_SYNC.  Move the
1511         i-stream sync to the end.
1512         (REGISTER_PREFIX): Define as "".
1513         (ASM_OUTPUT_MI_THUNK): Use REGISTER_PREFIX.
1514
1515 2002-06-21  Jason Thorpe  <thorpej@wasabisystems.com>
1516
1517         * config.gcc (ns32k-*-netbsd*): Remove from list of obsolete
1518         configurations.
1519
1520 2002-06-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1521
1522         * tree.c (tree_node_kind, tree_node_counts, tree_node_sizes,
1523         tree_node_kind_names): Wrap in GATHER_STATISTICS macro.
1524
1525 2002-06-21  Matt Thomas  <matt@3am-software.com>
1526
1527         * config/vax/netbsd.h: Adjust a comment.
1528         (TARGET_DEFAULT): Redefine as 0.
1529
1530 2002-06-21  Richard Henderson  <rth@redhat.com>
1531
1532         * bb-reorder.c (make_reorder_chain_1): Search harder for the
1533         vax casesi fallthru edge.
1534         * cfglayout.c (cleanup_unconditional_jumps): Use
1535         redirect_edge_succ_nodup.  Do not delete ADDR_VEC insns as dead.
1536         * cfgrtl.c (force_nonfallthru_and_redirect): Place redirection
1537         block after ADDR_VEC.
1538
1539 2002-06-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1540
1541         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
1542
1543 2002-06-21  Neil Booth  <neil@daikokuya.co.uk>
1544
1545         * cpperror.c (cpp_error): For traditional CPP, default to
1546         diagnostics on pfile->line.
1547         * cpplib.c (prepare_directive_trad): Set line number for
1548         diagnostics for #define too.
1549         * cpptrad.c (skip_whitespace): Skip comments properly.
1550         (_cpp_expansions_different_trad): Initialize quote2.
1551
1552 2002-06-21  Hans-Peter Nilsson  <hp@bitrange.com>
1553
1554         * config/mmix/mmix.md: Change GNU CC to GCC in file header comment.
1555         * config/mmix/mmix.h: Ditto.
1556         * config/mmix/mmix-protos.h: Ditto.
1557         * config/mmix/mmix.c: Ditto.  Fix typo in comment.
1558         * config/mmix/mmix-modes.def: Change GNU CC to GCC in file header
1559         comment.  Comment extra CC modes.
1560
1561 2002-06-20 Jan Hubicka  <jh@suse.cz>
1562
1563         * cfglayout.c (scope_to_insns_initialize): Call set_block_levels.
1564         (scope_to_insns_finalize): Do not call set_block_levels; handle
1565         sequences.
1566         (choose_inner_scope): New.
1567         * rtl.h (choose_inner_scope): Declare.
1568
1569 2002-06-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1570
1571         * pa-protos.h (pa_asm_output_mi_thunk): Change third argument to
1572         HOST_WIDE_INT.
1573         * pa.c (pa_asm_output_mi_thunk): Likewise.
1574         (n_deferred_plabels): Change type to size_t.
1575         (output_deferred_plabels, output_call): Use size_t instead of int.
1576
1577 2002-06-20  Richard Henderson  <rth@redhat.com>
1578
1579         PR target/4041
1580         * config/m68k/m68k.md (zero_extendsidi2): Create expander; duplicate
1581         pattern and adjust constraints for coldfire.
1582
1583 2002-06-20  Richard Henderson  <rth@redhat.com>
1584
1585         * explow.c (probe_stack_range): Use gen_rtx_fmt_ee.
1586
1587 2002-06-20  Chris Demetriou  <cgd@broadcom.com>
1588
1589         * config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets.
1590
1591 2002-06-20  Chris Demetriou  <cgd@broadcom.com>
1592
1593         * config/mips/mips.h (ISA_HAS_FP4): Fix comment to reflect use.
1594
1595 2002-06-20  Stan Shebs  <shebs@apple.com>
1596
1597         * dominance.c: Include errors.h instead of error.h.
1598
1599 2002-06-20  Neil Booth  <neil@daikokuya.co.uk>
1600
1601         * cppexp.c (cpp_interpret_integer): Don't force traditional
1602         numbers to be unsigned.
1603         * cpplib.c (prepare_directive_trad): Set line number for
1604         diagnostics.
1605         * cpptrad.c (scan_out_logical_line): Continue scanning out
1606         at start of buffer.
1607         * gcc.c (trad_capable_cpp): Use cc1 always.
1608
1609 2002-06-20  Jeffrey Law  <law@redhat.com>
1610
1611         * i386.h (TARGET_DEFAULT): Do not turn on frame pointer
1612         elimination in leaf functions by default yet.
1613
1614 2002-06-20  Richard Sandiford  <rsandifo@redhat.com>
1615
1616         * combine.c (make_extraction): Reapply to the argument of an ASHIFT.
1617
1618 2002-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1619
1620         * config/sparc/t-crtfm (crtfastmath.o): Prefix with $(T) for
1621         multilibs.
1622         * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
1623         Fixes PR other/6836.
1624
1625 Thu Jun 20 19:42:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
1626                                Pavel Nejedly  <bim@atrey.karlin.mff.cuni.cz>
1627
1628         Mon Jun 10 20:42:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
1629
1630         * basic-block.h: Do not include et-forest.h
1631         (dominance_info): Declare as struct dominance-info.
1632         * cfglayout.c (cleanup_unconditional_jumps): Remove the edge before
1633         deleting block.
1634         * dominance.c (struct dominance_info): Define.
1635         (BB_NODE, SET_BB_NODE): New macros.
1636         (bb_hash_func, bb_eq_func): Kill.
1637         (calculate_dominace_info, free_dominacne_info, set_immediate_dominator,
1638         nearest_common_dominator, dominated_by_p, recount_dominator,
1639         add_to_dominance_info, delete_from_dominance_info): update for new
1640         representation.
1641         (get_dominated_by, redirect_immediate_dominators): Rewrite using
1642         enumerate_sons.
1643         * ifcvt.c (process_double_test_block, merge_if_block, find_cond_trap,
1644         find_if_case_1, find_if_case_2): Remove killed blocks from dominance
1645         structure.
1646
1647         * et-forest.h: Update copyright; revamp all function to operate on
1648         nodes
1649         (et_forest_value): Kill.
1650         (et_forest_enumerate_sons, et_forest_node_value): New.
1651         * et-forest.c: Update copyright.
1652         * et-forest.h: Update copyright; revamp all function to operate on
1653         nodes
1654         (et_forest_value): Kill.
1655         (et_forest_enumerate_sons, et_forest_node_value): New.
1656
1657         Thu Jun  6 22:43:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
1658
1659         * basic-block.h: Inlude et-forest.h
1660         (basic_block_def): Kill dominator.
1661         (dominance_info): New type.
1662         (loops): Use dominace_info.
1663         (dominace handling functions): Take dominace_info as argument
1664         instead of bitmaps.
1665         (create_preheader): Likewise.
1666         * cfg.c (entry_exit_blocks): Kill dominator.
1667         (dump_flow_info): Do not dump dominators.
1668         * cfglayout.c (cleanup_unconditonal_jumps): Delete deleted block from
1669         dominators.
1670         * cfgloop.c (flow_pre_header_find): Use dominacne_info.
1671         (flow_loops_pre_header_scan, make_forwarder_block,
1672         canonicale_loop_headers, flow_loops_find): Likewise.
1673         * dominance.c: Include error.h
1674         (idoms_to_doms): Kill.
1675         (bb_hash_func, bb_eq_func): New static functions.
1676         (debug_dominace_info): New global function.
1677         (calculate_dominance_info): Use new et forest structure.
1678         (free_dominace_info, get_immediate_dominator, set_immediate_dominator,
1679         get_dominated_by, redirect_immediate_dominators,
1680         nearest_common_dominator, dominated_by_p, verify_dominators,
1681         recount_dominator, iterate_fix_dominators, add_to_dominace_info,
1682         delete_from_dominance_info): New global functions.
1683         * gcse.c (domnators): CHange to dominance_info.
1684         (alloc_hoist_mem): Do not alloc dominators
1685         (free_code_hoist_mem): Use free_dominance_info.
1686         (compute_code_hoist_data): Use dominance_info.
1687         (hoist_code): Likewise.
1688         * ifcvt.c (post_dominators): Likewise.
1689         (find_if_case_2, if_convert): Likewise.
1690         * predict.c (process_note_predictions, process_note_prediction,
1691         estimate-probability): Likewise.
1692         * sched-rgn.c (find_rgns, init_regions): Likewise.
1693         * ssa-dce.c (find_all_control_dependences, fint_control_depemndence,
1694         find_pdom, delete_insn_bb, ssa_eliminate_dead_code): Likewise.
1695         * ssa.c (compute_dominance_frontiers_1, rename_block, rename_registers,
1696         find_evaluations, convert_to_ssa): Likewise.
1697         * ssa.h (compute_dominance_frontiers): Likewise.
1698
1699         Thu Jun  6 22:57:34 CEST 2002  Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
1700
1701         * Makefile.in (et-forest.c): Add.
1702         * et-forest.c: New file.
1703         * at-forest.h: New file.
1704
1705 2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1706
1707         * c-decl.c (c_decode_option): Use ARRAY_SIZE in lieu of explicit
1708         array size calculation.
1709         * gengtype.c (NUM_BASE_FILES, create_file, write_gc_root):
1710         Likewise.
1711
1712         * diagnostic.c (diagnostic_kind_text): Const-ify.
1713         * gengtype.c (lang_names): Likewise.
1714
1715 Thu Jun 20 17:25:29 CEST 2002  JAn HUbicka  <jh@suse.cz>
1716
1717         * combine.c (subst): Be prepared for simplify_subreg to return VOIDmode.
1718
1719 2002-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1720
1721         * config/sol2.h: New file.
1722         * config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h.
1723         (sparc64-wrs-vxworks*): Include it before sparc/sol2.h.
1724         (sparc-*-chorusos*): Likewise.
1725         (sparc-*-elf*): Likewise.
1726         (sparc-*-rtems*, sparc-*-rtemself*): Likewise.
1727         (sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise.
1728         (sparc-hal-solaris2*): Likewise.
1729         (sparc-*-solaris2*): Likewise.
1730         (sparclite-*-elf*): Likewise.
1731         (sparc86x-*-elf*): Likewise.
1732         (sparc64-*-elf*): Likewise.
1733
1734         * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to
1735         config/sol2.h.
1736         (ASM_SPEC): Override config/sol2.h version for now.
1737         Removed obsolete GAS_REJECTS_MINUS_S variant.
1738         (WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h.
1739         (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
1740         (TARGET_OS_CPP_BUILTINS): Likewise.
1741         Assert system=unix.
1742         (CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC.
1743         (LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to
1744         config/sol2.h.
1745         (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
1746         (ASM_CPU_SPEC): Define.
1747         (SUBTARGET_EXTRA_SPECS): Define.
1748
1749         * config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already
1750         in config/sparc/sol2.h.
1751         (ASM_SPEC): Moved to config/sol2.h.
1752         (CPP_CPU_SPEC): Simplified.
1753         (STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for
1754         consistency.
1755         (STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC.
1756         (STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC,
1757         STARTFILE_ARCH64_SPEC.
1758         (STARTFILE_SPEC): Moved to config/sol2.h
1759         (SUBTARGET_EXTRA_SPECS): Add startfile_arch.
1760         (LINK_ARCH32_SPEC): Moved to config/sol2.h.
1761         (LINK_ARCH64_SPEC): Simplified.
1762         (LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support.
1763         (LINK_SPEC): Moved to config/sol2.h
1764
1765         * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to
1766         config/sol2.h.
1767         Use BITS_PER_WORD for size.
1768         (WINT_TYPE, WINT_TYPE_SIZE): Likewise.
1769         (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
1770         (CPP_PREDEFINES): Removed OS-specific part handled by
1771         TARGET_OS_CPP_BUILTINS.
1772         (CPP_SUBTARGET_SPEC): Moved to config/sol2.h.
1773         (CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS.
1774         (ASM_SPEC): Moved to config/sol2.h.
1775         (PREFERRED_DEBUGGING_TYPE): Likewise.
1776         (STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise.
1777         (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
1778         (TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version.
1779         (TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h
1780
1781         * config.gcc (i?86-*-solaris2*): Removed obsolete gas support.
1782         * config/i386/sol2gas.h: Removed.
1783
1784 Thu Jun 20 12:14:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
1785
1786         * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns.
1787
1788 2002-06-16  Aldy Hernandez  <aldyh@redhat.com>
1789
1790         * gcc.c-torture/execute/simd-1.c: New.
1791
1792         * gcc.dg/simd-1.c: New.
1793
1794         * doc/extend.texi (Vector Extensions): Document that we can
1795         specify simd types not specifically supported by the hardware.
1796         Document that simd types can be used as function arguments.
1797         Document that signness does make a difference in SIMD types.
1798         Misc cleanups and revisions to the vector extensions section.
1799
1800         * simplify-rtx.c (simplify_subreg): Simplify subregs of vector
1801         constants.
1802
1803         * expr.c (vector_mode_valid_p): New.
1804
1805         * expr.h: Add vector_mode_valid_p.
1806
1807         * defaults.h (VECTOR_MODE_SUPPORTED_P): Set default.
1808
1809         * c-common.c (type_for_mode): Always build vector nodes regardless
1810         of VECTOR_MODE_SUPPORTED_P.
1811         (handle_mode_attribute): Error if we can't emulate a nonexisting
1812         vector mode.
1813         (handle_vector_size_attribute): Same.
1814
1815         * optabs.c (expand_binop): Open-code vector operations.
1816         (expand_unop): Open-code vector unops.
1817         (expand_vector_binop): New.
1818         (expand_vector_unop): New.
1819
1820         * c-typeck.c (build_binary_op): Allow vectors in binops.
1821         Allow vectors in conditional operatiors.
1822         (build_unary_op): Allow vectors in unary minus.
1823
1824         * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on
1825         TARGET_ALTIVEC.
1826
1827 2002-05-20  Richard Henderson  <rth@redhat.com>
1828
1829         * c-common.c (c_common_get_alias_set): Correctly handle characters.
1830         Rearrange order of expressions; don't handle vectors here.
1831         * alias.c (get_alias_set): Let vectors match their components.
1832
1833 2002-06-19  Chris Demetriou  <cgd@broadcom.com>
1834
1835         * config/mips/mips.c (mips_emit_prefetch): Use hints which
1836         match desired locality.
1837
1838 2002-06-19  Dhananjay R. Deshpande  <dhananjayd@kpit.com>
1839
1840         * config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define.
1841         (h8300_insert_attributes): New.
1842
1843 2002-06-19  Akim Demaille  <akim@epita.fr>
1844
1845         * c-parse.in (initelt: identifier ':' initval): Add an empty
1846         action to fix a type clash.
1847         (aliasdecl, classdef): Add the missing closing `;'.
1848         Whitespace changes.
1849         * gengtype-yacc.y (typedef_struct): Add an empty action to preevnt
1850         $$ = $1 type clashes.
1851
1852 2002-06-19  Eric Christopher  <echristo@redhat.com>
1853
1854         * config/mips/mips.c (symbol_operand): New function.
1855         (mips_emit_prefetch): Ditto.
1856         * config/mips/mips-protos.h: Define.
1857         * config/mips/mips.h (ISA_HAS_PREFETCH): Define.
1858         (CONSTANT_ADDRESS_P): Adjust, use TARGET_GAS.
1859         (LEGITIMIZE_ADDRESS): Ditto.
1860         * config/mips/mips.md (prefetch, prefetch_si_address,
1861         prefetch_si, prefetch_di_address, prefetch_di): New patterns.
1862
1863 2002-06-19  Eric Christopher  <echristo@redhat.com>
1864
1865         * config/fp-bit.h: Add unordered defines for gofast.
1866
1867 2002-06-19  Vladimir Makarov  <vmakarov@redhat.com>
1868
1869         * genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON,
1870         DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV,
1871         DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE,
1872         REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with
1873         checking and without it.
1874         (decl_name, decl_mode_check_failed, regexp_name,
1875         regexp_mode_check_failed): New functions.
1876         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1877         gen_presence_set, gen_absence_set, gen_automaton,
1878         gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
1879         gen_regexp_sequence, gen_reserv, gen_insn_reserv,
1880         automaton_decl_hash, automaton_decl_eq_p): Use the macros.
1881         (find_automaton_decl): Ditto.  Set up mode of work_automaton_decl.
1882         (insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros.
1883         (find_insn_decl): Ditto.  Set up mode of work_insn_decl.
1884         (decl_hash, decl_eq_p): Use the macros.
1885         (find_decl): Ditto.  Set up mode of work_decl.
1886         (process_excls, process_presence_absence, process_decls,
1887         check_automaton_usage, process_regexp, process_regexp_decls,
1888         check_usage, loop_in_regexp, check_loops_in_regexps,
1889         process_regexp_cycles, add_advance_cycle_insn_decl,
1890         initiate_states, initiate_excl_sets,
1891         initiate_presence_absence_sets, copy_insn_regexp, transform_1,
1892         transform_2): Use the macros.
1893         (transform_3): Ditto.  Check mode before making transformations of
1894         ALLOF.
1895         (regexp_transform_func, transform_insn_regexps,
1896         process_unit_to_form_the_same_automaton_unit_lists,
1897         form_the_same_automaton_unit_lists_from_regexp,
1898         form_the_same_automaton_unit_lists,
1899         process_seq_for_forming_states, process_alts_for_forming_states,
1900         create_alt_states, form_ainsn_with_same_reservs, make_automaton,
1901         form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags,
1902         estimate_one_automaton_bound, compare_max_occ_cycle_nums,
1903         units_to_automata_heuristic_distr, create_ainsns,
1904         units_to_automata_distr, create_automata): Use the macros.
1905         (form_regexp): Ditto.  Fix typo in access to fields of ALLOF.
1906         (longest_path_length, min_issue_delay_pass_states,
1907         output_dead_lock_vect, output_tables, output_insn_code_cases,
1908         output_internal_insn_latency_func, output_print_reservation_func,
1909         output_description, output_automaton_units, generate): Use the
1910         macros.
1911         (make_insn_alts_attr): Ditto.  Check case when there are not
1912         alternatives in the reservation.
1913         (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr,
1914         make_bypass_attr, form_important_insn_automata_lists,
1915         expand_automata): Use the macros.
1916
1917 2002-06-20  Tim Josling  <tej@melbpc.org.au>
1918
1919         * Makefile.in: Clean up code to check for misspecified languages
1920         in enable-languages.
1921
1922 2002-06-19  Andrew Pinski <pinskia@physics.uc.edu>
1923
1924         * cpptrad.c (_cpp_replacement_text_len): initialize len.
1925
1926 2002-06-19  Jason Merrill  <jason@redhat.com>
1927
1928         * Makefile.in (unstrap, restrap): New targets.
1929         (bootstrap): Mention restrap.
1930
1931 2002-06-19  Matt Kraai  <kraai@alumni.cmu.edu>
1932
1933         * except.c (ehl_free): Remove.
1934
1935         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Correct misnamings of
1936         builtin_define and builtin_define_std.
1937
1938 2002-06-19  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
1939
1940         * config/ns32k/ns32k.md: Give "*xxx" names to all unnamed insn's.
1941         (sCOND): Restrict operand class so that gcc knows how to reload them.
1942         (bitfield_set): Merge two unnamed insn's using alternatives.
1943         (call_value): Remove constraint on unused uperand.
1944         (udivmodhi4, udivmodsi4, udivmoddihi4_internal): Remove.
1945         (udivmoddiqi4_internal, udivmoddihi4, udivmoddiqi4): Remove.
1946
1947         * longlong.h (count_trailing_zeros): Escape newline and beautify.
1948
1949 2002-06-19  Mark Mitchell  <mark@codesourcery.com>
1950
1951         * Makefile.in (QMTEST_DIR): Simplify definition.
1952
1953 2002-06-19  Nick Clifton  <nickc@cambridge.redhat.com>
1954
1955         * config/d30v/d30v.h (CUMULATIVE_ARGS): Replace typedef with
1956         #define.
1957
1958 2002-06-19  Neil Booth  <neil@daikokuya.co.uk>
1959
1960         * cpphash.h (struct cpp_reader): Make date and time strings.
1961         (_cpp_builtin_macro_text, _cpp_copy_replacement_text,
1962         _cpp_replacement_text_len): New.
1963         * cppinit.c (cpp_create_reader): Update.
1964         (init_builtins): Register appropriate builtins for -traditional-cpp.
1965         * cppmacro.c (new_number_token): Remove.
1966         (_cpp_builtin_macro_text): New.
1967         (builtin_macro): Use it.
1968         (cpp_macro_definition): Update to handle traditional macros.
1969         * cppmain.c (cb_line_change): Don't do column positioning for
1970         traditional output.
1971         * cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open.  New
1972         state ls_fun_close.
1973         (skip_whitespace): Fix.
1974         (maybe_start_funlike): Don't set state.parsing_args.
1975         (scan_out_logical_line): Remove duplicate error.  Use lex_state
1976         rather than state.parsing_args.
1977         (push_replacement_text): Handle builtins.
1978         (_cpp_replacement_text_len, _cpp_copy_replacement_text): New.
1979
1980 2002-06-18  Hans-Peter Nilsson  <hp@axis.com>
1981             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1982
1983         * config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with
1984         attribute __always_inline__.
1985
1986 2002-06-18  Bob Wilson  <bob.wilson@acm.org>
1987
1988         * config/xtensa/xtensa.h (FUNCTION_PROFILER): Respect flag_pic
1989         when generating the call to _mcount.
1990         (NO_PROFILE_COUNTERS): Define.
1991
1992 2002-06-18  Richard Henderson  <rth@redhat.com>
1993
1994         * print-rtl.c (print_rtx): Adjust NOTE argument numbers for
1995         2002-06-02 change.
1996
1997 Tue Jun 18 20:53:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
1998
1999         * t-sh (MULTILIB_EXCEPTIONS): Set to ml.
2000         config/sh/t-linux (MULTILIB_EXCEPTIONS): Clear.
2001         * config/sh/t-netbsd (MULTILIB_EXCEPTIONS): Likewise.
2002         * config/sh/t-sh64 (MULTILIB_EXCEPTIONS): Likewise.
2003
2004         * sh-protos.h (sh_pr_interrupt): Declare.
2005         * sh.c (sh_pr_interrupt): New function.
2006         (print_operand, calc_live_regs, sh_expand_prologue): Use it.
2007         (sh_hard_regno_rename_ok): Likewise.
2008         * sh.h (NORMAL_MODE): FP_MODE_NONE for interupt handlers.
2009
2010 2002-06-18  Vladimir Makarov  <vmakarov@redhat.com>
2011
2012         * rtl.def (DEFINE_AUTOMATON): Add description of new options
2013         `time' and `v'.  Fix incorrect description of option `w'.
2014
2015         * doc/md.texi: Ditto.
2016
2017         * genautomata.c (TIME_OPTION, V_OPTION): New macros.
2018         (gen_automata_option): Process the new options.
2019         (transform_2, transform_3): Initialize some variables.
2020         (initiate_automaton_gen): Use the new macros.
2021
2022 2002-06-18  Richard Sandiford  <rsandifo@redhat.com>
2023
2024         * config/mips/mips-protos.h (mips_initial_elimination_offset): Declare.
2025         (mips_set_return_address, mips_restore_gp): Declare.
2026         * config/mips/mips.h (struct mips_frame_info): Move to mips.c
2027         (current_frame_info): Remove.
2028         (INITIAL_ELIMINATION_OFFSET): Use mips_initial_elimination_offset.
2029         * config/mips/mips.c: Remove uses of current_frame_info.
2030         (struct mips_frame_info): Moved from mips.h.  Remove 'insns_len'.
2031         (struct machine_function): Add 'frame' and 'insns_len'.
2032         (current_frame_info, zero_frame_info): Remove.
2033         (mips_restore_gp, mips_set_return_address): New.
2034         (mips_initial_elimination_offset): New.
2035         * config/mips/mips.md (exception_receiver): Use mips_restore_gp.
2036         (eh_return define_split): Use mips_set_return_address.
2037
2038 2002-06-18  Neil Booth  <neil@daikokuya.demon.co.uk>
2039
2040         * cpplib.c (dtable): Update.
2041         (end_directive): Decrement expansion prevention count.
2042         Clear state.in_expression.
2043         (prepare_directive_trad): Set state.in_expression.
2044         Increment expansion prevention count.
2045         * cpptrad.c (enum ls): New.
2046         (_cpp_overlay_buffer): Set overlaid_buffer.
2047         (_cpp_remove_overlay): Use overlaid_buffer.
2048         (_cpp_read_logcial_line_trad): Update buffer when it might
2049         have changed.
2050         (scan_out_logical_line): Handle state transitions for assertions
2051         and defined() in #if, and for funlike invocations including the
2052         directive case.  Handle '<' and '>' as a quote mechanism in
2053         #include.  Warn about unterminated macro invocations.
2054         * cpphash.h (struct lexer_state): New member in_expression.
2055         (struct cpp_reader): New member overlaid buffer.
2056
2057 2002-06-18  Hans-Peter Nilsson  <hp@axis.com>
2058
2059         * config/cris/arit.c (do_31div, __Udiv, __Umod): Mark prototype
2060         __always_inline__.
2061
2062 2002-06-18  Alan Modra  <amodra@bigpond.net.au>
2063
2064         * config/ia64/ia64.md (doloop_end_internal): Correct rtl.
2065
2066         * doloop.c (doloop_optimize): Extract pattern from insn.
2067
2068 2002-06-17  Matt Kraai  <kraai@alumni.cmu.edu>
2069
2070         * doc/extend.texi (Function Attributes): Remove `,...' from @var.
2071
2072 2002-06-17  Jeff Law <law@redhat.com>
2073
2074         * libgcc2.c: Do not include symcat.h or machmode.h.
2075
2076 2002-06-17  Richard Henderson  <rth@redhat.com>
2077
2078         PR target/6922
2079         * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
2080
2081 2002-06-17  Tom Tromey  <tromey@redhat.com>
2082
2083         * dwarfout.c: Include function.h.
2084
2085 2002-06-17  Andreas Schwab  <schwab@suse.de>
2086
2087         * print-rtl.c (print_rtx): Print space before vector, not after.
2088         (debug_rtx): Clear sawclose before printing.
2089         (debug_rtx_list): Print newline after each list element.
2090         (debug_rtx_range): Likewise.
2091
2092 2002-06-17  Richard Henderson  <rth@redhat.com>
2093
2094         * function.h (struct function) [funcdef_no]: Rename profile_label_no.
2095         (current_function_funcdef_no): Similarly.
2096         * function.c (funcdef_no): Similarly.
2097         (prepare_function_start): Set current_function_funcdef_no.
2098         (expand_function_start): Don't set current_function_profile_label_no.
2099         * dwarf2out.h (current_funcdef_number): Remove.
2100         * dwarf2out.c (current_funcdef_number): Remove.  Replace with
2101         current_function_funcdef_no throughout.
2102         * dwarfout.c, vmsdbgout.c: Similarly.
2103         * except.c (sjlj_funcdef_number): Remove.
2104         (sjlj_emit_function_enter): Use current_function_funcdef_no instead.
2105         (output_function_exception_table): Likewise.
2106         * final.c (profile_function): Use current_function_funcdef_no
2107         instead of current_function_profile_label_no.
2108
2109 2002-06-17  Vladimir Makarov  <vmakarov@redhat.com>
2110
2111         * sched-ebb.c (init_ready_list): Check INSN_P first.
2112
2113 Mon Jun 17 17:26:15 2002  J"orn Rennecke <joern.rennecke@superh.com>
2114
2115         * sh.md (divsi3): Update way how to find insns in a sequence.
2116
2117         * reload1.c (merge_assigned_reloads): Don't change reloads
2118         other than RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
2119         to RELOAD_OTHER when there are conflicting input reloads.
2120
2121 2002-06-17  Richard Earnshaw  (rearnsha@arm.com)
2122
2123         * function.c (epilogue_done): Correctly build a sequence of insns for
2124         a sibcall epilogue.
2125
2126 2002-06-17  Nick Clifton  <nickc@cambridge.redhat.com>
2127
2128         * config/fr30/fr30.h (CUMULATIVE_ARGS): Replace typedef with
2129         #define.
2130
2131         * config/m32r/m32r.md: Replace gen_sequence with get_insns.
2132
2133 2002-06-16  Richard Henderson  <rth@redhat.com>
2134
2135         * config/i386/i386.h (BIGGEST_FIELD_ALIGNMENT): Define instead
2136         of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
2137
2138 2002-06-16  Richard Henderson  <rth@redhat.com>
2139
2140         PR opt/6722
2141         * regclass.c (globalize_reg): Update regs_invalidated_by_call.
2142
2143 2002-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2144
2145         * config.gcc: Add i386/sysv4-cpp.h; remove i386-aout.h from vxworks.
2146         * config/i386/i386-aout.h, config/i386/i386elf.h,
2147         config/i386/sysv4.h: Remove CPP_PREDEFINES.
2148         * config/i386/linux64.h, config/i386/i386elf.h, config/i386/mach.h,
2149         config/i386/netware.h, config/i386/rtemself.h, config/i386/sco5.h,
2150         config/i386/sol2.h, config/i386/vsta.h, config/i386/vxi386.h,
2151         config/i386/win32.h: Use TARGET_OS_CPP_BUILTINS rather than
2152         CPP_PREDEFINES and part of CPP_SPEC.
2153         * config/i386/sysv4-cpp.h: New.
2154
2155 2002-06-16  Richard Henderson  <rth@redhat.com>
2156
2157         PR c/7030
2158         * dwarf2out.c (modified_type_die): Don't assign the qualified die
2159         to the unqualified type.
2160
2161 Sun Jun 16 22:16:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
2162
2163         * i386-protos.h (x86_field_alignment): Declare.
2164         * i386.c (x86_field_alignment): Define.
2165         * i386.h (ADJUST_FIELD_ALIGNMENT): New.
2166         (BIGGEST_FIELD_ALIGNMENT): Kill.
2167
2168 2002-06-16  Richard Henderson  <rth@redhat.com>
2169
2170         * vax.md (casesi): Use emit_jump_insn.  Tidy expander pattern.
2171
2172 2002-06-16  Richard Henderson  <rth@redhat.com>
2173
2174         * c-common.c (flag_ms_extensions): Move from c++ front end.
2175         * c-common.h (flag_ms_extensions): Declare.
2176         * c-decl.c (c_decode_option): Add -fms-extensions.
2177         (grokfield): Don't accept anonymous structures in ISO C mode;
2178         accept only unnamed anonymous structures in GNU C mode; accept
2179         Plan 9 extensions in MS mode.
2180         * c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from
2181         SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers.
2182         (extension): Clear flag_iso.
2183         * doc/invoke.texi (C Dialect Options): Add -fms-extensions.
2184
2185 2002-06-16  Hans-Peter Nilsson  <hp@axis.com>
2186
2187         PR target/7042
2188         * reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit
2189         early if current_function_epilogue_delay_list is non-empty.
2190         * config/cris/cris.md ("return"): Add sanity check asserting that
2191         current_function_epilogue_delay_list is empty.
2192
2193 2002-06-16  Jeff Law <law@redhat.com>
2194
2195         * emit-rtl.c (gen_rtx_REG): Temporarily turn off automatic
2196         sharing of hard registers.
2197
2198         * toplev.c (rest_of_compilation): Remove redundant conditional.
2199
2200         * toplev.c (rest_of_compilation): Perform a simpler, less costly
2201         cleanup of the CFG when not optimizing.
2202
2203 2002-06-16  Alan Modra  <amodra@bigpond.net.au>
2204
2205         * gcc.c (main): Correct startfile_prefix_spec check.
2206
2207 2002-06-12  Geoffrey Keating  <geoffk@redhat.com>
2208
2209         * config.gcc: Revert rth's patch of 2002-05-18.  Instead,
2210         include both darwin.o and rs6000-c.o.
2211
2212 2002-06-15  Roger Sayle  <roger@eyesopen.com>
2213
2214         * expr.c (compare_from_rtx): Call simplify_relational_operation
2215         on all comparisons, not just those between integer constants,
2216         with the correct (possibly unsigned) comparison code.
2217         (do_compare_rtx_and_jump): Likewise.
2218
2219 2002-06-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2220
2221         * Makefile.in (tm_defines): New configuration variable.
2222         (cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES.
2223         Pass tm_defines in TM_DEFINES.
2224         (cs-tm_p.h): Rename DEFINES to XM_DEFINES.  Pass TM_DEFINES.
2225         * config.gcc (tm_defines): New configuration variable.
2226         (hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and
2227         pa-7100.h headers.  Change hppa1* scheduling default to 7100LC.
2228         * configure.in: Substitute tm_defines.
2229         * configure: Rebuilt.
2230         * mkconfig.sh: Rename DEFINES to XM_DEFINES.  Output TM_DEFINES.
2231         * doc/install.texi: Update.
2232         * pa/pa-700.h: Delete file.
2233         * pa/pa-7100.h: Delete file.
2234
2235 2002-06-15  Roger Sayle  <roger@eyesopen.com>
2236
2237         * fold-const.c (comparison_to_compcode): New function to convert
2238         an comparison TREE CODE into a bit-based representation.
2239         (compcode_to_comparison): New function to convert from this bit
2240         based representation back to a comparison TREE CODE.
2241         (fold_truthop): Simplify (x<y) && (x==y) and related composite
2242         comparisons.
2243
2244 2002-06-15  Aldy Hernandez  <aldyh@redhat.com>
2245
2246         * tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
2247
2248         * stor-layout.c (compute_record_mode): Remove check for
2249         FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for
2250         MEMBER_TYPE_FORCES_BLK.  Pass new mode field to
2251         MEMBER_TYPE_FORCES_BLK.
2252
2253         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same.
2254
2255         * config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same.
2256
2257 2002-06-14  Jeff Sturm  <jsturm@one-point.com>
2258
2259         * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS.
2260
2261 2002-06-14  Steve Ellcey  <sje@cup.hp.com>
2262
2263         * configure.in (USE_UNWIND_EXCEPTIONS): Add support to set
2264         USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
2265         * configure, config.in: Regenerate.
2266
2267 2002-06-14  Eric Botcazou  <ebotcazou@multimania.com>
2268
2269         * loop.c (check_final_value): Use v->always_executed
2270         instead of v->always_computable.
2271         * unroll.c (final_giv_value): Don't calculate the final
2272         value as a function of the biv if the giv is not computed
2273         for every loop iteration.
2274
2275 2002-06-14  Eric Botcazou  <ebotcazou@multimania.com>
2276
2277         * loop.c (for_each_insn_in_loop): Fix formatting and comments.
2278
2279 2002-06-14  Eric Botcazou  <ebotcazou@multimania.com>
2280
2281         PR c/6677
2282         * convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass
2283         the truncation down when the target type is signed.
2284         [trunc1]: Use unsigned arithmetic for LSHIFT_EXPR.
2285         * fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through
2286         the conversion if the target type is a smaller type.
2287
2288 2002-06-14  Richard Henderson  <rth@redhat.com>
2289
2290         * fold-const.c (fold) [compare ops]: Move X>=C / X<C transfomation
2291         earlier.  Re-factor comparisons vs extrema.
2292
2293 2002-06-14  Richard Henderson  <rth@redhat.com>
2294
2295         * config/alpha/alpha.md (builtin_zapnot): Fix op2 mode.
2296
2297 2002-06-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2298
2299         * rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE.
2300         * sched-deps.c (add_dependence): Likewise.
2301         (group_leader): Likewise.
2302         * sched-rgn.c (init_ready_list): Likewise.
2303         * doc/rtl.texi: Adjust accordingly.
2304
2305 2002-06-13  Jeffrey Law  <law@redhat.com>
2306
2307         * gcse.c (delete_null_pointer_checks_1): Inform caller if any
2308         null pointer checks were eliminated.  Update prototype.
2309         (delete_null_pointer_checks): Similarly.
2310         * rtl.h (delete_null_pointer_checks): Update prototype.
2311         * toplev.c (rest_of_compilation): Only run cleanup_cfg if
2312         delete_null_pointer_checks deletes one or more null
2313         pointer checks.  Do not run cleanup_cfg before gcse, the
2314         CFG is accurate and optimized at that point..
2315
2316         * rs6000.c (rs6000_frame_related): Avoid unwanted sharing
2317         of hard registers.
2318
2319 2002-06-14  Ulrich Weigand  <uweigand@de.ibm.com>
2320
2321         * Makefile.in (libgcc.mk): Depend on specs.
2322
2323 Fri Jun 14 12:15:11 2002  J"orn Rennecke <joern.rennecke@superh.com>
2324
2325         * sh.md (mulsi3): Update way how to find insns in a sequence.
2326
2327 Fri Jun 14 12:04:02 2002  Dhananjay R. Deshpande <dhananjayd@kpit.com>
2328
2329         * sh.h: Define HARD_REGNO_RENAME_OK
2330         * sh.c: sh_hard_regno_rename_ok: New. If current function has
2331         interrupt_handler attribute, only registers saved on stack are OK.
2332         * sh-protos.h: Declare sh_hard_regno_rename_ok.
2333
2334 2002-06-14  Kaz Kojima  <kkojima@gcc.gnu.org>
2335
2336         * config/sh/sh.md (jump): Emit jump insn.
2337         (call_pcrel): Get pattern of the result of gen_call_site.
2338         (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
2339
2340 2002-06-14  Neil Booth  <neil@daikokuya.demon.co.uk>
2341
2342         * cpphash.h (struct cpp_buffer): Remove saved_line_base.
2343         * cpptrad.c: Update comments.
2344         (skip_whitespace, copy_comment): Take a new parameter.
2345         (skip_escaped_newlines): Don't duplicate escaped newline test.
2346         (copy_comment): Different location for CUR, decide here how
2347         to copy / replace the comment.
2348         (skip_whitespace): Copy whitespace.
2349         (_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base.
2350         (scan_out_logical_line): Let copy comment handle keeping or
2351         replacing comments.
2352         (scan_parameters, _cpp_create_trad_definition): Update.
2353
2354 2002-06-13  Alan Lehotsky  <apl@alum.mit.edu>
2355
2356         * reload.c (get_secondary_mem,find_reloads_address,
2357         find_reloads_address_1): Pass reference to MEM to find_reloads_address
2358         so that LEGITIMIZE_RELOAD_ADDRESS will be called.
2359
2360 2002-06-13  Jessica Han  <jessica@cup.hp.com>
2361
2362         * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
2363         (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
2364         * doc/tm.texi: Document them.
2365         * config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New.
2366         (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
2367         (TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode.
2368         (ASM_OUTPUT_FDESC): Likewise.
2369
2370 2002-06-13  Eric Christopher  <echristo@redhat.com>
2371
2372         * diagnostic.c (output_format): Fix thinko.
2373
2374 Thu Jun 13 22:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
2375
2376         * config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define.
2377         (DWARF2_UNWIND_INFO): Define to 0.
2378
2379         * config/sh/sh.c (calc_live_regs): Don't use initial_value
2380         optimization for PR_MEDIA_REG.
2381
2382 2002-06-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2383
2384         * cpphash.h (_cpp_lex_identifier_trad): Remove.
2385         * cpplib.c (end_directive): Don't skip, always remove overlay
2386         apart from #define.
2387         (prepare_directive_trad): Handle NULL pfile->directive.
2388         (_cpp_handle_directive): Always call prepare_directive_trad
2389         if traditional.
2390         * cppmain.c (check_multiline_token): Rename account_for_newlines,
2391         generalize inputs.
2392         (scan_translation_unit_trad): Use it.
2393         * cpptrad.c (skip_comment): Rename copy_comment, copy comment to
2394         output, get escaped newline in comment close correct.
2395         (check_output_buffer, skip_whitespace): Update.
2396         (_cpp_lex_identifier_trad): Remove.
2397         (scan_out_logical_line): Handle -C and comments in directives
2398         properly.
2399
2400 Thu Jun 13 20:18:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
2401
2402         * config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
2403         * config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
2404         * sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
2405         (SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
2406         (SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
2407         (SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
2408         (SELECT_SH5_COMPACT_NOFPU): Likewise.
2409         (TARGET_SWITCHES): Use them.
2410         (TARGET_CPU_DEFAULT): Define if not already defined.
2411         (TARGET_DEFAULT): Use it.
2412         (LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
2413         * config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
2414         * config/sh/t-monolib: New file.
2415
2416 2002-06-13  Roger Sayle  <roger@eyesopen.com>
2417
2418         * toplev.c (rest_of_compilation): Simplify (and correct) the
2419         logic of the first delete-null-pointer-checks pass.
2420
2421 Thu Jun 13 18:24:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
2422
2423         * i386.c (ix86_expand_movstr):  Fix pasto.
2424
2425 Thu Jun 13 18:18:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
2426
2427         * reload.c (find_valid_class):  Fix thinko in my previous patch.
2428
2429 2002-06-13  Ulrich Weigand  <uweigand@de.ibm.com>
2430
2431         * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
2432         * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
2433         (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
2434         (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
2435
2436 2002-06-13  Gabriel Dos Reis  <gdr@codesourcery.com>
2437
2438         * tree-inline.c (expand_call_inline): Don' mess with _DECL
2439         fields.
2440
2441 2002-06-13  Gabriel Dos Reis  <gdr@codesourcery.com>
2442
2443         * diagnostic.c (output_format): Recognize "%H" as a format
2444         specifier for a location_t.
2445         (text_specifies_location): New function.
2446         (diagnostic_set_info): Use it.
2447
2448 2002-06-13  Jeffrey Law  <law@redhat.com>
2449
2450         * emit-rtl.c (static_regno_reg_rtx): Define.
2451         (init_emit_once): Initialize static_regno_reg_rtx.
2452         (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead
2453         of building new hard reg objects once per function.
2454         (gen_rtx_REG): Try to share hard regs.
2455         * regclass.c (init_fake_stack_mems): New function broken out from
2456         init_regs.
2457         * rtl.h (init_fake_stack_mems): Declare.
2458         * toplev.c (lang_independent_init): Call init_regs before
2459         init_emit_once.  Call init_fake_stack_mems after init_emit_once.
2460
2461         * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
2462
2463         * alias.c (argument_registers): Remove.
2464         (init_alias_once): Initialize static_reg_base_value here.  Remove
2465         initialization of argument_registers.
2466         (init_alias_once_per_function): Remove.
2467         (init_alias_analysis): Copy all the entries from static_reg_base_value
2468         into new_reg_base_value all at once.
2469         * rtl.h (init_alias_once_per_function): Remove declaration.
2470         * function.c (prepare_function_start): Do not call
2471         init_alias_once_per_function.
2472
2473         * caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
2474         starting a sequence and emitting an INSN.
2475
2476 2002-06-13  Richard Sandiford  <rsandifo@redhat.com>
2477
2478         * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
2479
2480 2002-06-13  David S. Miller  <davem@redhat.com>
2481
2482         * expmed.c (init_expmed): Remove duplicate init of 'reg'.
2483
2484 2002-06-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2485
2486         * cpplib.c (end_directive): Handle line skipping.  Only remove
2487         the rest of the line if the directive was valid.
2488         * cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when
2489         expanding a traditional macro.
2490         * cpptrad.c (recursive_macro): New.
2491         (read_logical_line_trad): Handle skipping.
2492         (scan_out_logical_line): Continue after a successful directive.
2493         Don't expand macros whilst skipping, or if recursing.
2494         (_cpp_create_trad_definition): scan_out_logical_line now sets
2495         the output current position.
2496
2497 2002-06-12  Eric Christopher  <echristo@redhat.com>
2498
2499         From Chris Demetriou  <cgd@broadcom.com>
2500         * config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix
2501         comment.
2502         (ISA_HAS_MADD_MSUB): Ditto.
2503         (ISA_HAS_NMADD_NMSUB): Ditto.
2504
2505 2002-06-12  Eric Christopher  <echristo@redhat.com>
2506
2507         * config.gcc: Consolidate little endian handling and
2508         little/big endian targets.
2509         * config/mips/elfl.h: Remove file.
2510         * config/mips/elfl64.h: Ditto.
2511         * config/mips/ecoffl.h: Ditto.
2512         * config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove.
2513
2514 2002-06-12  Geoffrey Keating  <geoffk@redhat.com>
2515
2516         * gengtype.h (xvasprintf): New prototype.
2517         (xasprintf): New prototype.
2518         (struct outf): New.
2519         (get_output_file): Return an outf_p.
2520         (header_file): Is now an outf_p.
2521         (base_files): Now are outf_p.
2522         (oprintf): New.
2523         * gengtype.c: Replace all output FILE * with outf_p; use oprintf
2524         rather than stdio operations.  Use xasprintf in a few places,
2525         when appropriate.
2526         (xvasprintf): New.
2527         (xasprintf): New.
2528         (struct filemap): Delete.
2529         (files): Delete.
2530         (output_files): New.
2531         (oprintf): New.
2532         (create_file): Create an outf_p.  Add parameter to indicate output
2533         file name, change all callers.
2534         (open_base_files): Create gtype-desc.c here.
2535         (get_output_file_with_visibility): Rewrite.
2536         (get_output_file_name): Just look at 'name' field in struct outf.
2537         (close_output_files): Rewrite.
2538
2539 2002-06-12  Jason Thorpe  <thorpej@wasabisystems.com>
2540
2541         * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
2542         (MASK_G_FLOAT): Define.
2543         (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
2544         (TARGET_SWITCHES): Likewise.
2545         (TARGET_DEFAULT): Likewise.
2546
2547 2002-06-12  Daniel Jacobowitz  <drow@mvista.com>
2548
2549         * config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
2550         * config/mips/mips.c (mips_output_filename): Don't print a
2551         ".file" directive if we are using DWARF-2.
2552         (mips_output_function_prologue): Do not emit source file
2553         name for TARGET_GAS.
2554
2555 Wed Jun 12 16:45:13 CEST 2002  Jan Hubicka  <jh@suse.cz>
2556
2557         * i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
2558         decide whether emit the short opcode.
2559         * i386.h (x86_shift1): Declare.
2560         (TARGET_SHIFT1): New macro.
2561         * i386.c (x86_shift1): New global variable.
2562
2563         * toplev.c (rest_of_compilation): Call find_basic_block pre-loop
2564         unconditionally; make loop to rebuild CFG; kill unnecesary
2565         find_basic_block calls; kill compute_bb_for_insn call.
2566         * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
2567         * haifa-sched.c (sched_init): Likewise.
2568         * ssa-ccp.c (ssa_const_prop): Likewise.
2569         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
2570
2571 2002-06-11  David S. Miller  <davem@redhat.com>
2572
2573         * emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
2574         active_insn_p.
2575
2576 2002-06-11  Richard Henderson  <rth@redhat.com>
2577
2578         * c-common.c (builtin_define_type_max): New.
2579         (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
2580         __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.
2581
2582         From Joseph S. Myers:
2583         * glimits.h: Rewrite to expect the double underscore definitions
2584         from the compiler.
2585
2586         * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
2587         config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
2588         config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
2589         config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
2590         config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
2591         config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
2592         config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
2593         __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.
2594
2595 2002-06-11  Richard Henderson  <rth@redhat.com>
2596
2597         * config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
2598         (ALPHA_BUILTIN_SET_THREAD_POINTER): New.
2599         (code_for_builtns): Update.
2600         (alpha_init_builtins): Add __builtin_thread_pointer and
2601         __builtin_set_thread_pointer.
2602         (alpha_expand_builtin): Handle void builtins.
2603         * doc/extend.texi (Alpha Built-in Functions): Update.
2604
2605 2002-06-11  Hans-Peter Nilsson  <hp@axis.com>
2606
2607         PR target/6997
2608         * config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
2609
2610 2002-06-11  Zack Weinberg  <zack@codesourcery.com>
2611
2612         * config.gcc: Make the name of the extra-modes file adjustable
2613         by target stanzas.
2614         (s390x, strongarm, xscale stanzas): Use this facility.
2615         * configure.in: Update to match.
2616         * configure: Regenerate.
2617
2618 2002-06-11  Aldy Hernandez  <aldyh@redhat.com>
2619
2620         * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
2621         max/mins as unsigned GE compares.
2622
2623 2002-06-11  Jason Thorpe  <thorpej@wasabisystems.com>
2624
2625         * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
2626         * config/vax/bsd.h: New file.
2627         * config/vax/netbsd.h: Add missing notice.
2628         (CPP_PREDEFINES): Remove.
2629         (TARGET_OS_CPP_BUILTINS): Define.
2630         (CPP_SPEC): Use NETBSD_CPP_SPEC.
2631         * config/vax/openbsd.h: Update copyright years.
2632         (CPP_PREDEFINES): Remove.
2633         (TARGET_OS_CPP_BUILTINS): Define.
2634         * config/vax/ultrix.h: Likewise.
2635         * config/vax/vaxv.h: Likewise.
2636         * config/vax/vms.h: Likewise.
2637         * config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
2638         (CPP_PREDEFINES, CPP_SPEC): Remove.
2639
2640 Wed Jun 12 01:50:28 CEST 2002  Jan Hubicka  <jh@suse.cz>
2641
2642         * i386.md (addqi_1_slp, subqi_1_slp
2643         (andqi_ext0, testqi_ext0): Remove unnecesary check.
2644         (addhi*, addqi*): Simplify "dec" condition.
2645         (testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check.
2646         (and, or, xor to QImode splitters): New.
2647         (iorqi_ext*): New.
2648         (xorqi_ext_0): New.
2649         (xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions.
2650         (andqi_ext_1_rex64): New.
2651         (ashrqi*_slp): New.
2652         (ashlqi*_slp): New.
2653         (lshlqi*_slp): New.
2654         (rotrqi3*_slp): New.
2655         (rotlqi3*_slp): New.
2656
2657 2002-06-11  Geoffrey Keating  <geoffk@redhat.com>
2658
2659         * config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
2660         softfloat.h.
2661         * config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
2662         (CPP_ENDIAN_LITTLE_SPEC): Delete.
2663         * config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
2664         * config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
2665         __LONG_DOUBLE_128__ setting, _CALL_* setting.
2666         (CPP_DEFAULT_SPEC): Delete.
2667         (CPP_FLOAT_DEFAULT_SPEC): Delete.
2668         (CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
2669         (CPP_SYSV_DEFAULT_SPEC): Delete.
2670         (CPP_ENDIAN_BIG_SPEC): Delete.
2671         (CPP_ENDIAN_LITTLE_SPEC): Delete.
2672         (CPP_ENDIAN_SPEC): Delete.
2673         (CPP_SPEC): Don't include cpp_endian, cpp_cpu.
2674         (SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
2675         cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
2676         cpp_longdouble_default.
2677         * config/rs6000/softfloat.h: Delete.
2678         * config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
2679         (EXTRA_SPECS): Delete cpp_cpu.
2680         (TARGET_CPU_CPP_BUILTINS): New.
2681         * config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
2682         prototype.
2683         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
2684         * config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
2685         (CPP_DEFAULT_SPEC): Delete.
2686         * config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
2687         * config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
2688         * config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
2689         (CPP_DEFAULT_SPEC): Delete.
2690         * config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
2691         (CPLUSPLUS_CPP_SPEC): Likewise.
2692         (CPP_CPU_SPEC): Delete.
2693         (CPP_DEFAULT_SPEC): Delete.
2694         * config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
2695         (CPLUSPLUS_CPP_SPEC): Likewise.
2696         (CPP_CPU_SPEC): Delete.
2697         (CPP_DEFAULT_SPEC): Delete.
2698         * config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
2699         (CPP_DEFAULT_SPEC): Delete.
2700         * config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
2701         (CPP_DEFAULT_SPEC): Delete.
2702
2703         * doc/gty.texi: Small updates.
2704
2705 2002-06-12  Gabriel Dos Reis  <gdr@codesourcery.com>
2706
2707         * objc/objc-act.c (warn_with_ivar): Adjust calls to
2708         diagnostic_count_error.
2709         (warn_with_method): Likewise.
2710
2711         * diagnostic.h (warnings_are_errors_message): New field of
2712         diagnostic_context.
2713         (diagnostic_count_error): Rename to diagnostic_count_diagnostic to
2714         match semantics.
2715         * diagnostic.c: Adjust calls to diagnostic_count_error through out.
2716         (diagnostic_count_diagnostic): Make aware of other kinds of
2717         diagnostics.
2718         (diagnostic_initialize): Initialize warnings_are_errors_message field.
2719
2720 2002-06-11  Tom Tromey  <tromey@redhat.com>
2721
2722         For PR java/6520:
2723         * fold-const.c (fold_convert): Don't modify existing tree's type.
2724
2725 2002-06-11  Geoffrey Keating  <geoffk@redhat.com>
2726
2727         * config/rs6000/ppc-asm.h: Remove some Windows NT leftovers.
2728
2729 2002-06-11  Richard Henderson  <rth@redhat.com>
2730
2731         * caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
2732
2733 2002-06-11  Richard Henderson  <rth@redhat.com>
2734
2735         * defaults.h (EH_FRAME_SECTION_NAME): Don't define if
2736         DWARF2_UNWIND_INFO is false.
2737
2738 2002-06-11  Bob Wilson  <bob.wilson@acm.org>
2739
2740         * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
2741
2742         * config/s390/s390.c (emit_prologue): gen_store_multiple
2743         returns an insn now, not a pattern.
2744
2745 2002-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2746
2747         * Makefile.in (gccinstall.dvi): Pass absolute pathnames to
2748         $(TEXI2DVI) -o.
2749
2750 Tue Jun 11 21:53:37 CEST 2002  Jan Hubicka  <jh@suse.cz>
2751
2752         * i386.c (x86_promote_QImode): Set for Athlon
2753         (x86_fast_prefix): New global variable.
2754         (x86_arch_always_fancy_math_387): Fix formating.
2755         * i386.h (x86_fast_prefix): Declare
2756         (TARGET_FAST_PREFIX): define.
2757         * i386.md (and to strict_low_part, HI to SI
2758         promoting splitter): Use new macro.
2759
2760         * i386.h (RTX_COSTS): float_extend is not for free for SSE.
2761
2762 2002-06-11  Zack Weinberg  <zack@codesourcery.com>
2763
2764         * Makefile.in (distclean): Delete junk left in testsuite
2765         directory, too.
2766
2767 2002-06-11  Jeffrey Law <law@redhat.com>
2768
2769         * emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
2770         last insn created by the splitter.
2771
2772         * caller-save.c (init_caller_save): Move creation of SAVEINSN
2773         and RESTINSN into into the scope of the sequence.
2774
2775         * mips.c (mips_expand_prologue): Use emit_jump_insn for trivial
2776         RETURN insns.
2777
2778         * loop.c (loop_regs_scan): Avoid useless generation of REG objects.
2779
2780         * mips.c (function_arg_advance): gen_ashldi3 returns an INSN now,
2781         not the pattern.  So extract the pattern from the insn.
2782
2783         * mips.c (embedded_pic_fnaddr_reg): Fix typo.
2784
2785 2002-06-11  Ulrich Weigand  <uweigand@de.ibm.com>
2786
2787         * config/s390/s390.md (movsi): Only use floating point
2788         register alternatives when operands are already fprs.
2789         (movdi_31, movdi_64): Likewise.
2790
2791 2002-06-11  David S. Miller  <davem@redhat.com>
2792
2793         * emit-rtl.c (try_split): Do not abort on non-INSN_P.
2794         Only run RTX equality checks on INSN_P rtl.
2795
2796 2002-06-11  Ulrich Weigand  <uweigand@de.ibm.com>
2797
2798         * config/s390/s390.md (reload_base, ltorg): Remove.
2799         * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
2800         s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
2801         * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
2802         s390_asm_output_pool_prologue): Likewise.
2803         * s390.h (s390_pool_start_insn): Likewise.
2804
2805         * s390.c (s390_output_symbolic_const): Remove support for
2806         old-style pool chunks.
2807         (s390_function_epilogue): Likewise.
2808         (s390_output_constant_pool): Likewise.  Also, fix incorrect
2809         alignment for 64-bit literal pools.
2810         (print_operand_address): Remove 'y' and 'Y' format flags.
2811         * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
2812         old-style pool chunks.
2813         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
2814         (ASM_OUTPUT_POOL_EPILOGUE): Remove.
2815         (S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove.
2816
2817         * s390.c (consttable_operand): New function.
2818         * s390-protos.h (consttable_operand): Declare it.
2819         * s390.h (PREDICATE_CODES): Add consttable_operand.
2820         * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
2821         consttable_sf, consttable_df, pool_start_31, pool_end_31,
2822         pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
2823         * s390.c (struct constant, struct constant_pool): New data types.
2824         (constant_modes, gen_consttable): New variables.
2825         (s390_start_pool, s390_end_pool, s390_add_pool,
2826         s390_dump_pool, s390_free_pool): New functions.
2827         (s390_chunkify_pool): Completely reimplement literal pool
2828         overflow handling.
2829
2830         * s390.c (s390_pool_overflow): New variable.
2831         * s390.h (s390_pool_overflow): Declare it.
2832         * s390.md (cjump, icjump): Use it to adapt length for out-of-range
2833         jumps in literal pool overflow situations.
2834
2835         * s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
2836         (s390_frame_info): Account for possible use of RETURN_REGNUM
2837         by new literal pool overflow code.
2838         (s390_emit_prologue): Likewise.
2839
2840 2002-06-05  David S. Miller  <davem@redhat.com>
2841
2842         Delete SEQUENCE rtl usage outside of reorg and ssa passes.
2843         * rtl.h (gen_sequence, emit_insns, emit_insns_before,
2844         emit_insns_before_scope, emit_insns_after,
2845         emit_insns_after_scope): Delete declaration.
2846         * ada/misc.c (insert_code_for): Use emit_insn* instead of
2847         emit_insns_foo.
2848         * config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
2849         (alpha_set_memflags): Fix comment.
2850         (set_frame_related_p): Use get_insns instead of gen_sequence.
2851         * config/alpha/alpha.md (setjmp receiver splitter): Avoid
2852         emitting no insns.
2853         * config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
2854         gen_sequence.
2855         (arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
2856         * config/fr30/fr30.c (fr30_move_double): Likewise.
2857         * config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
2858         Likewise.
2859         * config/ia64/ia64.c (spill_restore_mem): Likewise.
2860         * config/ia64/ia64.md (conditional move spliiter): Avoid emitting
2861         no insns.
2862         * config/m32r/m32r.c (gen_split_move_double): Use get_insns
2863         instead of gen_sequence.
2864         * config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
2865         (mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
2866         * config/sh/sh.c (sh_need_epilogue): Likewise.
2867         * config/sparc/sparc.md (current_function_calls_alloca, flat): New
2868         attributes.
2869         (setjmp pattern and split): Use them to avoid splitter which emits
2870         no RTL.
2871         * genattrtab.c (main): Emit include of function.h
2872         * config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
2873         get_insns instead of gen_sequence.
2874         * config/cris/cris.c (cris_split_movdx): Likewise.
2875         * emit-rtl.c (emit_insns*): Kill.
2876         (try_split): Expect insn list instead of SEQUENCE.
2877         (make_jump_insn_raw, make_call_insn_raw): Fix comments.
2878         (emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
2879         Make them abort if a SEQUENCE is given and RTL checking is
2880         enabled.
2881         (emit_*_scope): Don't forget to set scope on final insn.
2882         (gen_sequence): Move from here...
2883         * ssa.c (gen_sequence): To here as private function.
2884         * builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
2885         comments.
2886         (expand_builtin_return, expand_builtin_mathfn): Likewise.
2887         (expand_builtin_strlen): Use get_insns instead of gen_sequence.
2888         (expand_builtin_saveregs): Use emit_insn_foo, fix comments.
2889         (expand_builtin_expect_jump): Use get_insns and fix comments.
2890         * calls.c (try_to_integrate): Use emit_insn_foo.
2891         (expand_call, emit_library_call_value_1): Likewise.
2892         * expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
2893         (emit_move_insn_1): Use get_insns instead of gen_sequence.
2894         (expand_expr): Use emit_insn_foo.
2895         * cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
2896         * except.c (build_post_landing_pads): Likewise.
2897         * flow.c (attempt_auto_inc): Likewise.
2898         * stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
2899         expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
2900         * function.c (fixup_var_refs_insn): Use get_insns instead of
2901         gen_sequence.
2902         (fixup_var_refs_1): Likewise and expect insn list from gen_foo.
2903         (fixup_memory_subreg): Use get_insns instead of gen_sequence.
2904         (fixup_stack_1, purge_addressof_1, expand_main_function,
2905         get_arg_pointer_save_area): Likewise.
2906         (optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
2907         expand_function_end): Use emit_insn_foo.
2908         (record_insns, keep_stack_depressed): Work with insn list instead
2909         of SEQUENCE, fix comments.
2910         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
2911         noce_try_store_flag_constants, noce_try_store_flag_inc,
2912         noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
2913         noce_try_minmax, noce_try_abs): Use emit_insn_foo.
2914         (noce_process_if_block): Use get_insns instead of gen_sequence.
2915         * optabs.c (add_equal_note): Work with insn list, fix comments.
2916         (expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
2917         (expand_unop, expand_complex_abs, expand_unop_insn,
2918         expand_no_conflict_block): Likewise.
2919         (gen_move_insn): Use get_insns instead of gen_sequence.
2920         (gen_cond_trap): Likewise.
2921         * integrate.c (copy_rtx_and_substitute): Likewise.
2922         (emit_initial_value_sets): Use emit_insn_foo.
2923         * reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
2924         (fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
2925         now that RTL generators give insn lists.
2926         * sibcall.c (replace_call_placeholder): Use emit_insn_foo.
2927         * doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
2928         instead of gen_sequence.
2929         (doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
2930         * explow.c (emit_stack_save, emit_stack_restore): Use get_insns
2931         instead of gen_sequence.
2932         * loop.c (move_movables, emit_prefetch_instructions,
2933         gen_add_mult, check_dbra_loop, gen_load_of_final_value):
2934         Likewise.
2935         (loop_regs_update): Work with insn list instead of SEQUENCE rtl.
2936         (product_cheap_p): Likewise, and add commentary about RTL wastage
2937         here.
2938         * lcm.c (optimize_mode_switching): Use get_insns instead of
2939         gen_sequence.
2940         * profile.c (gen_edge_profiler): Likewise.
2941         * regmove.c (copy_src_to_dest): Likewise.
2942         * reg-stack.c (compensate_edge): Likewise and fix comment.
2943         * gcse.c (process_insert_insn): Likewise.
2944         (insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
2945         * jump.c (delete_prior_computation): Update comment.
2946         * genemit.c (gen_expand, gen_split, main): Use get_insns instead
2947         of gen_sequence, update comments to match.
2948         * recog.c (peephole2_optimize): Work with insn lists instead of
2949         SEQUENCE rtl.
2950         * sched-vis.c (print_pattern): Abort on SEQUENCE.
2951         * unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
2952         Use get_insns instead of gen_sequence.
2953         (copy_loop_body): Likewise and don't emit dummy NOTE.
2954         * genrecog.c: Don't mention SEQUENCE rtl in comments.
2955         * combine.c (try_combine): Expect insn lists from split generator.
2956         * reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
2957         hand.
2958
2959 2002-06-11  Roger Sayle  <roger@eyesopen.com>
2960             Andreas Jaeger <aj@suse.de>
2961
2962         * cfgbuild.c: Update copyright years.
2963
2964 2002-06-11  Andreas Schwab  <schwab@suse.de>
2965
2966         * config/m68k/m68k.h (PREDICATE_CODES): Define.
2967
2968 2002-06-11  Eric Christopher  <echristo@redhat.com>
2969
2970         * doc/tm.texi (Run-time Target): Add comment about flag_iso
2971         and strict ANSI.
2972         * config/mips/ecoff.h (CPP_PREDEFINES): Remove.
2973         * config/mips/ecoffl.h: Ditto.
2974         * config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove.
2975         (CPP_PREDEFINES): Ditto.
2976         * config/mips/elfl64.h: Ditto.
2977         * config/mips/elfl.h: Ditto.
2978         * config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0
2979         out until irix header consolidation.
2980         * config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace
2981         with SUBTARGET_OS_CPP_BUILTINS.
2982         * config/mips/iris6.h: Ditto.
2983         (CPLUSPLUS_CPP_SPEC): Remove.
2984         * config/mips/linux.h: Ditto.
2985         * config/mips/netbsd.h: Ditto.
2986         * config/mips/openbsd.h: Ditto.
2987         * config/mips/rtems.h: Ditto.
2988         * config/mips/rtems64.h: Ditto.
2989         * config/mips/sni-svr4.h: Ditto.
2990         * config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4,
2991         ISA_MIPS32, ISA_MIPS64): New defines.
2992         (GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS,
2993         ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4,
2994         ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
2995         ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use.
2996         (TARGET_CPU_CPP_BUILTINS): Define.
2997         (CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove.
2998         * config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64.
2999         (movdicc): Remove check for ISA_MIPS32.
3000          (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle,
3001         sunordered_df, sunordered_sf, sordered_df, sordered_sf,
3002         sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df,
3003         sunge_sf, sunle_df, sunle_sf): New patterns.
3004
3005 2002-06-11  Neil Booth  <neil@daikokuya.demon.co.uk>
3006
3007         * Makefile.in: Update cppmain.o.
3008         * cpphash.h (struct cpp_reader): Move some members to a
3009         nested structure.
3010         (trad_line): Rename saved_line.
3011         (_cpp_read_logical_line_trad): Update.
3012         (_cpp_remove_overlay): New.
3013         * cppinit.c (cpp_create_reader): No need to set saved_line.
3014         (cpp_destroy): Update.
3015         (cpp_read_main_file): Only overlay if compiling.
3016         * cpplex.c (continue_after_nul): Return false if in directive.
3017         * cpplib.c (EXPAND): New.
3018         (directive_table, SEEN_EOL): Update.
3019         (end_directive): Remove overlay if traditional; don't skip
3020         line in traditional #define.
3021         (prepare_directive_trad): New.
3022         (_cpp_handle_directive, run_directive): Update for traditional
3023         directives.
3024         (lex_macro_node): Simplify, don't use lex_identifier_trad.
3025         * cpplib.h (struct options): Add preprocess_only.
3026         * cppmain.c: Don't include intl.h.
3027         (cpp_preprocess_file): Set options->preprocess_only.
3028         (scan_translation_unit_trad): Fix, and print line numbers.
3029         * cpptrad.c (check_output_buffer, lex_identifier, scan_parameters,
3030         maybe_start_funlike, scan_out_logical_line, replace_args_and_push,
3031         save_replacement_text, _cpp_create_trad_definition): Update for
3032         variable renaming.
3033         (_cpp_overlay_buffer): Save line number.
3034         (_cpp_remove_overlay): Rename from restore_buff, restore line.
3035         (_cpp_read_logical_line_trad): Don't handle overlays here.
3036         (scan_out_logical_line): Process directives.
3037
3038 2002-06-11  Danny Smith  <dannysmith@users.sourforge.net>
3039
3040         * gthr-win32.h: Wrap functions in extern "C".
3041         (__gthread_key_t): Typedef as unsigned long,
3042         not win32 DWORD.
3043         (__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE.
3044         (__gthread_mutex_t): Typedef as void*, not win32 HANDLE.
3045         (__gthr_win32_once, __gthr_win32_key_create,
3046         __gthr_win32_key_delete, __gthr_win32_getspecific,
3047         __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
3048         __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
3049         __gthr_win32_mutex_unlock): Declare.
3050         (__gthread_once,__gthread_key_create,
3051         __gthread_key_delete, __gthread_getspecific,
3052         __gthread_setspecific, __gthread_mutex_init_function,
3053         __gthread_mutex_lock,__gthread_mutex_trylock,
3054         __gthread_mutex_unlock): Call corresponding
3055         __gthr_win32_* extern implementations if #defined
3056         __GTHREAD_HIDE_WIN32API.
3057         * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to
3058         $(srcdir)/config/i386/gthr-win32.c
3059         * config/i386/gthr-win32.c: New implementation file.
3060         (__gthr_win32_once, __gthr_win32_key_create,
3061         __gthr_win32_key_delete, __gthr_win32_getspecific,
3062         __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
3063         __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
3064         __gthr_win32_mutex_unlock): New functions, based on
3065         static inlines in gthr-win32.h.
3066
3067 2002-06-10  Bob Wilson  <bob.wilson@acm.org>
3068
3069         * config/xtensa/xtensa.c (override_options): Don't warn about
3070         using -fpic or -fPIC when PIC is enabled by default.
3071
3072 2002-06-10  Roger Sayle  <roger@eyesopen.com>
3073
3074         * toplev.c (rest_of_compilation): Revert flag_if_conversion change.
3075
3076 2002-06-10  Zack Weinberg  <zack@codesourcery.com>
3077
3078         * Makefile.in (MACHMODE_H): Add @extra_modes_file@.
3079         * configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
3080         exists, substitute its pathname as @extra_modes_file@, define
3081         EXTRA_MODES_FILE to be an appropriate string to #include it
3082         with, and define EXTRA_CC_MODES to 1.
3083
3084         * machmode.def: Update comments.  Include EXTRA_MODES_FILE if
3085         it's defined.  Get rid of redundancy in calling sequence for
3086         CC; don't use it to define CCmode, to avoid a warning.
3087         * libgcc2.c: Include symcat.h for the sake of machmode.def.
3088
3089         * arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
3090         i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
3091         pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
3092         New files.
3093         * arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
3094         pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
3095
3096         * doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
3097         defining extra CC modes.
3098
3099 2002-06-10  Roger Sayle  <roger@eyesopen.com>
3100             Andreas Jaeger <aj@suse.de>
3101
3102         * cfgrtl.c (create_basic_block_structure):  Remove index argument
3103         and use last_basic_block++ instead.  (create_basic_block): Update.
3104         * cfgbuild.c (find_basic_blocks_1): Likewise.
3105
3106         * cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument.
3107         * haifa-sched.c (sched_init): Update compute_bb_for_insn caller.
3108         * sched-ebb.c (schedule_ebbs): Likewise.
3109         * sched-rgn.c (schedule_insns): Likewise.
3110         * ssa-ccp.c (ssa_const_prop): Likewise.
3111         * ssa-dcs.c (ssa_eliminate_dead_code): Likewise.
3112         * toplev.c (rest_of_compilation): Likewise.
3113         * config/ia64/ia64.c (ia64_reorg): Likewise.
3114
3115 2002-06-10  Roger Sayle  <roger@eyesopen.com>
3116
3117         * simplify-rtx.c (simplify_replace_rtx): Allow replacement
3118         of matching registers.
3119
3120 2002-06-10  Roger Sayle  <roger@eyesopen.com>
3121
3122         * toplev.c (rest_of_compilation): Disable early if-conversion pass.
3123         * gcse.c (bypass_conditional_jumps): Fix typo in setcc test.
3124
3125 2002-06-10  Hans-Peter Nilsson  <hp@bitrange.com>
3126
3127         * config/mmix/mmix.h: Improve comments.
3128         (CPP_SPEC, CPP_PREDEFINES): Don't define.
3129         (TARGET_CPU_CPP_BUILTINS): Define.
3130         (CANONICALIZE_COMPARISON): Don't define, replace with comment.
3131         (PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove
3132         unused predicate.
3133         * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid
3134         compiler warning.
3135         (mmix_constant_address_p): Remove another
3136         redundant test before case.
3137         (mmix_canonicalize_comparison): Remove unused function.
3138         (mmix_print_operand_address): Don't test and adjust for operand in
3139         non-canonical format.
3140         (mmix_reg_or_8bit_or_256_operand): Remove unused predicate.
3141         (mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON.
3142
3143 2002-06-10  Zack Weinberg  <zack@codesourcery.com>
3144
3145         * config/m32r/m32r.h: Don't define SELECT_CC_MODE.
3146         * config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode.
3147         * config/m32r/m32r.c: Don't define m32r_select_cc_mode.
3148         (gen_compare): Use CCmode unconditionally.
3149
3150 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
3151
3152         PR optimization/6759
3153         * cse.c (cse_insn): Fold src_eqv just once, store it folded back into
3154         the REQ_EQUAL note.
3155
3156 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
3157
3158         PR c/6660
3159         * c-decl.c (grokfield): Allow user defined types if they declare
3160         structs or unions for unnamed fields.
3161
3162 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
3163
3164         PR c/6809
3165         * print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
3166
3167 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
3168
3169         PR optimization/6842
3170         * combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode
3171         operand subreg cannot be simplified.
3172
3173 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
3174
3175         * varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
3176         (compare_constant): Likewise.
3177         (output_addressed_constants): Likewise.
3178
3179 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
3180
3181         * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
3182         merge bb with itself.
3183
3184 2002-06-10  Richard Henderson  <rth@redhat.com>
3185
3186         * config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask.
3187         (builtin_zapnot): Likewise.
3188
3189         * config/alpha/ev5.md: Don't combine shift and mvi insns in one
3190         reservation.
3191
3192 2002-06-10  Eric Christopher  <echristo@redhat.com>
3193
3194         * config/i386/i386.c (ix86_osf_output_function_prologue): Remove
3195         prototype and function.
3196         (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version.
3197         (call_insn_operand): Remove half pic references.
3198         (legitimate_address_p): Ditto.
3199         * config/i386/i386.h: Remove half pic defines.
3200
3201 2002-06-10  Eric Christopher  <echristo@redhat.com>
3202
3203         * doc/extend.texi (Return Address): Add note explaining the side-
3204         effects of inlining on __builtin_return_address.
3205
3206 2002-06-10  Tom Tromey  <tromey@redhat.com>
3207
3208         * Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h.
3209         (c-common.o): Depend on langhooks.h.
3210
3211 2002-06-10  Neil Booth  <neil@daikokuya.demon.co.uk>
3212
3213         * cpphash.h (_cpp_read_logical_line_trad,
3214         _cpp_expansions_different_trad): Update prototypes.
3215         * cpplex.c (continue_after_nul): New.
3216         * cppmain.c: Include cpphash.h.
3217         (scan_translation_unit_trad): New.
3218         (cpp_preprocess_file): Call it.
3219         * cpptrad.c (_cpp_read_logical_line_trad): Take new parameter
3220         overlay.
3221         (_cpp_expansions_different_trad): Update prototype.
3222
3223 Mon Jun 10 18:02:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
3224
3225         Fix cfi generation for SH[1-4]:
3226
3227         * sh.c (frame_insn): New function.
3228         (output_stack_adjust): Add parameter emit_fn.  All callers changed.
3229         (push): Now returns rtx.  Use frame_insn.
3230         (sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push
3231         of a DF register.
3232         * sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define.
3233
3234 2002-06-10  Zack Weinberg  <zack@codesourcery.com>
3235
3236         * Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h,
3237         and gtype-desc.c.
3238         (mostlyclean): Delete specs.h, options.h, gencheck.h here...
3239         (distclean): ... not here.  But do delete all testsuite/*.log,
3240         testsuite/*.sum files here.  Delete mkheaders.  Delete
3241         po/*.gmo and the testsuite directory in a split tree build.
3242
3243 2002-06-10  Jeffrey Law  <law@redhat.com>
3244
3245         * alias.c (static_reg_base_value): New to hold RTL for
3246         items allocated once per function for the aliasing code.
3247         (init_alias_once_per_function): Initialize static_reg_base_value.
3248         (init_alias_analysis): Avoid throw-away allocations of RTL by
3249         using pre-computed values in static_reg_base_value.
3250         * function.c (prepare_function_start): Call
3251         init_alias_once_per_function appropriately.
3252         * rtl.h (init_alias_once_per_function): Declare.
3253         * caller-save (init_caller_save): Restructure slightly to
3254         avoid lots of silly RTL generation.
3255         * expr.c (init_expr_once): Likewise.
3256         * reload1.c (reload_cse_regs_1): Allocate throw-away register
3257         RTL object here.  Pass it into children.
3258         (reload_cse_simplify_operands): Use passed-in register RTL
3259         object.
3260         (reload_cse_simplify): Pass through throw-away register
3261         RTL object.
3262
3263 2002-06-10  Daniel Berlin  <dberlin@dberlin.org>
3264
3265         * Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing.
3266
3267 2002-06-10  Richard Sandiford  <rsandifo@redhat.com>
3268
3269         * gcc.c (process_command): Avoid assignment to read-only location.
3270         Fix sizeof calculation.
3271
3272 2002-06-10  Neil Booth  <neil@daikokuya.demon.co.uk>
3273
3274         * cpphash.h (struct cpp_macro): Put comments on their own lines.
3275         (_cpp_expansions_different_trad): New.
3276         * cppmacro.c (warn_of_redefinition): Fix for traditional case.
3277         * cpptrad.c (canonicalize_text): New.
3278         (scan_out_logical_line): Handle no arguments correctly.
3279         (save_replacement_text): Commit memory when finished.
3280         (_cpp_expansions_different_trad): New.
3281
3282 2002-06-10  Tim Josling  <tej@melbpc.org.au>
3283
3284         * gengtype.c (unnamed enum containing BASE_FILE_*): Add languages
3285         TREELANG and COBOL.
3286         (lang_names): Add treelang and cobol.
3287         (get_file_basename): Add code to support treelang and cobol as
3288         4th and 5th users of c-common.c.
3289
3290 2002-06-09  Geoffrey Keating  <geoffk@redhat.com>
3291
3292         * Makefile.in (install-driver): Install driver as
3293         $(target_alias)-gcc-$(version).
3294         * gcc.c (spec_version): Make const.
3295         (process_command): Handle -V and -b by using exec.
3296         * doc/invoke.texi (Target Options): Restore -V option,
3297         update docs for -b option.
3298
3299 2002-06-10  Tim Josling  <tej@melbpc.org.au>
3300
3301         * configure.in (remaining_languages_check):
3302         Added check that all languages specified were found.
3303         Exit if not found. Previous behaviour was silent failure.
3304         * configure: Regenerated.
3305
3306 2002-06-10  Tim Josling  <tej@melbpc.org.au>
3307
3308          First steps to making treelang documentation compliant, based on
3309          instructions in sourcebuild.texi. Also add to gcc.c list of
3310          default languages.
3311
3312         * doc/contrib.texi: Add self as contributor of treelang.
3313
3314         * doc/frontends.texi: Add mention of treelang.
3315
3316         * doc/invoke.texi (Overall Options): Add mention of treelang.
3317
3318         * doc/standards.texi:  Add mention of treelang.
3319
3320 2002-06-09  Hans-Peter Nilsson  <hp@axis.com>
3321
3322         * config/cris/cris.c: Include ggc.h
3323
3324 2002-06-09  Neil Booth  <neil@daikokuya.demon.co.uk>
3325
3326         * cpphash.h (_cpp_push_text_context): Update.
3327         (_cpp_arguments_ok): New.
3328         * cppmacro.c (_cpp_arguments_ok): New, split out from...
3329         (collect_args): ...here.
3330         (_cpp_push_text_context): Change inputs.
3331         * cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument,
3332         replace_args_and_push): New.
3333         (lex_identifier, _cpp_lex_identifier_trad, scan_parameters):
3334         Don't use IS macros directly.
3335         (scan_out_logical_line): Handle function-like macro argument
3336         collection.
3337         (push_replacement_text): Update.
3338         (replacement_length): Remove.
3339         (_cpp_create_trad_definition): Don't skip whitespace before
3340         checking for '('.
3341
3342 2002-06-09  Marek Michalkiewicz  <marekm@amelek.gda.pl>
3343
3344         * config/avr/avr.c (avr_mcu_types): Update for new devices.
3345         * config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls.
3346         (LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices.
3347         * config/avr/avr.md ("type" and "length" attributes): New type
3348         "xcall", length 1 or 2 if AVR_MEGA.  Use in all patterns that
3349         output a single "call" or "rcall" insn depending on device size.
3350         * config/avr/t-avr (MULTILIB_MATCHES): Update for new devices.
3351
3352 2002-06-09  David Edelsohn  <edelsohn@gnu.org>
3353
3354         * config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3
3355         synonym for 630.  Add power4.  Remove embedded processors.  Use -m604
3356         assembler option.
3357         (CPP_CPU_SPEC): Add power3 and power4.
3358         (PROCESSOR_DEFAULT): Change to 604e.
3359         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions.
3360         (CPP_CPU_SPEC): Similar additions.
3361         (enum process_type): Add POWER4.
3362         (RTX_COSTS): Add POWER4.
3363         (CPP_CPU_SPEC): Similar additions.
3364         * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
3365         (PROCESSOR_DEFAULT64): Define.
3366         * config/rs6000/rs6000.c (rs6000_override_options): Add power4.
3367         (rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to
3368         branch adjustment.
3369         (rs6000_issue_rate): Add Power4.
3370         * config/rs6000/rs6000.md (cpu attr): Add power4.
3371         (iu compare): Remove 604, 604e, 620, 630.
3372         Add basic Power4 scheduling information.
3373         (mfcr/mtcrf): Change type attribute to cr_logical.
3374
3375 2002-06-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3376
3377         * gengtype.h (error_at_line): Use PARAMS, not VPARAMS.  Add
3378         ATTRIBUTE_PRINTF_2.
3379         * gengtype-lex.l: Fix format specifier warning.
3380
3381         * genautomata.c: Don't include ctype.h or limits.h.  Use ISSPACE,
3382         not isspace.
3383         * gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in
3384         lieu of isspace/IDchar.
3385         * gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum.
3386         * read-rtl.c: Likewise for ctype.h.  Don't define ISDIGIT or
3387         ISSPACE.
3388
3389 2002-06-08  Zack Weinberg  <zack@codesourcery.com>
3390
3391         * Makefile.in (LIBCPP_OBJS): Take out version.o.
3392         * cpphash.h (cpp_reader): Take out print_version member.
3393         * cppinit.c: (cpp_handle_option): Don't do anything with
3394         -version.  Just set help_only for --version, --target-help.
3395         Just set verbose option for -v.
3396         (cpp_post_options): Don't print a version string.
3397
3398 2002-06-08  Marek Michalkiewicz  <marekm@amelek.gda.pl>
3399
3400         * config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New.
3401         (avr_section_type_flags): New, handle .noinit* sections.
3402
3403 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
3404
3405         * config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define
3406         and include netbsd_entry_point.
3407         (SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
3408         (NETBSD_ENTRY_POINT): Define.
3409
3410 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
3411
3412         * config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty
3413         if not already defined.
3414         (EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS.
3415
3416 2002-06-08  Marek Michalkiewicz  <marekm@amelek.gda.pl>
3417
3418         * config/avr/avr.c (avr_regs_to_save): No need to save any registers
3419         in a noreturn function.
3420         (avr_output_function_prologue, avr_output_function_epilogue):
3421         Correct function size calculation.  Do not crash on empty function.
3422         (avr_output_function_epilogue): No need for epilogue after a BARRIER.
3423
3424 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
3425
3426         * config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
3427         netbsd_link_spec and netbsd_entry_point.
3428         (LINK_SPEC): Use %(netbsd_link_spec).
3429         (NETBSD_ENTRY_POINT): Define.
3430
3431 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
3432
3433         * config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify
3434         linker emulation.
3435         (LINK_ARCH64_SPEC): Likewise.
3436         (LINK_SPEC, NETBSD_ENTRY_POINT): Define.
3437         (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point.
3438