]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
ia64.c (ia64_function_arg_pass_by_reference): Don't crash with no type for by-mode...
[gcc.git] / gcc / ChangeLog
CommitLineData
57174693
BW
12002-04-18 Bob Wilson <bob.wilson@acm.org>
2
3 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
4 __xtensa_nonlocal_goto): Use a syscall instructions to flush
5 the register windows.
6
46468cd9
ZW
72002-04-18 Zack Weinberg <zack@codesourcery.com>
8
9 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
10 appropriate. Document need for extended precision even when
11 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
12 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
13 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
14 instead of relying on later syntax error when REAL_WIDTH > 5.
15 * real.c: Define NE based only on whether or not we have a
16 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
17 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
18 define GET_REAL and PUT_REAL as simple memcpy operations; no
19 need to byteswap or round.
20 Use #error instead of #ifdef-ing out the entire file, for
21 prompt error detection.
22
23 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
24
2f82dbf8
DM
252002-04-18 David S. Miller <davem@redhat.com>
26
27 * config/sparc/sparc.h (BRANCH_COST): Define.
28
29 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
30 does it.
31
566576e7
HPN
322002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
33
34 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
35 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
36 propagate_block calls after relaxation loop using new variable
37 stabilized_prop_flags.
38
51dcde6f
RH
392002-04-18 Richard Henderson <rth@redhat.com>
40
41 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
42 (ia64_va_arg): Expect variable sized types by reference.
43 * config/ia64/ia64-protos.h: Update.
46468cd9 44 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
45 ia64_function_arg_pass_by_reference.
46
26406018
RH
472002-04-18 Richard Henderson <rth@redhat.com>
48
46468cd9
ZW
49 * ifcvt.c: Include except.h.
50 (block_has_only_trap): Break out from find_cond_trap.
51 (find_cond_trap): Use it. Always delete the trap block.
52 (merge_if_block): Allow then block null. Be less simplistic about
53 what insns can end a block.
54 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 55
26406018
RH
56 * config/ia64/ia64.md (trap, conditional_trap): New.
57
a3acf46d
JJ
582002-04-18 Jakub Jelinek <jakub@redhat.com>
59
60 PR c/6358
61 * function.c (assign_parms): Assign hard current_function_return_rtx
62 register here...
63 (expand_function_end): ...not here.
64
7a228918
NB
652002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
66
67 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
68 * c-tree.h (c_incomplete_type_error): New.
69 * c-typeck.c (require_complete_type, build_component_ref): Update.
70 (incomplete_type_error): Rename.
71 * langhooks-def.h (lhd_incomplete_type_error): New.
72 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
73 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
74 * langhooks.c (lhd_incomplete_type_error): New.
75 * langhooks.h (struct lang_hooks_for_types): New hook.
76 * tree.c (size_in_bytes): Use new hook.
77 * tree.h (incomplete_type_error): Remove.
78objc:
79 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
80
f18664c1
ZW
812002-04-18 Zack Weinberg <zack@codesourcery.com>
82
83 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
84 TARGET_FLOAT_FORMAT blocks.
85
8ecab453
GP
862002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
87
88 * doc/install.texi (Downloading the source): Do not mention Chill
89 any longer, but mention Ada.
90 (Configuration): Do not mention Chill any longer.
91
528d8489
HPN
922002-04-18 Hans-Peter Nilsson <hp@axis.com>
93
94 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
95
91da27c5
JH
96Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
97
98 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
99 in last patch.
100
a32db605
JJ
1012002-04-18 Jakub Jelinek <jakub@redhat.com>
102
103 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
104 instead of unsigned_type.
105
5a28d8cc
JH
106Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
107
108 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
109 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
110 later.
111
3d980b9f
BS
1122002-04-18 Bernd Schmidt <bernds@redhat.com>
113
114 * attribs.c (vector_type_node_list): New static variable.
115 (handle_vector_size_attribute): Use it to avoid generating a
116 new type node each time we are called.
117
2e676d78
BS
118 * combine.c (subst): Avoid trying to make a vector mode subreg of
119 an integer constant.
120 (gen_lowpart_for_combine): Likewise.
46468cd9 121
58c2956c
RS
1222002-04-18 Roger Sayle <roger@eyesopen.com>
123 Jakub Jelinek <jakub@redhat.com>
124
125 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
126 for integer constant c (if x has unsigned type or sign bit is not
127 set in c). This folds the zero/sign extension into the bit-wise and
128 operation.
129
692efa8e
JJ
1302002-04-18 Jakub Jelinek <jakub@redhat.com>
131
132 PR middle-end/6205
133 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
134 otherwise xorps.
135
1372d4ce
NY
1362002-04-17 NIIBE Yutaka <gniibe@m17n.org>
137
138 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
139
169ce44d
NC
1402002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
141
142 * gcc.c (read_specs): Detect and fail if an attempt is made to
143 rename a spec string to an already existing string.
144
b30d2115
UW
1452002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
146
147 * config/s390/s390.c (legitimize_pic_address): Do not generate
148 illegal address constant without CONST.
149
d6964c30
KG
1502002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
151
152 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
153 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
154
7c82a1ed
UW
1552002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
156
157 PR optimization/6305
158 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
159 to make sure previous reloads are taken into account. Generate
160 better code if one operand is an in-range immediate constant.
161
58db9d1a
AH
1622002-04-16 Andrew Haley <aph@cambridge.redhat.com>
163
164 * doc/install.texi (Building): libgcj requires GNU make.
165
2a732575
JJ
1662002-04-17 Jakub Jelinek <jakub@redhat.com>
167
168 PR bootstrap/6315
169 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
170 even if hard quad and register is not floating.
171 (movtf reg<-mem split): Disallow splitting if hard quad and
172 register is floating.
173 (movtf mem<-reg split): Likewise.
174 * config/sparc/sparc.c (fp_register_operand): New predicate.
175 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
176
75a65e46
ZW
1772002-04-17 Zack Weinberg <zack@codesourcery.com>
178
179 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
180 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
181 (unprotoize.o): Ditto. Build from protoize.c. Define
182 UNPROTOIZE on command line.
183 * protoize.c: Include cppdefault.h. Delete include_defaults.
184 (in_system_include_dir): Use cpp_include_defaults (defined in
185 cppdefault.o).
186 * unprotoize.c: Delete file.
187
650f0e97
AH
1882002-04-17 Aldy Hernandez <aldyh@redhat.com>
189
46468cd9
ZW
190 * config/rs6000/altivec.h (vec_ld): Add array variants.
191 (vec_lde): Same.
192 (vec_ldl): Same.
650f0e97 193
71a0ab0c 1942002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 195 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 196
46468cd9
ZW
197 * config/rs6000/altivec.h: Define __ALTIVEC__.
198 (bool): New.
199 (__pixel): New.
200 (pixel): New.
201 (vec_cfux): New.
202 (vec_vmaddfp): New.
203 (vec_vsldoi): New.
204 Add parentheses to all macro arguments.
71a0ab0c 205
ff2c46ac
RH
2062002-04-16 Richard Henderson <rth@redhat.com>
207
208 PR c++/6320
209 * except.c (remove_eh_handler): Insert inner regions at beginning
210 of sibling chain. Refactor expressions.
211
f1ba94dd
RH
2122002-04-16 Richard Henderson <rth@redhat.com>
213
f0871dfe
RH
214 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
215 * config/sparc/sol2-gas-bi.h: New file.
216 * config.gcc (sparc*-solaris): Add it as needed.
217 * configure.in (AS_SPARC64_FLAG): Remove check.
218 * config.in, configure: Regenerate.
219
220 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
221
2222002-04-16 Richard Henderson <rth@redhat.com>
223
224 * config/mips/mips.c (override_options): Don't override N32 for
225 a 64-bit ISA.
409d3c60 226
f1ba94dd
RH
227 PR 6202
228 * config/mips/mips.md (can_delay): Split out of existing define_delays.
229 (HILO_delay): Set can_delay false.
230
178c3eff
DJ
2312002-04-16 Dale Johannesen <dalej@apple.com>
232
233 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
234 instruction addresses.
235 (rs6000_output_function_epilogue): Likewise.
236
7d6f6369
PC
2372002-04-16 Paolo Carlini <pcarlini@unitus.it>
238
239 * c-parse.in (poplevel, compstmt_start,
240 compstmt_primary_start): Add ending ';', in accordance
241 with POSIX.
242
8947df0c
RH
2432002-04-16 Richard Henderson <rth@redhat.com>
244
245 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
246 Adjust tm_file order to get TARGET_DEFAULT set properly.
247 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
248 * doc/install.texi (sparc-solaris): Update.
249
3148ad6d
DJ
2502002-04-16 Dale Johannesen <dalej@apple.com>
251
252 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
253 comparison operands do not match each other or if modes of
254 conditions do not match result.
255
014cb9b6 2562002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 257
014cb9b6
HP
258 PR target/6305
259 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 260 multiword register.
562a69be 261
014cb9b6 2622002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 263
8947df0c 264 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 265
a9772b60
JJ
2662002-04-16 Jakub Jelinek <jakub@redhat.com>
267
268 PR middle-end/6279
269 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
270
271 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
272
861829ed
RH
2732002-04-15 Richard Henderson <rth@redhat.com>
274
275 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
276 call_really_used_regs too.
277
bcf2fe9c
RH
2782002-04-15 Richard Henderson <rth@redhat.com>
279
280 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
281
629111c7
DM
2822002-04-15 David S. Miller <davem@redhat.com>
283
284 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
285 as being CLOBBERed.
286
98ef3137
JJ
2872002-04-16 Jakub Jelinek <jakub@redhat.com>
288
289 PR c/6290
290 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
291 CONST_VECTOR is { 0, ... 0 }.
292
0aa911c5
LR
2932002-04-15 Loren J. Rittle <ljrittle@acm.org>
294
295 * doc/install.texi (Installing GCC: Configuration): Clarify
296 the only supported ways to configure gcc.
297
83248d49 2982002-04-15 Roland McGrath <roland@frob.com>
46468cd9 299
83248d49
RM
300 * config.gcc (alpha*-*-gnu*): New target configuration.
301 * config/alpha/gnu.h: New file for it.
302 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
303
b2123dc0
MM
3042002-04-16 Mark Mitchell <mark@codesourcery.com>
305
306 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
307 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
308 * tree.h (expand_start_stmt_expr): Update prototype.
309 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
310 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
311 on the STMT_EXPR created for the inline function.
46468cd9 312
8fe2d853
RH
3132002-04-15 Richard Henderson <rth@redhat.com>
314
315 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
316 config/i386/linux-aout.h, config/i386/linux-oldld.h,
317 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
318 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
319 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
320 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
321 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
322 Define __gnu_linux__, not gnu_linux.
323 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
324
07cdae91
MM
3252002-04-15 Mark Mitchell <mark@codesourcery.com>
326
327 Remove Chill front end.
328 * gcc.c (default_compilers): Remove Chill entries.
329 * ch: Remove directory.
330 * doc/frontends.texi: Remove information about Chill.
331 * doc/sourcebuild.texi: Likewise.
332 * doc/standards.texi: Likewise.
333
41823c5e
DR
3342002-04-15 Douglas B Rupp <rupp@gnat.com>
335
336 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
337 (LONGLONG_STANDALONE): Define.
338
eb29ddb6
DM
3392002-04-15 David S. Miller <davem@redhat.com>
340
341 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
342 Call emit_library_call with LCT_NORMAL.
343 (sparc_initialize_trampoline): Use LCT_foo instead of
344 magic constant in emit_library_call invocations.
345 (sparc64_initialize_trampoline): Likewise.
346 (sparc_profile_hook): Likewise.
347 * config/sparc/sparc.md: Likewise.
348
349 * config/sparc/sparc.c (sparc_extra_constraint_check):
350 Fix type of argument 'c'.
351 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
352 Likewise.
353
bd6bec6b
GDR
3542002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
355
356 * diagnostic.h (output_buffer_state): Redefine.
357 (output_format_decoder): New macro.
358 (output_prefixing_rule): Likewise.
359 (output_line_cutoff): Likewise.
360 (diagnostic_format_decoder): Adjust.
361 (diagnostic_prefixing_rule): Likewise.
362 (diagnostic_line_cutoff): Likewise.
363 (diagnostic_state): Likewise.
364 (diagnostic_kind_count): Likewise.
365 (diagnostic_buffer): Now a macro.
366
367 * diagnostic.c (diagnostic_buffer): Remove definition.
368 (output_is_line_wrapping): Adjust.
369 (set_real_maximum_length): Likewise.
370 (output_set_maximum_length): Likewise.
371 (init_output_buffer): Likewise.
372 (lhd_print_error_function): Likewise.
373 (output_do_verbatim): Likewise.
374
ebef4e8c
NB
3752002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
376
377 * cpperror.c (print_location): Don't print include chain
378 if line == 0.
379 (cpp_begin_message): Update to use DL_ macros.
380 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
381 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
382 cpp_notice, cpp_notice_from_errno): Remove.
383 (cpp_error, cpp_error_with_line): Update to take a diagnostic
384 level.
385 (cpp_errno): New.
386 * cppexp.c (CPP_ICE): Remove.
387 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
388 lex, integer_overflow, _cpp_parse_expr): Update.
389 * cppfiles.c (read_include_file, find_include_file,
390 handle_missing_header, _cpp_read_file, remap_filename): Update.
391 * cpphash.h (enum error_type): Remove.
392 (_cpp_begin_message): Update.
393 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
394 cpp_handle_option, cpp_post_options): Update.
395 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
396 skip_whitespace, parse_identifier, parse_slow, parse_string,
397 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
398 cpp_interpret_charconst): Update.
399 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
400 lex_macro_node, do_undef, glue_header_name, parse_include,
401 do_include_common, read_flag, do_line, do_linemarker, do_ident,
402 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
403 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
404 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
405 _cpp_pop_buffer, do_diagnostic): Update.
406 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
407 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
408 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
409 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
410 cpp_notice, cpp_notice_from_errno): Remove.
411 (cpp_error, cpp_error_with_line): Update to take a diagnostic
412 level.
413 (cpp_errno): New.
414 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
415 collect_args, enter_macro_context, save_parameter, parse_params,
416 _cpp_create_definition, check_trad_stringification,
417 cpp_macro_definition): Update.
418 * cppmain.c (cpp_preprocess_file): Update.
419 * fix-header.c (read_scan_file): Update.
420
c19a3859
AS
4212002-04-14 Andreas Schwab <schwab@suse.de>
422
423 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
424
10fdbed6
JD
4252002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
426
427 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
428
77660a9a
MM
4292002-04-13 Mark Mitchell <mark@codesourcery.com>
430
431 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
432 not gnu_hurd.
433
e0ff1ded
HPN
4342002-04-13 Hans-Peter Nilsson <hp@axis.com>
435
436 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
437
2341c7ea
JS
4382002-04-13 Joel Sherrill <joel@OARcorp.com>
439
440 * config/sparc/t-elf: Enable v8 multilibs. Impacts
441 sparc-elf and sparc-rtems targets.
442
d29350c0
MM
4432002-04-13 Mark Mitchell <mark@codesourcery.com>
444
445 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
446 defined, and __gnu_hurd__ wherever __GNU__ is defined.
447 * arm/linux-elf.h: Likewise.
448 * cris/aout.h: Likewise.
449 * cris/linux.h: Likewise.
450 * i370/linux.h: Likewise.
451 * i386/gnu.h: Likewise.
452 * i386/linux-aout.h: Likewise.
453 * i386/linux-oldld.h: Likewise.
454 * i386/linux.h: Likewise.
455 * i386/linux64.h: Likewise.
456 * ia64/linux.h: Likewise.
457 * m68k/linux-aout.h: Likewise.
458 * m68k/linux.h: Likewise.
459 * mips/linux.h: Likewise.
460 * pa/pa-linux.h: Likewise.
461 * pj/linux.h: Likewise.
462 * rs6000/sysv4.h: Likewise.
463 * s390/linux.h: Likewise.
464 * sh/linux.h: Likewise.
465 * sparc/linux-aout.h: Likewise.
466 * sparc/linux.h: Likewise.
467 * sparc/linux64.h: Likewise.
468 * xtensa/linux.h: Likewise.
469
fc552851
RS
4702002-04-13 Richard Sandiford <rsandifo@redhat.com>
471
472 * stmt.c (check_unique_operand_names): Expect operand names to
473 be strings rather than identifiers. Use simple_cst_equal to
474 compare them.
475 (resolve_operand_name_1): Make same identifier to string change here.
476 * c-parse.in (asm_operand): Convert a named operand into a string.
477 * cp/parse.y (asm_operand): Likewise.
478
1d405c5e
AS
4792002-04-13 Andreas Schwab <schwab@suse.de>
480
481 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
482
c740732f
MM
4832002-04-12 Mark Mitchell <mark@codesourcery.com>
484
485 Revert these changes:
486
487 2002-04-06 Mark Mitchell <mark@codesourcery.com>
488
489 PR c++/5571
490 * stor-layout.c (layout_decl): Reset the RTL for the decl.
491
3fc602a0
RH
4922002-04-12 Richard Henderson <rth@redhat.com>
493
494 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
495 (sparc*-*-solaris): Clean up header files.
496 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
497 and plan on generating 64-bit code.
498 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
499 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
500 * config/sparc/sol2-sld-64.h: Rename ...
501 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
502 for AS_SPARC64_FLAG not defined.
503 * config/sparc/sol2-gld-bi.h: New.
504 * config/sparc/sol2-sld.h: Remove.
505 * config/sparc/sol26-sld.h: New.
506 * config/sparc/sol2.h: Tidy comments.
507 * doc/install.texi: Document sparc-solaris configury changes.
508
2f15e255
RH
5092002-04-12 Richard Henderson <rth@redhat.com>
510
511 * recog.c (offsettable_address_p): Match the logic in adjust_address.
512
513 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
514 in 64-bit mode only. Use only for 32-bit or MEDLOW.
515
cc8475cb
RO
5162002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
517
518 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
519
6f133a4a
JL
520Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
521
ef1b8858 522 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
523 constrain_operands.
524
1329e600
DR
5252002-04-12 Douglas B Rupp <rupp@gnat.com>
526
527 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
528 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
529 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 530 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
531 * config/i386/t-interix (USER_H): Remove.
532
0339d239
DD
5332002-04-12 DJ Delorie <dj@redhat.com>
534
535 * integrate.c (compare_blocks): Make comparisons safe for when
536 sizeof(int) < sizeof(char *).
537 (find_block): Likewise.
538
cc4d5fec
JH
5392002-04-12 Jan Hubicka <jh@suse.cz>
540 David Edelsohn <edelsohn@gnu.org>
541
542 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
543 registers.
544 (symbol_ref_operand): New.
545 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
546 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
547
93215a1b
AS
5482002-04-12 Andreas Schwab <schwab@suse.de>
549
550 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
551 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
552 overrides the definition in config/svr4.h.
46468cd9 553
1d80248e
EN
5542002-04-12 Eric Norum <eric.norum@usask.ca>
555
556 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
557 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
558 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
559 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
560 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
561 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
562 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
563 definitions to config/rtems.h and make the targets more similar.
564
fa1591cb
RK
565Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
566
fa06ab5c
RK
567 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
568 POINTERS_EXTEND_UNSIGNED.
569 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
570 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
571
fa1591cb
RK
572 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
573 not specified.
574
12e85a0e
R
575Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
576
577 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
578 depends on TARGET_SHMEDIA, not TARGET_SH5.
579
1ab3e58a
HPN
5802002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
581
582 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
583 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
584
18778292
R
585Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
586
587 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
588 no r0 clobber.
589
9002507c
AS
5902002-04-12 Andreas Schwab <schwab@suse.de>
591
592 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
593
9be40833
RH
5942002-04-12 Richard Henderson <rth@redhat.com>
595
596 PR bootstrap/4191
597 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
598
599 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
600 modes spanning multiple hard regs.
46468cd9 601
9be40833
RH
602 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
603
3d9268b6
JDA
6042002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
605
606 * pa.c (pa_output_function_prologue): Don't accumulate the total
607 number of code bytes when using TARGET_64BIT, or gas, SOM and not
608 the portable runtime.
609 (output_deferred_plabels): Handle 64bit plabels.
610 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
611 generating pic code using the GAS assembler for object formats that
612 are not SOM (ie., ELF32 and ELF64).
613 (output_millicode_call): Check attribute type if attribute length is 28.
614 Likewise use $PIC_pcrel$0. Only call get_attr_length and
615 dbr_sequence_length once.
616 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
617 dbr_sequence_length once.
618 * pa.h (TARGET_SOM): Define if not defined.
619 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
620 with GAS and not SOM.
621 (jump, call_internal_reg, call_value_internal_reg): Likewise.
622 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
623
d360fd18
DB
6242002-04-11 David O'Brien <obrien@FreeBSD.org>
625
626 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
627 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
628 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
629 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
630 elfos.h and dbxelf.h values are fine now.
631 * config/i386/freebsd.h, config/alpha/freebsd.h
632 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
633
5b8fcab6
DB
6342002-04-11 David O'Brien <obrien@FreeBSD.org>
635
636 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
637 or set Acpu or Amachine. Reformat.
638 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
639 define.
640 (LINK_SPEC): Do not need to undef.
641 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
642 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
643 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
644 define.
645 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
646 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
647 (LINK_SPEC): Do not need to undef.
648 (DONT_USE_BUILTIN_SETJMP): Do not define.
649 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
650 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
651 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
652 Remove trailing spaces.
653 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
654 __ELF__, or set Acpu or Amachine. Reformat.
655 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
656 define.
657
fee42cc1
DB
6582002-04-11 David O'Brien <obrien@FreeBSD.org>
659
660 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
661 all other *-*-freebsd* targets.
662
77a403e4
RH
6632002-04-11 Richard Henderson <rth@redhat.com>
664
665 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
666
cf0005c6
DB
6672002-04-11 David O'Brien <obrien@FreeBSD.org>
668
669 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
670 Include {cpu}/{cpu}.h thru tm_file.
671 (alpha*-*-linux*ecoff): Remove target.
672 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
673 (LINK_SPEC): Remove, is not OS independent.
674 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
675 (LINK_SPEC): Do not need to #undef any longer.
676 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
677 any longer.
678 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
679 __ELF__.
680 (LINK_SPEC): Moved here from alpha/elf.h.
681 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
682 SUB_CPP_PREDEFINES.
683 * config/alpha/linux-ecoff.h: Remove.
684 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
685 (CPP_SPEC): Define _POSIX_SOURCE as needed.
686 (CPP_SUBTARGET_SPEC): Do not define.
687 (LINK_SPEC): Do not need to #undef any longer.
688 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
689 * config/alpha/vms.h: Likewise.
690
9be40833 6912002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
692
693 * doc/extend.texi: Remove old claim that typedefs cannot have
694 an alignment attribute.
695
010f87c4
JJ
6962002-04-11 Jakub Jelinek <jakub@redhat.com>
697
698 PR optimization/6177
699 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
700 bitpos is 0 and bitsize CONCAT size.
701
578fc63d
JJ
7022002-04-11 Jakub Jelinek <jakub@redhat.com>
703
704 PR c/6223
705 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
706
bf9b85ce
DB
7072002-04-10 David O'Brien <obrien@FreeBSD.org>
708
709 * config/alpha/freebsd.h: Minor reformatting.
710 (CPP_SPEC): Define ELF and add cpp_subtarget.
711 (ASM_SPEC): No longer needed.
712
7425707d
RH
7132002-04-11 Richard Henderson <rth@redhat.com>
714
715 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
716 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
717 (dimode mem/zero splitter): New.
718
1a05e874
HPN
7192002-04-11 Hans-Peter Nilsson <hp@axis.com>
720
721 * config/cris/cris.c (cris_override_options): Tweak error message
722 for PIC not implemented.
723
724 * config/cris/cris.h: Tweak comments related to parameter-passing.
725
726 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
727
6f3d0447
RH
7282002-04-10 Richard Henderson <rth@redhat.com>
729
730 * except.c (add_ehl_entry): Allow duplicates after landing pad
731 creation.
732
174bf2b1
DE
7332002-04-10 David Edelsohn <edelsohn@gnu.org>
734
735 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
736
03f10472
TM
7372002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
738
739 * c-decl.c (c_init_decl_processing): Move generation of
740 decls for g77_integer_type_node and friends from here ...
741 * c-common.c (c_common_nodes_and_builtins): ... to here.
742
2f460a0a
UW
7432002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
744
745 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
746 is only used as frame pointer when frame_pointer_needed is true.
747
0be5cf85
RE
7482002-04-10 Richard Earnshaw <rearnsha@arm.com>
749
750 PR target/817
751 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
752 for the fact that the pool entry uses two words.
753 (movdf_hard_insn): Similarly. Also, ADR instruction can span
754 1k bytes.
755 (movdf_soft_insn): Similarly.
756 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
757 for the fact that the pool entry uses three words.
758
bf6d4777
RS
7592002-04-10 Richard Sandiford <rsandifo@redhat.com>
760
761 * config/mips/mips.c (mips_va_arg): When using the struct version
762 of the EABI va_list, allow arguments in the register save area to
763 take up less room than a stack argument.
764
c2e9dc85
RH
7652002-04-10 Richard Henderson <rth@redhat.com>
766
767 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
768 if EXPAND_INITIALIZER.
769
bc8e8e97
RH
7702002-04-09 Richard Henderson <rth@redhat.com>
771
772 * config/alpha/alpha.md (movdi_er_maybe_g): New.
773 * config/alpha/alpha.c (alpha_expand_mov): Use it.
774
a6a063b8
AM
7752002-04-10 Alan Modra <amodra@bigpond.net.au>
776
777 PR optimization/6233
778 * rtlanal.c (pure_call_p): New function.
779 * rtl.h (pure_call_p): Declare.
780 * loop.c (prescan_loop): Use it to set has_nonconst_call.
781 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
782
7b2e1077
EC
7832002-04-09 Eric Christopher <echristo@redhat.com>
784
785 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
786 information to .comm directive.
787
d8a50944
RH
7882002-04-09 Richard Henderson <rth@redhat.com>
789
790 PR c/5078
791 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
792
6a58eee9
RH
7932002-04-09 Richard Henderson <rth@redhat.com>
794
795 * basic-block.h (flow_delete_block_noexpunge): Declare.
796 (expunge_block_nocompact): Declare.
797 * cfg.c (expunge_block_nocompact): Split out from ...
798 (expunge_block): ... here.
799 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
800 (flow_delete_block_noexpunge): Split out from ...
801 (flow_delete_block): ... here.
802 * cfgcleanup.c (delete_unreachable_blocks): Compact while
803 removing dead blocks.
804 * except.c (exception_handler_labels): Remove.
805 (exception_handler_label_map): New.
806 (struct eh_region): Add aka member.
807 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
808 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
809 (for_each_eh_label, for_each_eh_label_1): New.
810 (init_eh): Register exception_handler_label_map.
811 (free_eh_status): Use free_region.
812 (find_exception_handler_labels): Use the map, not the list.
813 (remove_exception_handler_label): Likewise.
814 (maybe_remove_eh_handler): Likewise.
815 (remove_eh_handler): Use the region aka bitmap.
816 * except.h (exception_handler_labels): Remove.
817 (for_each_eh_label): Declare.
818 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
819 * loop.c (invalidate_loops_containing_label): New.
820 (find_and_verify_loops): Use it. Use for_each_eh_label.
821 * sched-rgn.c (is_cfg_nonregular): Use
822 current_function_has_exception_handlers.
823
b47374fa
RH
8242002-04-09 Richard Henderson <rth@redhat.com>
825
826 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
827 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
828 Do not return changed status.
829 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
830 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
831 New functions that do return changed status.
832 * sbitmap.h: Update decls.
833 * gcse.c, lcm.c: Use _cg functions as needed.
834
1951818c
R
835Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
836
837 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
838 (sh64-*-elf*, sh-*-rtemself*): Likewise.
839 * config/sh/embed_bb.c: New file.
840 * config/sh/embed-elf.h: New file.
841 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
842 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
843 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
844 __PTRDIFF_TYPE__ .
845 (SUBTARGET_CPP_PTR_SPEC): Don't define.
846 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
847 Add subtarget_asm_endian_spec.
848 (ASM_SPEC): Use subtarget_asm_endian_spec.
849 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
850 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
851 (WCHAR_UNSIGNED): Define.
852 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
853 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
854 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
855 Fix value.
856 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
857 (sh_adjust_cost): Likewise.
858 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
859 __PTRDIFF_TYPE__ .
860 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
861 (WCHAR_TYPE_SIZE): Likewise.
862 (ASM_SPEC): Use subtarget_asm_endian_spec.
863 (SH_ELF_WCHAR_TYPE): #undef/ #define.
864 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
865 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
866 (MAX_WCHAR_TYPE_SIZE): Don't #define .
867 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
868 (USER_LABEL_PREFIX): Don't #undef /#define .
869 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
870 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
871 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
872 (ASM_SPEC): Likewise.
873 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
874 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
875 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
876 (LIB2FUNCS_EXTRA): Define.
877 * t-sh64 (LIB2FUNCS_EXTRA): Define.
878 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
879 (LIB1ASMFUNCS_CACHE): Define.
880 (LIB2FUNCS_EXTRA): Redefine empty.
881
34295799
RH
8822002-04-08 Richard Henderson <rth@redhat.com>
883
884 * reorg.c (get_branch_condition): Use reversed_comparison_code.
885
e8766a39
SC
8862002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
887
888 * config/m68hc11/larith.asm (__map_data_section): Fix condition
889 and optimize for size.
890 (__do_global_ctors): Fix pointer comparison.
891 (__do_global_dtors): Likewise.
892
f451b552
DM
8932002-04-09 David S. Miller <davem@redhat.com>
894
895 * config/sparc/sparc.c (sparc_extra_constraint_check): New
896 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
897 allow reloading pseudos.
898 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
899 * config/sparc/sparc-protos.h: Declare it.
900
901 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
902 unsigned comparison warning.
903 (output_restore_regs): Mark leaf_function as unused.
904
1ce7f3c2
RK
905Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
906
907 * expr.c (is_aligning_offset): New function.
908 (expand_expr, case COMPONENT_EXPR): Call it.
909
7a31a340
DM
9102002-04-08 David S. Miller <davem@redhat.com>
911
912 PR target/6082
913 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
914
915 Make init_priority work on Sparc when using GNU ld.
916 * config/sparc/linux.h, config/sparc/linux64.h,
917 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
918 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
919 * config/sparc/sol2-gld.h: New file to do the same.
920 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
921 sparc/sol2-gld.h to tm_file.
922
923 PR optimization/4328
924 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
925 * doc/md.texi: Document it.
926 * config/sparc/sparc.md (movdi_insn_sp64_novis,
927 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
928 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
929 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
930 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
931
11579f33
AJ
9322002-04-08 Andreas Jaeger <aj@suse.de>
933
934 * stmt.c (expand_asm_operands): Revert last patch from Richard
935 Henderson.
936
b57215d9
GP
9372002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
938
939 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
940 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
941
9422002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
943
944 * doc/contrib.texi (Contributors): Add David O'Brien.
945
534d0cc0
AM
9462002-04-08 Alan Modra <amodra@bigpond.net.au>
947
948 * configure.in (auto-build.h): Use target_alias and build_alias
949 when running configure.
950 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
951 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
952 * configure: Regenerate.
953
19fe522a
DM
9542002-04-07 David S. Miller <davem@redhat.com>
955
956 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
957
bf2d0b8e
JDA
9582002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
959
960 PR 5933
961 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
962 generating 32-bit pic code.
963
477cdac7
JT
9642002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
965
966 * cppinit.c (cpp_create_reader): Initialize
967 discard_comments_in_macro_exp.
968 (COMMAND_LINE_OPTIONS): Add "-CC" option.
969 (cpp_handle_option): Handle "-CC" option.
970 * cpplex.c (save_comment): If saving a C++ comment in
971 a directive, convert it to a C comment.
972 (_cpp_lex_direct): Pass second comment start character to
973 save_comment to indicate comment type.
974 * cpplib.c (_cpp_handle_directive): If processing
975 a "#define" directive and discard_comments_in_macro_exp
976 is false, re-enable saving of comments.
977 (lex_macro_node): If discard_comments_in_macro_exp is false,
978 discard any comments before the macro identifier.
979 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
980 member.
981 * cppmacro.c (cpp_get_token): If expanding a macro while
982 processing a directive, discard any comments we might encounter.
983 (parse_params): If discard_comments_in_macro_exp is false,
984 ignore comments in the macro parameter list.
985 * gcc.c (cpp_unique_options): Add "-CC" option.
986 (option_map): Map "--comments-in-macros" to "-CC".
987 * doc/cppopts.texi: Document "-CC" option.
988 * f/lang-specs.h: Add "-CC" option.
989 * testsuite/gcc.dg/cpp/maccom1.c: New test.
990 * testsuite/gcc.dg/cpp/maccom2.c: New test.
991 * testsuite/gcc.dg/cpp/maccom3.c: New test.
992 * testsuite/gcc.dg/cpp/maccom4.c: New test.
993 * testsuite/gcc.dg/cpp/maccom5.c: New test.
994 * testsuite/gcc.dg/cpp/maccom6.c: New test.
995
f1526122
JDA
9962002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
997
998 PR middle-end/6180
999 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
1000
b1896e61
MM
10012002-04-06 Mark Mitchell <mark@codesourcery.com>
1002
0154eaa8
MM
1003 PR c++/5571
1004 * stor-layout.c (layout_decl): Reset the RTL for the decl.
1005
b1896e61
MM
1006 PR opt/5120
1007 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
1008 RTX_UNCHANGING_P for the functions arguments when a tail call
1009 is made.
1010
b0148884
JM
10112002-04-06 Jason Merrill <jason@redhat.com>
1012
1013 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
1014 (parse_options_and_default_flags): Set them appropriately.
1015 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
1016
392fc5b0
HPN
10172002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
1018
1019 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
1020 here.
1021
1022 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
1023 semicolon.
1024
1025 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
1026 types come in by-reference. Fix typo in comment.
1027
2d69e3cb
DM
10282002-04-05 David S. Miller <davem@redhat.com>
1029
1030 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
1031 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
1032 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
1033 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
1034
10352002-04-05 David S. Miller <davem@redhat.com>
1036
1037 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
1038 are not going to emit return instructions, emit at least a nop
1039 for the sake of sane backtraces.
1040
5f9fb0e3
RH
10412002-04-05 Richard Henderson <rth@redhat.com>
1042
1043 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
1044
49f37a0d
JJ
10452002-04-05 Jakub Jeilnek <jakub@redhat.com>
1046
1047 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
1048
974a3101
AO
10492002-04-05 Alexandre Oliva <aoliva@redhat.com>
1050
1051 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
1052 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
1053 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
1054
2e04a694
AS
10552002-04-05 Andreas Schwab <schwab@suse.de>
1056
a40179bd 1057 * c-convert.c: Include c-common.h.
2e04a694
AS
1058 * Makefile.in (c-convert.o): Updated.
1059
1f785b7c
JJ
10602002-04-05 Jakub Jelinek <jakub@redhat.com>
1061
1062 * mklibgcc.in: Use separate libgcc.map for each multilib.
1063 * Makefile.in (distclean): Don't remove libgcc.map here.
1064
4d2fb38b
JJ
10652002-04-05 Jakub Jelinek <jakub@redhat.com>
1066
1067 * Makefile.in (s-mlib): Handle --disable-multilib by separate
1068 genmultilib invocation.
1069
bb63e5a0
RS
10702002-04-04 Richard Sandiford <rsandifo@redhat.com>
1071
1072 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
1073 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
1074 to num_gprs for symmetry.
1075 * config/mips/mips.c: Adjust accordingly.
1076
8ab80eaa
NB
10772002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
1078
1079 * c-common.c (truthvalue_conversion): Rename, update.
1080 * c-common.h (c_common_truthvalue_conversion): New.
1081 * c-convert.c (convert): Update.
1082 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
1083 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
1084 * c-typeck.c (build_binary_op, build_unary_op,
1085 build_conditional_expr): Update.
1086 * fold-const.c (constant_boolean_node, fold): Use langhook.
1087 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
1088 * langhooks.h (struct lang_hooks): New hook.
1089 * stmt.c (expand_decl_cleanup): Use langhook.
1090 * tree.h (truthvalue_conversion): Remove.
1091objc:
1092 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
1093
a2e9374a
AM
10942002-04-05 Alan Modra <amodra@bigpond.net.au>
1095
1096 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
1097 Add rules to make null object file.
1098
64d08263
JB
10992002-04-04 Jim Blandy <jimb@redhat.com>
1100
1101 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
1102 macro formal parameter names.
1103
aa7634dd
DM
11042002-04-04 David S. Miller <davem@redhat.com>
1105
1106 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
1107
ecc114f7
RH
11082002-04-04 Richard Henderson <rth@redhat.com>
1109
1110 PR middle-end/5099
1111 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
1112 Support copies into and out of memory. Don't accept allows_reg
1113 and allows_mem as gospel.
1114
c4484b8f
RH
11152002-04-04 Richard Henderson <rth@redhat.com>
1116
1117 PR opt/6165
1118 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
1119 (write_dependence_p): Likewise.
1120
39002160
RH
11212002-04-04 Richard Henderson <rth@redhat.com>
1122
1123 * predict.c (estimate_bb_frequencies): Do frequency calculation
1124 with a volatile temporary.
1125
f53ebe71
UW
11262002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
1127
1128 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
1129
15e0ecab
JJ
11302002-04-04 Jakub Jelinek <jakub@redhat.com>
1131
1132 PR c++/6119
1133 * final.c (final_start_function): Don't bump profile_label_no here...
1134 (final_end_function): ...but here.
1135
ffd386b0
JJ
11362002-04-04 Jakub Jelinek <jakub@redhat.com>
1137
1138 * config/sparc/sparc.md (pic): New attribute.
1139 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
1140 into stack slots.
1141 (split after do_builtin_setjmp_setup): New.
1142
8b156b3e
JJ
11432002-04-04 Jakub Jelinek <jakub@redhat.com>
1144
1145 PR fortran/6106
1146 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
1147 change.
1148
014c0998
JJ
11492002-04-04 Jakub Jelinek <jakub@redhat.com>
1150
1151 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
1152 UNITS_PER_WORD for zero sized aggregates.
1153
4d8611d9
DM
11542002-04-03 David S. Miller <davem@redhat.com>
1155
1156 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
1157 one-character spec for this, just use %(link_gcc_c_sequence).
1158
b03ad99d
DM
11592002-04-03 David S. Miller <davem@redhat.com>
1160
1161 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
1162 handling.
1163
823fbbce
JDA
11642002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
1165
1166 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
1167 (DWARF_FRAME_RETURN_COLUMN): Move.
1168 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1169 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
1170 * pa.c (except.h, predict.h): Include.
1171 (FRP): Delete.
1172 (store_reg_modify, set_reg_plus_d): Revise prototypes.
1173 (output_ascii): Add cast.
1174 (store_reg_modify): Revise to add frame notes.
1175 (set_reg_plus_d): Likewise.
1176 (compute_frame_size): Include space for eh data registers in frame if
1177 the current function calls eh_return.
1178 (hppa_expand_prologue): Ensure register %r2 is saved if the current
1179 function calls eh_return. Save eh data registers if the current
1180 function calls eh_return. Fix code to add frame notes. Emit
1181 blockage to prevent insns with frame notes being scheduled in the
1182 delay slot of calls.
1183 (hppa_expand_epilogue): Restore eh data registers and do final stack
1184 adjustment if the current function calls eh_return. Don't add frame
1185 notes.
1186 (output_call): Revise for change in length of call insn. Don't do
1187 return pointer adjustment for an unconditional jump in the delay slot
1188 of a call when using frame notes.
1189 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
1190 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
1191 (ARG_POINTER_CFA_OFFSET): Define.
1192 * pa.md (return_external_pic): New pattern.
1193 (prologue): Correct formatting. Use return_external_pic if current
1194 function calls eh_return.
1195 (call_internal_symref, call_value_internal_symref,
1196 sibcall_internal_symref, sibcall_value_internal_symref): Change default
1197 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
1198 respectively.
1199 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
1200
1201 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
1202 list of targets to check using "nop" insn.
1203 * configure: Rebuilt.
1204
4078e224
AM
12052002-04-04 Alan Modra <amodra@bigpond.net.au>
1206
1207 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
1208
bbd7687d
DM
12092002-04-03 David S. Miller <davem@redhat.com>
1210
1211 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
1212 library sequence passed to the linker.
1213 (LINK_COMMAND_SPEC): Use it.
1214 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
1215 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
1216 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
1217
659e5a7a
JM
12182002-04-03 Jason Merrill <jason@redhat.com>
1219
1220 * except.c (struct eh_status): Remove protect_list.
1221 (begin_protect_partials, end_protect_partials): Remove.
1222 (add_partial_entry): Remove.
1223 * except.h: Remove prototypes.
1224
1225 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
1226 expand_decl_cleanup_eh.
1227
1228 PR c++/5636
1229 * tree.h (CLEANUP_EH_ONLY): New macro.
1230 * stmt.c (expand_decl_cleanup_eh): New fn.
1231 (expand_cleanups): Check CLEANUP_EH_ONLY.
1232 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
1233 Use expand_decl_cleanup_eh.
1234 (expand_stmt): Adjust.
1235 * c-common.h: Adjust prototype.
1236
053d3344
HPN
12372002-04-04 Hans-Peter Nilsson <hp@axis.com>
1238
1239 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
1240 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
1241 (cris_target_asm_function_epilogue): Ditto.
1242 (cris_initial_frame_pointer_offset): Ditto.
1243 (cris_simple_epilogue): Ditto.
1244 (cris_expand_builtin_va_arg): Variable-size types come in
1245 by-reference.
1246
61ab5260
DM
12472002-04-03 David S. Miller <davem@redhat.com>
1248
1249 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
1250 little-endian.
1251 (set_fast_math): Correct 'fsr' type.
1252
ef4f94ac
RH
12532002-04-03 Richard Henderson <rth@redhat.com>
1254
36c2272c 1255 PR opt/3569
ef4f94ac
RH
1256 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
1257 * toplev.c (check_global_declarations): Use it.
1258 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
1259 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
1260 (LANG_HOOKS_DECLS): Add it.
1261 * langhooks.c (lhd_warn_unused_global_decl): New.
1262 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
1263 * c-objc-common.c (c_warn_unused_global_decl): New.
1264 * c-tree.h (c_warn_unused_global_decl): Declare.
1265 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
1266
599bba86
NB
12672002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
1268
1269 * langhooks-def.h (lhd_set_decl_assembler_name,
1270 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
1271 (LANG_HOOKS_INITIALIZER): Update.
1272 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
1273 * langhooks.h (struct lang_hooks): New hook.
1274 * tree.c (set_decl_assembler_name): Move to langhooks.c.
1275 (lang_set_decl_assembler_name): Remove.
1276 (init_obstacks): Don't set hook.
1277 (decl_assembler_name): New function.
1278 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
1279 (decl_assembler_name): New.
1280 (lang_set_decl_assembler_name): Remove.
1281
cf7b8b0d
JJ
12822002-04-03 Jakub Jelinek <jakub@redhat.com>
1283
1284 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
1285 works properly with .hidden symbols.
1286 * configure: Rebuilt.
1287 * config.in: Rebuilt.
1288 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
1289 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
1290 properly with .hidden symbols.
1291
faf6db38
JJ
12922002-04-03 Jakub Jelinek <jakub@redhat.com>
1293
1294 PR middle-end/6102
1295 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
1296 USE argument.
1297
68c17f30
RH
12982002-04-03 Richard Henderson <rth@redhat.com>
1299
1300 PR opt/4120
1301 * sched-rgn.c (sets_likely_spilled): New.
1302 (sets_likely_spilled_1): New.
1303 (add_branch_dependences): Use it.
1304
6584b4aa
RH
13052002-04-02 Richard Henderson <rth@redhat.com>
1306
1307 PR opt/4311
1308 * loop.h (LOOP_FIRST_PASS): New.
1309 * loop.c (strength_reduce): Mind it when deciding to unroll.
1310 * toplev.c (rest_of_compilation): Set it.
1311
0acf409f
DM
13122002-04-02 David S. Miller <davem@redhat.com>
1313
1314 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
1315 mems_ok_for_ldd_peep when the order of the loads being examined
1316 is reversed.
1317 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
1318 existing comment to increase comprehension of this situation.
1319
85654444
ZW
13202002-04-02 Zack Weinberg <zack@codesourcery.com>
1321
1322 * config/sh/sh.md: Don't use union real_extract.
1323
543828ca
RH
13242002-04-02 Richard Henderson <rth@redhat.com>
1325
1326 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
1327
39ed301b
DB
13282002-04-02 David O'Brien <obrien@FreeBSD.org>
1329
1330 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
1331 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
1332 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
1333 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
1334 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
1335 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
1336 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
1337 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
1338 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
1339 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
1340 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
1341 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
1342 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
1343 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
1344 Include as many configury headers via tm_file as possible. This
1345 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
1346 * config/openbsd-oldgas.h: New file.
1347 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
1348 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
1349 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
1350 config/i386/i386-coff.h, config/i386/i386-interix.h,
1351 config/i386/iscdbx.h, config/i386/linux-aout.h,
1352 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
1353 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
1354 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
1355 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
1356 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
1357 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
1358 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
1359 config/i386/vxi386.h: Do not directly include configury headers.
1360 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
1361 Directly include configury headers that are no longer automatically
1362 included by the above headers.
1363 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
1364 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
1365 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
1366 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
1367 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
1368 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
1369 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
1370 (TARGET_VERSION): Define.
1371 * config/i386/beos-elf.h, config/i386/freebsd.h,
1372 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
1373 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
1374 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
1375 config/i386/sco5.h, config/i386/sysv4.h
1376 (TARGET_VERSION): Do not need to protect.
1377 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
1378 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
1379 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
1380 config/i386/i386-interix.h, config/i386/linux-aout.h,
1381 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
1382 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
1383 (YES_UNDERSCORES): Do not define - not needed.
1384 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
1385 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
1386 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
1387 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
1388 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
1389 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
1390 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
1391 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
1392
9432c136
EB
13932002-04-02 Eric Botcazou <ebotcazou@multimania.com>
1394 Richard Henderson <rth@redhat.com>
1395
1396 PR c/5484
1397 * function.c (assign_temp): Accept either type or decl argument.
1398 Detect variables whose size is too large to fit into an integer.
1399 * stmt.c (expand_decl): Pass the decl, not the type.
1400
058b1275
DB
14012002-04-02 David O'Brien <obrien@FreeBSD.org>
1402
1403 * protoize.c: Match include directory usage with cppdefault.c.
1404
5add6d1a 14052002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 1406 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
1407
1408 * combine.c (simplify_comparison): Avoid narrowing a comparison
1409 with a paradoxical subreg when doing so would drop signficant bits.
1410
1e533e4b
SE
14112002-04-02 Steve Ellcey <sje@cup.hp.com>
1412
1413 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
1414 if POINTERS_EXTEND_UNSIGNED is defined.
1415
7a145e92
RH
14162002-04-02 Richard Henderson <rth@redhat.com>
1417
1418 PR opt/3967
1419 * local-alloc.c (contains_replace_regs): LO_SUM may contain
1420 replace regs.
1421
3a079822
RH
14222002-04-02 Richard Henderson <rth@redhat.com>
1423
1424 * doc/standards.texi: Document required freestanding libc entry points.
1425
c94ccb87
AM
14262002-04-02 Alan Modra <amodra@bigpond.net.au>
1427
1428 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
1429 associated splitter. Remove MQ constraint.
1430 (ctrdi_internal4): Correct CCmode clobber.
1431
fe660a1a
JDA
14322002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
1433
1434 * milli64.S ($$dyncall): New function.
1435 * t-linux (LIB1ASMFUNCS): Revise module list.
1436 (LIB1ASMSRC): Use pa/milli64.S.
1437
eadc0202
RH
14382002-04-02 Richard Henderson <rth@redhat.com>
1439
1440 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
1441 rename solaris_sys_varargs_h.
1442
a1471322
RK
1443Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1444
1445 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
1446 the same mode as its component.
1447
c8b94768
RH
14482002-04-02 Richard Henderson <rth@redhat.com>
1449
1450 PR opt/190
1451 * final.c (this_is_asm_operands): Export.
1452 * output.h (this_is_asm_operands): Declare.
1453 * config/i386/i386.c (print_operand): Error odd asm operands.
1454
161eb4fc
RH
14552002-04-02 Richard Henderson <rth@redhat.com>
1456
1457 PR opt/420
1458 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
1459
b88a94c6
RH
14602002-04-01 Richard Henderson <rth@redhat.com>
1461
1462 PR target/1538
1463 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
1464 * fixinc/fixincl.x: Rebuild.
1465
72e32876
RH
14662002-04-01 Richard Henderson <rth@redhat.com>
1467
1468 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
1469 (atomic_alloc, atomic_free): New.
1470 (SIZE, MASK_FOR, PTR_IN): New.
1471 (emergency_reg_state, emergency_reg_state_free): New.
1472 (emergency_labeled_state, emergency_labeled_state_free): New.
1473 (reg_state_alloced, labeled_state_alloced): New.
1474 (alloc_reg_state, free_reg_state): New.
1475 (alloc_label_state, free_label_state, free_label_states): New.
1476 (push, pop, dup_state_stack, free_state_stack): Use them.
1477 (desc_label_state): Likewise.
1478 (uw_frame_state_for): Free label states and state stack.
1479 (uw_update_reg_address): Eliminate warnings.
1480
84d76074
VM
14812002-04-01 Vladimir Makarov <vmakarov@redhat.com>
1482
1483 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 1484 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 1485
dffd7eb6
NB
14862002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
1487
1488 * c-decl.c (grokdeclarator): Update.
1489 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
1490 * c-tree.h (c_mark_addressable): New.
1491 * c-typeck.c (default_function_array_conversion, build_unary_op,
1492 build_array_ref, convert_for_assignment): Update.
1493 (mark_addressable): Rename.
1494 * calls.c (try_to_integrate, expand_call): Use langhook.
1495 * expr.c (expand_expr): Use langhook.
1496 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
1497 * langhooks.h (struct lang_hooks): New hook.
1498 * stmt.c (expand_asm_operands): Use langhook.
1499 * tree.h (mark_addressable): Remove.
1500objc:
1501 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
1502
544ef5b5
BW
15032002-04-01 Bob Wilson <bob.wilson@acm.org>
1504
9be40833
RH
1505 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
1506 in previous change.
544ef5b5 1507
bcf88f9b
BW
15082002-04-01 Bob Wilson <bob.wilson@acm.org>
1509
1510 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
1511 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
1512
ceef8ce4
NB
15132002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
1514
1515 * c-common.c (unsigned_conversion_warning, convert_and_check,
1516 unsigned_type, signed_type, shorten_compare,
1517 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
1518 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
1519 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
1520 New.
1521 * c-decl.c (grokdeclarator): Update.
1522 * c-format.c (check_format_types): Update.
1523 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
1524 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
1525 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
1526 * convert.c (convert_to_integer): Use new hooks.
1527 * expmed.c (make_tree): Use new hooks.
1528 * expr.c (store_expr): Use new hooks.
1529 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
1530 all_ones_mask_p, unextend, fold): Use new hooks.
1531 * langhooks.h (struct lang_hooks_for_types): New hooks.
1532 * tree.h (signed_or_unsigned_type, signed_type,
1533 unsigned_type): Remove.
1534objc:
1535 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
1536 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
1537
1d9ad0e0
RH
15382002-03-31 Richard Henderson <rth@redhat.com>
1539
1540 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
1541 (desc_frgr_mem): Fix reference to f16-f31.
1542
d544bc39
KG
15432002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1544
1545 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
1546 RTVEC_ELT): Const-ify.
d8750784
KG
1547 * varray.h (VARRAY_CHECK): Const-ify.
1548 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
1549 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 1550
b18101c7
NB
15512002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
1552
1553 * diagnostic.c: Include langhooks-def.h.
1554 * Makefile.in (diagnostic.o): Update.
1555
48a7a235
NB
15562002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
1557
1558 * c-common.c (c_unsafe_for_reeval): Rename.
1559 * c-common.h (c_unsafe_for_reeval): Rename.
1560 * c-decl.c (finish_incomplete_decl): Rename.
1561 (c_init_decl_processing): Don't set langhook.
1562 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
1563 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
1564 * c-objc-common.c (c_objc_common_init): Don't set langhook.
1565 * c-tree.h (finish_incomplete_decl): Rename.
1566 * langhooks-def.h (lhd_unsafe_for_reeval): New.
1567 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
1568 (LANG_HOOKS_INITIALIZER): Update.
1569 * langhooks.c (lhd_unsafe_For_reeval): New.
1570 * langhooks.h (struct langhooks): New hooks.
1571 * toplev.c (incomplete_decl_finalize_hook): Remove.
1572 (wrapup_global_declarations): Update.
1573 * tree.c (lang_unsafe_for_reeval): Remove.
1574 (unsafe_for_reeval): Update.
1575 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
1576 Remove.
1577objc:
1578 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
1579 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
1580
7cb32822
NB
15812002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
1582
1583 * diagnostic.c (print_error_function): Remove.
1584 (default_print_error_function): Rename.
1585 (report_error_function): Update.
1586 * diagnostic.h (print_error_function): Remove.
1587 (default_print_error_function): Remove.
1588 * langhooks-def.h (struct diagnostic_context): Predeclare.
1589 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
1590 (LANG_HOOKS_INITIALIZER): Update.
1591 * langhooks.h (struct diagnostic context): Predeclare.
1592 (struct lang_hooks): New hook.
1593
1db02437
FS
15942002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1595
1596 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
1597 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
1598 !flag_pic.
1599 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
1600 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
1601 of PIC_OFFSET_TABLE_REGNUM thruout.
1602 * config/rs6000/rs6000.md: Likewise.
1603 * config/rs6000/darwin.h: Likewise.
1604
3bf1e984
RK
1605Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1606
1607 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
1608 unsigned HOST_WIDE_INT, not unsigned int.
1609
0864c526
JJ
16102002-03-31 Jakub Jelinek <jakub@redhat.com>
1611
1612 PR middle-end/6096, middle-end/6098, middle-end/6099
1613 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
1614 CODE_LABELs.
1615 (fill_slots_from_thread): Likewise.
1616
105b2084
JJ
16172002-03-31 Jakub Jelinek <jakub@redhat.com>
1618
1619 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
1620 floating fields in float regs.
1621 (function_arg_record_value_2): Likewise.
1622
db08fddf
HPN
16232002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
1624
1625 * config/mmix/mmix.md (define_constants): Remove misleading
1626 FIXME. Add MMIX_fp_rO_OFFSET.
1627 ("nonlocal_goto_receiver"): Don't have stack-frame address of
1628 saved rO as part of the pattern. Remove FIXME.
1629 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
1630 here, at output-time.
1631
4f31cce8
JJ
16322002-03-31 Jakub Jelinek <jakub@redhat.com>
1633
1634 PR middle-end/6100
1635 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
1636 REG_BR_PRED.
1637 (output_v9branch): Likewise.
1638
ba2b7435
AO
16392002-03-31 Alexandre Oliva <aoliva@redhat.com>
1640
1641 * gcc.c: Revert previous patch for now.
1642 * config/i386/djgpp.h: Likewise.
1643
aa66aa5f 16442002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
1645
1646 * config/mmix/crti.asm (_init): Register _fini with atexit.
1647 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
1648
41ba8a20
RH
16492002-03-31 Richard Henderson <rth@redhat.com>
1650
1651 PR target/3997
1652 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
1653 (ASM_OUTPUT_DEF_FROM_DECLS): New.
1654
adc186ef
RH
16552002-03-31 Richard Henderson <rth@redhat.com>
1656
1657 * libgcc2.c (__bb_exit_func): Make static.
1658
9be40833 1659 * config/alpha/alpha.md (trap): New.
a7648399 1660
9602f5a0
RH
16612002-03-31 Richard Henderson <rth@redhat.com>
1662
1663 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
1664 promoted argument types; build trap.
1665 (expand_builtin_trap): New.
1666 (expand_builtin): Use it.
1667 * stmt.c (expand_nl_goto_receivers): Likewise.
1668 * expr.h (expand_builtin_trap): Declare.
1669 * libfuncs.h (LTI_abort, abort_libfunc): New.
1670 * optabs.c (init_optabs): Init abort_libfunc.
1671
1a0a7539
AO
16722002-03-31 Alexandre Oliva <aoliva@redhat.com>
1673
1674 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
1675 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 1676 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
1677 shared_name in the second copy.
1678 (init_spec): Test for duplicate
1679 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
1680
b5de1a27
DM
16812002-03-30 David S. Miller <davem@redhat.com>
1682
1683 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
1684 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
1685
78414d74 16862002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 1687 Richard Henderson <rth@redhat.com>
78414d74 1688
9be40833
RH
1689 * regmove.c (combine_stack_adjustments_for_block): Avoid
1690 emitting a stack adjustment of zero bytes. Let delete_insn
1691 update bb->head.
78414d74 1692
33074e5f
RH
16932002-03-30 Richard Henderson <rth@redhat.com>
1694
1695 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
1696 (sparc_emitting_epilogue): New.
1697 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
1698 * config/sparc/sparc-protos.h: Update.
1699 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
1700 (TARGET_SWITCHES): Update.
1701 * config/sparc/sparc.md (return): Remove.
1702 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
1703 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
1704 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
1705 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
1706 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
1707 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
1708 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
1709 Remove MASK_EPILOGUE.
1710 * doc/invoke.texi: Update.
1711
606cc056
DB
17122002-03-30 Daniel Berlin <dan@dberlin.org>
1713
1714 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
1715 CPP will start the file for us.
7b2e1077 1716
bdbe5b8d
RH
17172002-03-30 Richard Henderson <rth@redhat.com>
1718
1719 PR target/5446
1720 * config/ia64/ia64.c (group_barrier_needed_p): Special case
1721 prologue_allocate_stack.
1722 (ia64_single_set): Use insn codes for recognition of special
1723 cases, not rtl matching.
1724 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
1725
4ab95d82
JH
1726Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
1727
1728 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
1729
89a8b315
RH
17302002-03-30 Richard Henderson <rth@redhat.com>
1731
1732 PR target/6032
1733 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
1734 or -fomit-frame-pointer with profiling.
1735 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
1736 (FUNCTION_PROFILER): Do nothing.
1737 (PROFILE_HOOK): New.
1738 * config/sparc/sparc.c (sparc_override_options): Don't check
1739 code models for profiling.
1740 (sparc_function_profiler): Remove.
1741 (sparc_profile_hook): New.
1742 * config/sparc/sparc-protos.h: Update.
1743
30984c57
JJ
17442002-03-30 Jakub Jelinek <jakub@redhat.com>
1745
1746 PR optimization/6086
1747 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
1748 of SUBREG of volatile MEM or because the MEM was mode dependent,
1749 return CLOBBER instead of unmodified SUBREG.
1750
1540f9eb
JH
1751Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
1752
89a8b315
RH
1753 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
1754 when not optimizing.
1540f9eb
JH
1755
1756 * toplev.c (rest_of_compilation): Cann mark_constant_function
1757 only when optimizing.
1758
89a8b315
RH
1759 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
1760 are NULL.
1540f9eb
JH
1761
1762 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
1763 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
1764 (try_optimize_cfg): clear all AUX fields.
1765
1766 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
1767 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
1768 (ix86_address_cost): Be prepared for SUBREGed registers.
1769 (legitimate_address_p): Accept SUBREGed registers.
1770
70d95bac
RH
17712002-03-29 Richard Henderson <rth@redhat.com>
1772
1773 PR target/5672
1774 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
1775
d3294cd9
FS
17762002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1777
1778 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
1779 for aggregate and TFmode types.
1780
a106c875
HPN
17812002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
1782
1783 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
1784
7d7a5d6f
RH
17852002-03-29 Richard Henderson <rth@redhat.com>
1786
6e2d670b 1787 PR target/5886
7d7a5d6f
RH
1788 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
1789 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
1790
30c99a84
RH
17912002-03-29 Richard Henderson <rth@redhat.com>
1792
6e2d670b 1793 PR target/6041
30c99a84
RH
1794 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
1795 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
1796 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
1797 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
1798 conditional.
1799 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
1800
02a566dc
DJ
18012002-03-29 Dale Johannesen <dalej@apple.com>
1802
1803 * loop.c (combine_movables): Do allow combination of pseudos.
1804
bc3a44db
LR
18052002-03-29 Loren J. Rittle <ljrittle@acm.org>
1806
1807 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
1808 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
1809 No functional change except ...
1810 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
1811 * doc/install.texi (*-*-freebsd*): Document port configuration.
1812
b0c48229
NB
18132002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
1814
1815 * Makefile.in (convert.o, calls.o, expmed.o): Update.
1816 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
1817 Use new hooks.
1818 * builtin-types.def (BT_PTRMODE): Update.
1819 * c-common.c (type_for_size): Rename c_common_type_for_size.
1820 (type_for_mode): Similarly.
1821 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
1822 Use new hook.
1823 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
1824 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
1825 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
1826 Redefine.
1827 * c-typeck.c (common_type, comptypes, default_conversion):
1828 Use new hooks.
1829 * calls.c: Include langhooks.h.
1830 (emit_library_call_value_1): Use new hooks. Avoid redundant
1831 calls.
1832 * convert.c: Include langhooks.h
1833 (convert_to_pointer, convert_to_integer): Use new hooks.
1834 * except.c (init_eh): Similarly.
1835 * expmed.c: Include langhooks.h.
1836 (expand_mult_add): Use new hooks.
1837 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
1838 try_casesi): Similarly.
1839 * fold-const.c (optimize_bit_field_compare, make_range,
1840 decode_field_reference, fold_truthop, fold): Similarly.
1841 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
1842 put_var_into_stack): Similarly.
1843 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
1844 LANG_HOOKS_TYPE_FOR_SIZE): New.
1845 (LANG_HOOKS_TYPES_INITIALIZER): Update.
1846 * langhooks.h (lang_hooks_for_types): New hooks.
1847 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
1848 * tree.c (get_unwidened, get_narrower): Similarly.
1849 * tree.h (type_for_mode, type_for_size): Remove.
1850 * varasm.c (force_const_mem): Use new hooks.
1851 * utils2.c (nonbinary_modular_operation): Update.
1852objc:
1853 * objc-act.c (handle_impent): Update.
1854 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
1855 Redefine.
1856
e206a74f
SE
18572002-03-29 Steve Ellcey <sje@cup.hp.com>
1858
1859 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
1860 * config/ia64/ia64.c (basereg_operand): New.
1861 * config/ia64/ia64-protos.h (basereg_operand): Declare.
1862 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
1863
7d9b6378
HPN
18642002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
1865
1866 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
1867 unwind information when frame_pointer_needed.
1868 (mmix_assemble_integer): Tweak wording in comment.
1869
f1e639b1
NB
18702002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
1871
1872 * Makefile.in (except.o): Update.
1873 * except.c: Include langhooks.h.
1874 (init_eh): Use langhook.
1875 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
1876 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
1877 (LANG_HOOKS_INITIALIZER): Update.
1878 * langhooks.h (lang_hooks_for_types): New.
1879 (struct lang_hooks): Add it.
1880 * tree.c (make_lang_type_fn, make_lang_type): Remove.
1881 * tree.h (make_lang_type_fn, make_lang_type): Remove.
1882config:
1883 * alpha/alpha.c: Include langhooks.h.
1884 (alpha_build_va_list): Use langhook.
1885 * d30v/d30v.c: Include langhooks.h.
1886 (d30v_build_va_list): Use langhook.
1887 * i386/i386.c: Include langhooks.h.
1888 (ix86_build_va_list): Use langhook.
1889 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
1890 * s390/s390.c: Include langhooks.h.
1891 (s390_build_va_list): Use langhook.
1892 * stormy16/stormy16.c: Include langhooks.h.
1893 (stormy16_build_va_list): Use langhook.
1894
f17f9332
JJ
18952002-03-29 Jakub Jelinek <jakub@redhat.com>
1896
1897 PR c++/5964
1898 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
1899 attributes.
1900 (length): Compute variable length for branches/calls/jumps here.
1901 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
1902 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
1903 define branch_type attribute.
1904 (divsi3_sp32): Maximum length is 6 not 7.
1905 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
1906 call_address_untyped_struct_value_sp32,
1907 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
1908 * config/sparc/sparc.c (empty_delay_slot): New function.
1909 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
1910 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
1911
0a0440c9
JJ
19122002-03-29 Jakub Jelinek <jakub@redhat.com>
1913
1914 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
1915 nonzero_bits if not needed.
1916 (nonzero_bits) [XOR]: Likewise.
1917 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
1918 reg_last_set_mode and mode are both MODE_INT, but not equal.
1919 (record_value_for_reg): Compute reg_last_set_nonzero_bits
1920 in nonzero_bits_mode for MODE_INT modes.
1921
c9045f47
RH
19222002-03-28 Richard Henderson <rth@redhat.com>
1923
1924 PR target/5715
1925 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
1926 to GAS. Correct drift between alternatives.
1927
f8ed1958
RH
19282002-03-28 Richard Henderson <rth@redhat.com>
1929
1930 PR target/6087
1931 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
1932
54e20385
LR
19332002-03-28 Alexandre Oliva <aoliva@redhat.com>
1934
1935 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
1936 emulation to the linker.
1937
19382002-03-28 Loren J. Rittle <ljrittle@acm.org>
1939
1940 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
1941 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
1942
8bc52806
JL
1943Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
1944
1945 * combine.c (simplify_and_const_int): Make sure to apply mask
1946 when force_to_mode returns a constant integer. PR3311.
1947
279dccc5
JDA
19482002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
1949
1950 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
1951
62aaa62c
GP
19522002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1953
1954 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
1955 and Objective-C Dialect Options.
1956
b8de5050
RH
19572002-03-28 Richard Henderson <rth@redhat.com>
1958
1959 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
1960 comparison should be done vs !=0 not >0 return code. Tidy cases.
1961
619708cc
RH
19622002-03-28 Richard Henderson <rth@redhat.com>
1963
1964 * c-decl.c (finish_function): New arg can_defer_p. Pass it
1965 on to c_expand_body.
1966 * c-tree.h (finish_function): Update decl.
1967 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
1968
b1d874d7
JH
1969Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
1970
1971 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
1972
f5eb5fd0
JH
1973Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
1974
1975 * rtlanal.c: Include flags.h
1976 (may_trap_p): Do not mark FP operations if trapping
1977 if !flag_trapping_math
1978 * Makefile.in (rtlanal.o): Add dependency on flag.h
1979 * ifcvt.c (noce_operand_ok): Avoid the lameness.
1980
81b4c798
ZW
19812002-03-27 Zack Weinberg <zack@codesourcery.com>
1982
1983 * mips.md: Use dconst1, not 1.0, as first argument of
1984 REAL_VALUE_LDEXP. Don't use union real_extract.
1985
55a2ea2a
AM
19862002-03-28 Alan Modra <amodra@bigpond.net.au>
1987
1988 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
1989 rather than $target. Heed program_prefix and
1990 program_transform_name. Search for gas in cross-compiler case too.
1991 "test -x" rather than "test -f".
1992 (gcc_cv_ld): Likewise.
1993 (gcc_cv_nm): Heed program_prefix and program_transform_name.
1994 (gcc_cv_objdump): Likewise.
1995 * configure: Regenerate.
1996
7ffb4fd2
NB
19972002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
1998
1999 * Makefile.in (attribs.o): Update.
2000 * attribs.c: Include langhooks.h.
2001 (decl_attributes): Use langhook.
2002 * c-decl.c (insert_default_attributes): Rename.
2003 * c-tree.h (c_insert_default_attributes): New.
2004 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
2005 (LANG_HOOKS_INITIALIZER): Update.
2006 * langhooks.h (struct lang_hooks): New hook.
2007 * tree.h (insert_default_attributes): Remove.
2008objc:
2009 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
2010
e4dbaed5
AS
20112002-03-27 Andreas Schwab <schwab@suse.de>
2012
2013 * config/i386/i386.c (classify_argument): Also check for
2014 QUAL_UNION_TYPE.
2015
18b467f1
RO
20162002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2017
2018 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
2019 any more.
2020
d337d653
JH
2021Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
2022
2023 * i960.md (ret): Set PC.
2024 (nonlocal_goto): Fix expander.
2025 * builtins.c (epxand_builin_longjmp): Check that we've emitted
2026 some jump or call.
2027
218aa620
JH
2028Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
2029
2030 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
2031 of libcall regions.
2032
e27a4eaf
ZD
2033Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2034
2035 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
2036 assigning to BLOCK_FOR_INSN directly.
2037
8a12f34c
JH
2038Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
2039
2040 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
2041
c9d892a8
NB
20422002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
2043
2044 * c-common.c (c_expand_expr): Fix prototype.
2045 * c-common.h (c_expand_expr): Always declare, update.
2046 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
2047 * c-objc-common.c (c_objc_common_init): No global hook.
2048 * expr.c (expand_expr): Use langhook.
2049 * expr.h (enum expand_modifier): Conditionally declare.
2050 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
2051 (LANG_HOOKS_INITIALIZER): Update.
2052 * langhooks.c (lhd_expand_expr): New.
2053 * langhooks.h (struct lang_hooks): New hook.
2054 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
2055 (lang_independent_init): Don't default hook.
2056objc:
2057 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
2058
6dad5a56
RH
20592002-03-27 Richard Henderson <rth@redhat.com>
2060
2061 PR target/6054
2062 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
2063 TARGET_CONST_GP. Simplify conditions.
2064
59f96879
RH
20652002-03-27 Richard Henderson <rth@redhat.com>
2066
2067 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
2068 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
2069 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
2070
f3f1190d
DS
20712002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
2072
2073 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
2074 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
2075 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
2076 Remove unnecessary masks.
2077 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
2078 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
2079 -mwindows, -mdll switches and their negations.
2080
31c816cf
NB
20812002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
2082
2083 * gcc-common.c (lang_mark_false_label_stack): Remove.
2084 * ggc.h (lang_mark_false_label_stack): Similarly.
2085
7b2e1077 20862002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
2087
2088 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
2089
2090 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
2091 or __rtems_ is defined.
2092
1ef9531b
RH
20932002-03-26 Richard Henderson <rth@redhat.com>
2094
2095 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
2096 if a non-trivial load was emitted.
2097 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
2098 in high+extra+low case.
2099
300d4093
RH
21002002-03-26 Richard Henderson <rth@redhat.com>
2101
2102 * config.gcc (sparc*-solaris): Use float_format=sparc.
2103
b3689904
RH
21042002-03-26 Richard Henderson <rth@redhat.com>
2105
2106 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
2107 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
2108 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
2109 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
2110 (WINT_TYPE_SIZE): Fix at 32.
2111
1eefb6c1
RH
21122002-03-26 Richard Henderson <rth@redhat.com>
2113
2114 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
2115 until after eh landing pad generation.
2116 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
2117 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
2118
361ea006
RH
21192002-03-26 Richard Henderson <rth@redhat.com>
2120
2121 * expr.h (ADD_PARM_SIZE): One more convert for INC.
2122
1de38a88
PE
21232002-03-26 Phil Edwards <pme@gcc.gnu.org>
2124
2125 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
2126 and warning switches.
2127 (cc1_options): Likewise.
2128
d7e60e95 21292002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 2130
d7e60e95
HB
2131 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
2132 Restore more of the signal context. Set no_reg_stack_frame.
2133 * config/ia64/unwind-ia64.c (unw_state_record):
2134 Add no_reg_stack_frame, comments.
2135 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
2136 (uw_update_context): Adjust bsp when unwinding from leaf,
2137 but not signal frame.
2138
7032923b
DE
21392002-03-26 David Edelsohn <edelsohn@gnu.org>
2140
2141 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
2142
8be56275
BW
21432002-03-26 Bob Wilson <bob.wilson@acm.org>
2144
2145 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
2146
56fbb855
RE
21472002-03-26 Richard Earnshaw <rearnsha@arm.com>
2148
2149 PR target/5621
2150 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
2151 "Add a pool_range attribute", which was lost during the ARM/Thumb
2152 merge.
2153
3437320b
BW
21542002-03-26 Bob Wilson <bob.wilson@acm.org>
2155
2156 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
2157 a register into the MAC16 accumulator.
2158
173028e5
AC
21592002-03-26 Andrew Cagney <ac131313@redhat.com>
2160
2161 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
2162 (Warning Options): Document -Wswitch-enum.
2163 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
2164 -Wswitch.
2165 (warn_switch_enum): Define variables.
2166 * flags.h (warn_switch_enum): Declare variables.
2167 * stmt.c (expand_end_case_type): When warn_switch_enum /
2168 -Wswitch-enum, perform switch checks.
2169 Fix PR c/5044.
7b2e1077 2170
e14365a7
RE
21712002-03-26 Richard Earnshaw <rearnsha@arm.com>
2172
2173 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
2174 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
2175 (reload_muladdsi_compare0_scratch): Delete.
2176
46fc709d
LR
21772002-03-26 Loren J. Rittle <ljrittle@acm.org>
2178
2179 * doc/install.texi (*-*-freebsd*): Update.
2180
f36dea3c
RH
21812002-03-26 Richard Henderson <rth@redhat.com>
2182
8e5fe23f
RH
2183 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
2184 (SUB_PARM_SIZE): Cast DEC to ssizetype.
2185
2186 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
2187 types from the normal argument frame.
2188
f36dea3c
RH
2189 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
2190 variable sized objects by reference.
2191 (sparc_va_arg): Receive them by reference too.
2192
1447dc69
HP
21932002-03-26 Hartmut Penner <hpenner@de.ibm.com>
2194
2195 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 2196 code to not restoring global registers.
1447dc69 2197
4f0ade92
NB
21982002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
2199
2200 * Makefile.in (ggc-common.o): Update.
2201 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
2202 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
2203 * c-tree.h (c_mark_tree): New.
2204 * ggc-common.c: Include langhooks.h.
2205 (gcc_mark_trees): Use new langhook.
2206 * ggc-callbacks.c: Delete file.
2207 * ggc.h (lang_mark_tree): Remove.
2208 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
2209 (LANG_HOOKS_INITIALIZER): Update.
2210 * langhooks.h (struct lang_hooks): New hook.
2211objc:
2212 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
2213
caba570b
ZW
22142002-03-25 Zack Weinberg <zack@codesourcery.com>
2215
2216 * doc/cpp.texi: Exclude entire Top node from printed manual.
2217 Move option index after directive index. Insert page breaks
2218 before GFDL and concept index. Index environment variables
2219 with command line options.
2220 * doc/cppenv.texi: Use @vtable for environment variable list.
2221 Add paragraph explaining semantics of empty elements in path
2222 variables. Exclude a cross-reference to Fishkill from the
2223 manpage. Remove an unnecessary cross-reference of the entry
2224 right above the referer. Don't use @anchor in text that goes
2225 into manpage.
2226 * doc/cppopts.texi: Cross-reference the environment variables
2227 section, not the specific environment variable, for consistency.
2228
6b2e80b7
RH
22292002-03-25 Richard Henderson <rth@redhat.com>
2230
2231 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
2232 anywhere in the block. Don't refer to insns that have been
2233 removed from the chain. Iterate backward through the new insns.
2234 Don't refer to edges that have been removed.
2235
67e469d7
AM
22362002-03-26 Alan Modra <amodra@bigpond.net.au>
2237
2238 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
2239 test for overflow of constant.
2240
f2356393
RE
22412002-03-25 Richard Earnshaw <rearnsha@arm.com>
2242
2243 PR target/2623
2244 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
2245 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
2246 these patterns on arm_archv4.
2247
355426ab
DS
22482002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
2249
2250 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
2251 int".
2252
15e5ad76
ZW
22532002-03-25 Zack Weinberg <zack@codesourcery.com>
2254
2255 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
2256 float_handled, float_handler, float_signal, set_float_handler,
2257 and do_float_handler. Set handler for SIGFPE to crash_signal.
2258 * toplev.h: Don't prototype do_float_handler.
2259
2260 * c-lex.c: Fold parse_float into lex_number. Make warning
2261 about portability of hex float constants more informative, and
2262 don't issue it on top of a syntax error.
2263 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
2264 their callers.
2265 * real.h: Define REAL_VALUE_ABS here...
2266 * simplify-rtx.c: ... not here. Fold check_fold_consts,
2267 simplify_unary_real, simplify_binary_real, and
2268 simplify_binary_is2orm1 into their callers.
2269 * tree.c: Fold build_real_from_int_cst_1 into caller.
2270
2271 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
2272
2273 * tsystem.h: Include float.h here...
2274 * libgcc2.c: ... not here.
2275
56ae9405
NC
22762002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
2277
2278 Fixes for: PR bootstrap/3591, target/5676
2279 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
2280 defined. Do not disable exceptions or rtti.
2281 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
2282 mcore.h. Disable exceptions and rtti, since they are not
2283 supported by EPOC.
2284
c88770e9
NB
22852002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
2286
2287 * c-decl.c (maybe_build_cleanup): Remove.
2288 * expr.c (expand_expr): Use langhook.
2289 * langhooks-def.h (lhd_return_null_tree,
2290 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
2291 (LANGHOOKS_INITIALIZER): Update.
2292 * langhooks.c (lhd_return_null_tree): New.
2293 * langhooks.h (struct lang_hooks): New hook.
2294 * tree-inline.c (initialize_inlined_parameters): Use langhook.
2295 * tree.h (maybe_build_cleanup): Remove.
2296
2ed1f154
JJ
22972002-03-25 Jakub Jelinek <jakub@redhat.com>
2298
2299 * regrename.c (build_def_use): Move recog_memoized
2300 before extract_insn.
2301
6ddae612
JJ
23022002-03-25 Jakub Jelinek <jakub@redhat.com>
2303
2304 PR target/6043
2305 * expr.c (emit_group_store): Handle storing into CONCAT.
2306
ea475b23
JJ
23072002-03-25 Jakub Jelinek <jakub@redhat.com>
2308
2309 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
2310 corresponding MATCH_DUP.
2311
e7d482b9
RH
23122002-03-24 Richard Henderson <rth@redhat.com>
2313
cd39fc13
RH
2314 * unroll.c (unroll_loop): Zero label_map.
2315
e7d482b9
RH
2316 * gcse.c: Include except.h.
2317 * Makefile.in (gcse.o): Update.
2318
1bd6476f
RH
23192002-03-24 Richard Henderson <rth@redhat.com>
2320
2321 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
2322 Do resolve_unique_section before shared data clause.
2323
2e6c150a
RH
23242002-03-24 Richard Henderson <rth@redhat.com>
2325
2326 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
2327
b29afcf8
RH
23282002-03-24 Richard Henderson <rth@redhat.com>
2329
15e5ad76 2330 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
2331 generated in the middle of a block. Do global life update if
2332 zapped EH edges.
2333
05ed1296
RH
23342002-03-24 Richard Henderson <rth@redhat.com>
2335
2336 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
2337
3ddbb8a9
NB
23382002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
2339
2340 preprocessor/3951
15e5ad76 2341 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
2342 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
2343 (init_dependency_output): Don't make no_output decision here.
2344
740b77b6
AC
23452002-03-24 Andrew Cagney <ac131313@redhat.com>
2346
2347 * stmt.c (check_for_full_enumeration_handling): Remove tests of
2348 warn_switch. Update description.
2349 (expand_end_case_type): Call check_for_full_enumeration_handling
2350 when warn_switch.
2351
7590cfd0
SC
23522002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2353
2354 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
2355 (m68hc11_split_move): Call it to see if the source and destination
2356 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 2357 source an offsetable memory operand and generate an add.
7590cfd0 2358
2e3d3481
SC
23592002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2360
2361 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
2362 register for operand 2.
2363 ("*subsi3_zero_extendqi"): Likewise.
2364 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
2365 bits so that it is compatible with a pop.
2366 ("*andhi3_gen"): Likewise.
2367 ("xorhi3"): Likewise.
2368
2784528c
NB
23692002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
2370
2371 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
2372 -pedantic here...
2373 (cpp_post_options): ... not here.
2374
aaf93206
NB
23752002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
2376 Aldy Hernandez <aldyh@redhat.com>
2377
2378 Removal of separate preprocessor cpp0.
2379
2380 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
2381 cpp0, install-common): Update.
2382 * c-common.c (flag_preprocess_only): New.
2383 (c_common_init): Preprocess for -E.
2384 * c-common.h (flag_preprocess_only): New.
2385 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
2386 * c-objc-common.c (c_init_decl_processing): Exit quickly
2387 for NULL return from c_common_init.
2388 * cpplib.h (cpp_preprocess_file): New.
2389 * cppmain.c (main, general_init, pfile, progname): Remove.
2390 (do_preprocessing): Rename cpp_preprocess_file, don't call
2391 cpp_finish. Don't close stdout here.
2392 (setup_callbacks): Update prototype.
2393 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
2394 Update.
2395 * tradcpp.c (main): Ignore -quiet.
2396objc:
2397 * lang-specs.h (default_compilers): Preprocess with cc1obj.
2398
c6e6f5c1
RH
23992002-03-24 Richard Henderson <rth@redhat.com>
2400
2401 PR optimization/5742
2402 * machmode.def: Add inner mode field to complex modes.
2403 * config/mips/mips.c (mips_function_value): Always define. Add
2404 new argument to handle libcalls.
2405 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
2406 (FUNCTION_VALUE): Likewise.
2407 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
2408 * config/mips/mips-protos.h: Update.
2409
d88e57d1
RH
24102002-03-23 Richard Henderson <rth@redhat.com>
2411
2412 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
2413 * config/sparc/sparc-protos.h: Update.
2414 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
2415
6dfaf9ba
RH
24162002-03-23 Richard Henderson <rth@redhat.com>
2417
2418 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
2419 _start or _init begins the text segment.
2420
0c769cf8
DE
24212002-03-23 David Edelsohn <edelsohn@gnu.org>
2422
2423 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
2424 not HOST_WIDEST_INT.
2425 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
2426
64e92a26
RE
24272002-03-23 Richard Earnshaw <rearnsha@arm.com>
2428
2429 PR java/5489
2430 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
2431 operand argument to output_return_instruction.
15e5ad76 2432 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
2433 const_true_rtx then just return.
2434 (arm_print_operand, case 'D'): If the operand is const_true_rtx
2435 then abort.
2436
d6961341
AC
24372002-03-23 Andrew Cagney <ac131313@redhat.com>
2438
2439 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
2440 (Warning Options): Document -Wswitch-default.
2441 * toplev.c (W_options): Add -Wswitch-default. Update comment on
2442 -Wswitch.
2443 (warn_switch_default): Define variable.
2444 (warn_switch): Update comment.
2445 * flags.h (warn_switch_default): Declare variable.
2446 (warn_switch): Update comment.
2447 * stmt.c (expand_end_case): Check for and, when
2448 warn_switch_no_default, warn of a missing default case.
15e5ad76 2449
d4c5ac1f
AM
24502002-03-23 Alan Modra <amodra@bigpond.net.au>
2451
bbaa9790
AM
2452 * real.h (N): Special case 128 bit doubles.
2453
d4c5ac1f
AM
2454 * combine.c (simplify_comparison): When widening modes, ignore
2455 sign extension on CONST_INTs.
2456
84bf8c2c
BW
24572002-03-22 Bob Wilson <bob.wilson@acm.org>
2458
2459 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
2460 passed to adjust_address. Fix comment formatting.
2461
2462
b216cd4a
ZW
24632002-03-22 Zack Weinberg <zack@codesourcery.com>
2464
2465 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
2466 Always make REAL_VALUE_TYPE a struct containing an array of
2467 HOST_WIDE_INT, not a double. Tidy up the code deciding how
2468 big it is. Don't declare or use union real_extract.
2469
2470 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
2471 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
2472 (print_operand), config/arm/arm.c (output_move_double),
2473 config/arm/arm.md (consttable_4, consttable_8),
2474 config/romp/romp.c (output_fpops), config/s390/s390.h
2475 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
2476 (xtensa_output_literal): Don't use union real_extract.
2477
2478 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
2479 (sfmode_constant_to_ulong), config/ns32k/merlin.h
2480 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
2481 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
2482 (PRINT_OPERAND): Don't use local version of union
2483 real_extract.
2484
2485 * config/convex/convex.c (check_float_value), config/vax/vax.c
2486 (vax_float_literal), config/m88k/m88k.md (divdf3),
2487 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
2488 config/pdp11/pdp11.c (output_move_quad): Don't do host
2489 arithmetic on target floating point quantities.
2490
2491 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
2492 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
2493
2494 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
2495 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
2496
2497 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
2498 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
2499 INFINITY.
2500 * print-rtl.c (print_rtx): Disable code which needs
2501 floating-point emulator.
2502 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
2503 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
2504 depending on HOST_FLOAT_FORMAT to be defined properly.
2505
2506 * config/1750a/1750a.c (get_double, float_label): Delete.
2507 (print_operand): Delete huge commented-out chunk. Use
2508 REAL_VALUE_TO_DECIMAL.
2509 * config/1750a/1750a-protos.h: Delete prototypes of deleted
2510 functions.
2511 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
2512 IEEE_FLOAT_FORMAT.
2513 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
2514 Use REAL_VALUE_TO_DECIMAL as ELF version does.
2515 * config/m88k/m88k.c (real_power_of_2_operand,
2516 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
2517 real_extract out of the union; run the input through
2518 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
2519 from that into the union.
2520 * config/pdp11/pdp11.c (output_move_double): Rearrange
2521 parentheses to make automatic indenter happy.
2522
2523 * doc/tm.texi (Cross-compilation): Rename node to "Floating
2524 Point" and rewrite to describe current situation. Also adjust
2525 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
2526 match code.
2527 * doc/rtl.texi: Adjust cross reference.
2528
a8cacfd2
BW
25292002-03-22 Bob Wilson <bob.wilson@acm.org>
2530
2531 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
2532 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
2533 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
2534 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
2535 prevent use of sp as a reload register.
2536 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
2537 non_acc_reg_operand.
2538 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
2539 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
2540 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
2541 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
2542
d4e6133f
NB
25432002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
2544
b216cd4a
ZW
2545 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
2546 * cpplex.c (unterminated): Delete.
2547 (parse_string): No string literal may extend over multiple
2548 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
2549 * cppmain.c (scan_translation_unit): Strings are single-line.
2550
b216cd4a 2551 * doc/cpp.texi: Update to match.
d4e6133f 2552
65e6c005
JJ
25532002-03-22 Jakub Jelinek <jakub@redhat.com>
2554
2555 PR optimization/5854
2556 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
2557 Shut up warnings.
2558 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
2559 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
2560 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
2561 const0 if scratch register was not allocated.
2562 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
2563 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
2564 with GEN_INT (...).
2565 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
2566 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
2567 with GEN_INT (...) everywhere. Remove constraints in define_split
2568 patterns.
2569 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
2570 require scratch register for setting 0 into regs/non-pushable memory.
2571
7f48c9e1
AO
25722002-03-22 Alexandre Oliva <aoliva@redhat.com>
2573
2574 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
2575 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
2576
909de5da
PE
25772002-03-22 Phil Edwards <pme@gcc.gnu.org>
2578
2579 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
2580 * cppinit.c (cpp_create_reader): On by default.
2581 (cpp_handle_option): Handle -W[no-]endif-labels.
2582 (cpp_post_options): Also enable if -pedantic.
2583 * cpplib.c (do_else): Use it.
2584 (do_endif): Likewise.
2585 * doc/cppopts.texi: Document new option.
2586 * doc/invoke.texi: Document new option.
2587
d8bf17f9
LB
25882002-03-22 Lars Brinkhoff <lars@nocrew.org>
2589
2590 * config/i386/i386.c, config/i386/i386.md: Change all occurences
2591 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
2592
70e0ccd0
AO
25932002-03-22 Alexandre Oliva <aoliva@redhat.com>
2594
2595 * flow.c (calculate_global_regs_live): Clear aux fields of
2596 ENTRY and EXIT.
2597
68882f0f
JJ
25982002-03-22 Jakub Jelinek <jakub@redhat.com>
2599
2600 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
2601 REG or MEM subregs, pass rtx * instead of rtx to it.
2602 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
2603 rtx * instead of rtx to alter_subreg.
2604 * config/m32r/m32r.c (gen_split_move_double): Likewise.
2605 * config/pj/pj.c (pj_output_rval): Likewise.
2606
648fe28b
RH
26072002-03-22 Richard Henderson <rth@redhat.com>
2608
2609 PR target/3177
2610 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
2611 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
2612 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
2613 (ia64_expand_prologue): Look at int_regs, not words, for number
2614 of incomming int regs.
2615
e8dcd824
AM
26162002-03-22 Andrew MacLeod <amacleod@redhat.com>
2617
2618 * expr.c (expand_expr): A RESULT_DECL is part of a call.
2619
96327cdc
JH
2620Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
2621
2622 * toplev.c (flag_loop_optimize, flag_crossjumping):
2623 New static variables.
2624 (rest_of_compilation): Conditionalize crossjumping and
2625 loop optimizer.
2626 (parse_options_and_default_flags): Default loop_optimize and
2627 crossjumping.
2628 (lang_independent_options): Add -fcrossjumping and -floop-optimize
2629 * invoke.texi (crossjumping, loop-optimize): Document.
2630
bc185257
RS
26312002-03-22 Richard Sandiford <rsandifo@redhat.com>
2632
2633 * real.c (eiisneg): Move outside #ifdef NANS.
2634
0a2ed1f1
JH
2635Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
2636
2637 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
2638 frequencies match; avoid match on different loop depths.
2639 (try_crossjump_to_bb): Kill tests that no longer brings time
2640 savings.
2641 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
2642 updating code.
2643 (split_edge): Likewise.
2644
2645 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
2646 variable.
2647
2648 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
2649 * cfgrtl.c: Include insn-config.h
2650 (split_block) Dirtify block in presence of conditional execution
2651
4d72536e
RS
26522002-03-22 Richard Sandiford <rsandifo@redhat.com>
2653
2654 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
2655 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
2656 (function_arg): Constify CUMULATIVE_ARGS.
2657 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
2658 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
2659 (UNITS_PER_DOUBLE): New macro.
2660 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
2661 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
2662 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
2663 fp_regs and stack_words.
2664 (EABI_FLOAT_VARARGS_P): New macro.
2665 * config/mips/mips.c (struct mips_arg_info): New.
2666 (mips_arg_info): New function.
2667 (function_arg_advance): Use it. Add adjustment instructions here
2668 rather than in function_arg.
2669 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
2670 for VOIDmode at the beginning of the function.
2671 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
2672 (function_arg_pass_by_reference): Likewise.
2673 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
2674 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
2675 (mips_va_start): Likewise. Use the new stack_words field of
2676 CUMULATIVE_ARGS to set up overflow area. Reformat.
2677 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
2678 doubles and other types, aligning the overflow pointer for non-doubles
2679 too. Remove some code duplication. Replace hard-coded constants.
2680
e6f884cd
RS
26812002-03-22 Richard Sandiford <rsandifo@redhat.com>
2682
2683 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
2684 (CLASS_UNITS): Undefine.
2685 (CLASS_MAX_NREGS): Use FP_INC.
2686 * config/mips/mips.c (compute_frame_size): Likewise.
2687 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
2688
10cf9bde
NB
26892002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
2690
2691 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
2692 prototype, and handle lexing numbers and identifiers.
2693 (parse_identifier): Update to new form of parse_slow.
2694 (parse_number): Fast path only, use parse_slow otherwise.
2695 (_cpp_lex_direct): Update calls to parse_number.
2696
fbc2782e
DD
26972002-03-21 DJ Delorie <dj@redhat.com>
2698
2699 * bb-reorder.c (make_reorder_chain_1): Protect against
2700 when redundant edges are omitted.
2701 * predict.c (dump_prediction): Likewise.
2702
fba39eaf
RH
27032002-03-21 Richard Henderson <rth@redhat.com>
2704
2705 PR target/5996
2706 * fixinc/inclhack.def (solaris_stdio_tag): New.
2707 * fixinc/fixincl.x: Regenerate.
2708
eba80994
EB
27092002-03-21 Eric Botcazou <ebotcazou@multimania.com>
2710
2711 PR c/5597
2712 * c-typeck.c (process_init_element): Flag non-static
2713 initialization of a flexible array member as illegal.
2714
2a78758b
AM
27152002-03-22 Alan Modra <amodra@bigpond.net.au>
2716
2717 * config/rs6000/t-linux64: New.
2718 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
2719 t-ppccomm. Use t-rs6000 and t-linux64.
2720 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
2721 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
2722 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
2723 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 2724
2cb921f4
AH
27252002-03-21 Aldy Hernandez <aldyh@redhat.com>
2726
eba80994
EB
2727 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
2728 flag_really_no_inline instead of optimize == 0.
2cb921f4 2729
eba80994 2730 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 2731
eba80994 2732 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 2733
eba80994 2734 * flags.h (flag_really_no_inline): New.
2cb921f4 2735
659e5a7a 2736 * c-common.c (c_common_post_options): Initialize
eba80994 2737 flag_really_no_inline.
2cb921f4 2738
eba80994 2739 * toplev.c (flag_really_no_inline): New.
2cb921f4 2740
239b8b9d
JJ
27412002-03-21 Jakub Jelinek <jakub@redhat.com>
2742
2743 * config/avr/avr.md (length): Fix length computation for
2744 conditional branches.
2745
43577e6b
NB
27462002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
2747
2748 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
2749 sdbout.o, profile.o): Update.
2750 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
2751 langhook.
2752 * c-common.h (gettags): Move here from tree.h.
2753 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
2754 insert_block, getdecls, kept_level_p, global_bindings_p): New.
2755 * dbxout.c (dbxout_init): Use getdecls langhook.
2756 * expr.c (expand_expr): Use insert_block langhook.
2757 * fold-const.c: Include langhooks.h.
2758 (fold_range_test, fold_binary_op_with_conditional_arg,
2759 fold): Use global_bindings_p langhook.
2760 * integrate.c (expand_inline_function): Use insert_block langhook.
2761 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
2762 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
2763 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
2764 LANG_HOOKS_GETDECLS): New.
2765 (LANG_HOOKS_INITIALIZER): Update.
2766 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
2767 langhook.
2768 * langhooks.h (struct lang_hooks_for_decls): New.
2769 (struct lang_hooks): Update.
2770 * profile.c: Include langhooks.h.
2771 (output_func_start_profiler): Use new langhooks.
2772 * sdbout.c: Include langhooks.h.
2773 (sdbout_init, sdbout_finish): Use getdecls langhook.
2774 * stmt.c: Include langhooks.h.
2775 (expand_fixup, fixup_gotos): Use new langhooks.
2776 * stor-layout.c: Include langhooks.h.
2777 (variable_size): Use global_bindings_p langhook.
2778 * toplev.c (compile_file): Use getdecls langhook.
2779 * tree-inline.c (remap_block): Use insert_block langhook.
2780 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
2781 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
2782
5b19b10c
RH
27832002-03-21 Richard Henderson <rth@redhat.com>
2784
2785 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
2786 constants in .data when -fpic.
2787
e05af335
GP
27882002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2789
2790 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
2791 where appropriate.
2792
60ffc997
TT
27932002-03-21 Tom Tromey <tromey@redhat.com>
2794
2795 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
2796
75897075
RK
2797Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2798
a73afd69 2799 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 2800
75897075
RK
2801 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
2802
312687cf
EB
28032002-03-21 Eric Botcazou <ebotcazou@multimania.com>
2804 Richard Henderson <rth@redhat.com>
2805
2806 PR c/5354
2807 * c-common.c (c_expand_expr): Preserve result of a statement
2808 expression if needed.
2809
f0e1f482
JJ
28102002-03-21 Jakub Jelinek <jakub@redhat.com>
2811
2812 PR bootstrap/4195
2813 * genrecog.c (maybe_both_true_mode): Remove.
2814 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
2815 * machmode.def (Pmode): Likewise.
2816
c14b9960
JW
2817Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
2818
2819 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
2820 (nonlocal_mentioned_p_1): New function.
2821 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
2822 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
2823 (mark_constant_function): Recognize pure functions.
2824 * rtl.h (global_reg_mentioned_p): New prototype.
2825 * rtlanal.c (global_reg_mentioned_p,
2826 global_reg_mentioned_p_1): New function.
2827
aaa4d130
RO
28282002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2829
2830 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
2831 UNIX assert.h.
2832 * fixinc/fixincl.x: Regenerate.
2833
e5c4bd1b
JM
28342002-03-20 Jason Merrill <jason@redhat.com>
2835
2836 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
2837
852b81bb
MM
28382002-03-20 Michael Meissner <meissner@redhat.com>
2839
2840 * doc/invoke.texi (Optimize Options): Document that -O2 sets
2841 -fstrict-aliasing.
2842
86d8c251
BW
28432002-03-20 Bob Wilson <bob.wilson@acm.org>
2844
2845 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
2846 ".literal_position" directive before the constant pool.
2847
0a39c350
GP
28482002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2849
2850 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
2851 Add Craig Rodrigues.
2852 Add Brad Lucier to testers.
2853
71a83373
JJ
28542002-03-20 Jakub Jelinek <jakub@redhat.com>
2855
2856 PR target/4792
2857 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
2858 to if_then_else.
2859 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
2860 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
2861 instead of insn_extract.
2862
a29b099d
JJ
28632002-03-20 Jakub Jelinek <jakub@redhat.com>
2864
2865 PR bootstrap/4192
71a83373 2866 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
2867
2868 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
2869 stmt if some case has been output.
2870
048b1c95
JJ
28712002-03-20 Jakub Jelinek <jakub@redhat.com>
2872
2873 PR c/5972
2874 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
2875 movsfcc_1, movdfcc_1): Add %O2.
2876 * config/i386/i386.c (print_operand): Handle %ON.
2877 Print . before float condition codes in Sun as cmov syntax.
2878 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
2879 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
2880 no longer true.
2881
f4864588
PB
28822002-03-20 Philip Blundell <pb@nexus.co.uk>
2883
2884 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
2885 return instruction if PC was popped.
2886
3a307de4
BW
28872002-03-20 Bob Wilson <bob.wilson@acm.org>
2888
2889 * config/xtensa/xtensa.md: Remove unused type attributes.
2890 (adddi_carry, subddi_carry): Change type attribute to "multi".
2891
048b1c95 28922002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
2893
2894 PR optimization/5999, middle-end/5731
2895 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
2896 multiplications by reciprocals.
2897
7afff7cf
NB
28982002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
2899
2900 * Makefile.in: Update.
2901 * c-common.c: Include langhooks.h.
2902 (inline_forbidden_p): Use new hook.
2903 * diagnostic.c: Include langhooks.h.
2904 (format_with_decl, announce_function,
2905 default_print_error_function): Use new hook.
2906 * dwarf2out.c (dwarf2_name): Use new hook.
2907 * function.c: Include langhooks.h.
2908 (init_function_start): Use new hook.
2909 * langhooks-def.h (lhd_decl_printable_name): New.
2910 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
2911 (LANGHOOKS_INITIALIZER): Update.
2912 * langhooks.c (lhd_decl_printable_name): New.
2913 * langhooks.h (struct lang_hooks): New hook.
2914 * toplev.c (decl_name, decl_printable_name): Remove.
2915 (open_dump_file): Use new hook.
2916 (process_options): Remove old hook.
2917 * tree.h (decl_printable_name): Remove.
2918objc:
2919 * objc-act.c (objc_init): Remove old hook.
2920 (objc_printable_name): Export.
2921 * objc-act.h (objc_printable_name): New.
2922 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
2923
f78ce0b7
JB
29242002-03-19 Jim Blandy <jimb@redhat.com>
2925
2926 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
2927 the start_source_file debug hook, not the current line number.
2928
15b5aef3
RH
29292002-03-19 Richard Henderson <rth@redhat.com>
2930
2931 * flow.c (EH_USES): Provide default.
2932 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
2933 * doc/tm.texi (EH_USES): New.
2934
2935 * config/ia64/ia64.c (ia64_eh_uses): New.
2936 * config/ia64/ia64-protos.h: Update.
2937 * config/ia64/ia64.h (EH_USES): New.
2938
02a7a3fd
RH
29392002-03-19 Richard Henderson <rth@redhat.com>
2940
2941 * varasm.c (output_constant_def): Fix stupid typo.
2942
93f82d60
RH
29432002-03-19 Richard Henderson <rth@redhat.com>
2944
2842be05 2945 PR 5879
93f82d60
RH
2946 * except.c (current_function_has_exception_handlers): New.
2947 * except.h: Declare it.
2948 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
2949 Combine tests that disable all sibcalls for the function.
2950
ed4fbfa0
OH
29512002-03-19 Olivier Hainque <hainque@act-europe.fr>
2952
2953 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
2954 for INTEGER_CST.
2955
ebf0e888
RH
29562002-03-19 Richard Henderson <rth@redhat.com>
2957
1e82682b 2958 PR 5977, 5991
ebf0e888
RH
2959 * config/ia64/ia64.c: Revert 2002-03-01 patch.
2960 * config/ia64/ia64.h (INIT_EXPANDERS): New.
2961
e37b38d7
JB
29622002-03-19 Jim Blandy <jimb@redhat.com>
2963
2964 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
2965 name, even if the replacement list contains no tokens, as required
2966 by Dwarf.
2967
2a4ea326
JM
29682002-03-19 Jason Merrill <jason@redhat.com>
2969
f9d09ae5
JM
2970 * varasm.c (globalize_decl): Get the name from the RTL, not
2971 DECL_ASSEMBLER_NAME.
2972
2a4ea326
JM
2973 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
2974
99b96edb
BW
29752002-03-19 Bob Wilson <bob.wilson@acm.org>
2976
2977 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
2978 subdi_carry): Define.
2979
3774b567
DE
29802002-03-19 David Edelsohn <edelsohn@gnu.org>
2981
2982 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
2983 about -fpic/-fPIC if extra_warnings set.
2984
21ef78aa
DE
29852002-03-19 David Edelsohn <edelsohn@gnu.org>
2986
2987 * expr.c (expand_expr): Sign-extend CONST_INT generated from
2988 TREE_STRING_POINTER.
0c2fdcdf 2989 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 2990
91d4b3fd
RK
2991Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2992
2993 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
2994 in favor of SP if FRAME_POINTER_REQUIRED is false.
2995
2496c7bd
LB
29962002-03-19 Lars Brinkhoff <lars@nocrew.org>
2997
2998 * emit-rtl.c (gen_int_mode): New function.
2999 * rtl.h: Prototype for it.
3000 * combine.c (make_extraction, simplify_comparison), expmed.c
3001 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
3002 (convert_modes, store_field), optabs.c (expand_fix),
3003 simplify-rtx.c (neg_const_int, simplify_unary_real),
3004
3005 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
3006 Use it instead of GEN_INT (trunc_int_for_mode (...)).
3007
f735a153
JJ
30082002-03-19 Jakub Jelinek <jakub@redhat.com>
3009
3010 PR c/5656
3011 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
3012 convert_parm_for_inlining.
3013 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
3014 Define.
3015 * langhooks-def.h: Likewise.
3016 * objc/objc-lang.c: Likewise.
3017 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
3018 function.
3019 * tree-inline.c (initialize_inlined_parameters):
3020 Call convert_parm_for_inlining lang hook if needed.
3021 * c-typeck.c (c_convert_parm_for_inlining): New function.
3022 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
3023
1929c971
MM
30242002-03-18 Mark Mitchell <mark@codesourcery.com>
3025
b216cd4a 3026 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
3027 can be destroyed after expanding the argument.
3028 (expand_call): Likewise.
3029
c79ca0ac
EC
30302002-03-15 Eric Christopher <echristo@redhat.com>
3031
3032 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
3033 Fix register preference on last change.
3034 * config/mips/mips.c (mips_return_in_memory): New function.
3035 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
3036 * config/mips/mips-protos.h: Declare.
3037 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
3038 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
3039
07e2e444
AO
30402002-03-18 Alexandre Oliva <aoliva@redhat.com>
3041
1bfbbbcf
AO
3042 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
3043 a register too.
3044 (anddi3, iorsi3): Likewise.
3045
c066429e
AO
3046 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
3047 use %gprel for symbols that are going to be placed in linkonce
3048 sections.
3049
07e2e444
AO
3050 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
3051 RETURN_ADDRESS_POINTER_REGNUM to $ra.
3052 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
3053 not needed. Disregard leaf_function_p().
3054 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
3055 mips16 frame pointer.
3056 * config/mips/mips.md (store ra): Only to small SP offsets.
3057 2001-08-22 Graham Stott <grahams@redhat.com>
3058 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
3059 return a REG rtx for the return address register.
3060
eb8e00ea
BW
30612002-03-18 Bob Wilson <bob.wilson@acm.org>
3062
3063 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
3064 constant-pool addresses as "mode-dependent".
3065 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
3066
cbb92744
JJ
30672002-03-18 Jakub Jelinek <jakub@redhat.com>
3068
3069 PR target/5740
3070 * expr.c (emit_group_load): Use extract_bit_field if
3071 needed for CONCAT arguments.
3072
657d9449
RE
30732002-03-18 Richard Earnshaw <rearnsha@arm.com>
3074
91f3a802 3075 PR target/4863
657d9449
RE
3076 * arm.md (tablejump): Make this a define_expand. For PIC add the
3077 offset to the base of the table.
3078 (thumb_tablejump): Matcher for Thumb tablejump insn.
3079 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
3080 as the difference of two labels.
3081 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
3082 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
3083 tables in the code.
3084 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
3085 * arm.c (get_jump_table_size): If the table is not in the text
3086 section, return zero.
c79ca0ac 3087
5d5603e2
BS
30882002-03-18 Bernd Schmidt <bernds@redhat.com>
3089
3090 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
3091 of gen_rtx_SUBREG.
3092 (arm_reload_out_hi): Use gen_lowpart instead of
3093 gen_rtx_SUBREG to access QImode components.
3094 * config/arm/arm.md: Disable zero_extend split for QImode
3095 subregs in BIG_ENDIAN mode.
3096 (storehi_bigend): Match use of least significant byte.
3097 (storeinthi): Remove extraneous SUBREG.
66c17b64 3098 Add missing construction of operands[2].
5d5603e2
BS
3099 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
3100 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
3101 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
3102
df15fbc7
AH
31032002-03-18 Aldy Hernandez <aldyh@redhat.com>
3104
2496c7bd
LB
3105 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
3106 any_operand.
df15fbc7 3107
b83b7fa3
RH
31082002-03-17 Richard Henderson <rth@redhat.com>
3109
3110 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
3111 explicitly.
3112
6f7c00fe
HPN
31132002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
3114
3115 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
3116 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
3117
155038f2
KG
31182002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3119
720d42fa
KG
3120 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
3121
155038f2
KG
3122 * predict.c (estimate_bb_frequencies): Delete unused variables.
3123
e6542f4e
RH
31242002-03-17 Richard Henderson <rth@redhat.com>
3125
3126 * config/ia64/ia64.c (ia64_attribute_table): Move before
3127 targetm definition. Make static.
3128
52dabb6c
NB
31292002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
3130
3131 * c-common.h (yyparse, c_common_parse_file): New.
3132 * c-lang.c: Include c-common.h.
3133 (LANG_HOOKS_PARSE_FILE): Redefine.
3134 * c-lex.c: Include c-common.h.
3135 (yyparse): Rename c_common_parse_file. Call yyparse.
3136 * c-parse.in (yyparse): Remove macro.
3137 * c-tree.h (yyparse_1): Remove.
3138 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
3139 (LANG_HOOKS_INITIALIZER): Update.
3140 * langhooks.h (struct lang_hoooks): New hook parse_file.
3141 * toplev.c (compile_file): Use parse_file hook.
3142 * tree.h (yyparse): Remove.
e6542f4e 3143 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 3144
b5ffe606
HPN
31452002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
3146
ba82f58b
HPN
3147 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
3148 float_truncate, not fix.
3149 ("*truncdfsf2_real"): Ditto.
3150 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
3151
b5ffe606
HPN
3152 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
3153
c8d1b2b7
AO
31542002-03-16 Alexandre Oliva <aoliva@redhat.com>
3155
cfb773f9
AO
3156 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
3157 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
3158 where appropriate. Make the second reference to
3159 leaf_function_p a function call, as intended. Reindented.
3160
4dffef52
AO
3161 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
3162 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
3163
4f5bd6d7
AO
3164 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
3165 add register to non-constant into sp.
3166
c8d1b2b7
AO
3167 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
3168 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
3169 (mips16_gp_pseudo_rtx): Lose.
3170 (INIT_EXPANDERS): Deleted.
3171 * config/mips/mips.c (mips_init_machine_status): New.
3172 (mips_free_machine_status): New.
3173 (mips_mark_machine_status): New.
3174 (override_options): Set them.
3175 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
3176 (struct machine_function): ... new. Replaced all references.
3177 (mips_add_gc_roots): Don't mark them.
3178 (embedded_pic_fnaddr_reg): New, extracted from...
3179 (embedded_pic_offset): ... here.
3180 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
3181 (movsi): Likewise.
3182
b3124fac
NB
31832002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
3184
3185 * cppinit.c: Revert -MD removal.
3186
121449b6
SC
31872002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3188
3189 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
3190 soft registers by default for 68HC12.
3191 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
3192 when compiling with -fomit-frame-pointer.
3193 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
3194 (expand_epilogue): Likewise.
3195 (m68hc11_gen_rotate): Use exg when rotating by 8.
3196
840e2ff1
SC
31972002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3198
3199 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
3200 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
3201 (splits): Remove unused add splits.
3202 ("*addhi3_68hc12"): Tune constraints.
3203 ("addhi_sp"): Try to use X instead of Y in all cases and if the
3204 constant fits in 8-bits and D is dead use abx/aby instructions.
3205 ("*addhi3"): Remove extern declaration of ix_reg.
3206 ("*subsi3"): Optimize and provide new split.
3207 ("subhi3"): Cleanup.
3208 ("*subhi3_sp"): Avoid saving X if we know it is dead.
3209 (arith splits): For 68hc12 save the address register on the stack
3210 and do the arithmetic operation with a pop.
3211
3c9a5efe
SC
32122002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3213
3214 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
3215 allocating QImode in address registers.
3216 ("*movqi_m68hc11"): Likewise.
3217
e41f3392
JH
3218Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
3219
3220 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
3221
576786b0
NB
32222002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
3223
3224 * cppinit.c (print_help): Display -MD and -MMD.
3225 Don't display usage string. Update assertion syntax and
3226 typo.
3227 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
3228 (cpp_handle_option): Update.
3229
1ac458d4
CD
32302002-03-15 Chris Demetriou <cgd@broadcom.com>
3231
3232 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
3233 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
3234 and define it so that regardless of target CPU size,
3235 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
3236 of "int" rather than "long."
3237
1fcd592b
RH
32382002-03-15 Richard Henderson <rth@redhat.com>
3239
3240 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
3241 size as a tree.
3242
a0df6910
SC
32432002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3244
3245 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
3246 ("tstqi" split): Avoid using memory for tstqi on address register.
3247 (splits): Remove constraints.
3248 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
3249 ("cmpdf", "cmpsf"): Remove since not used.
3250 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
3251 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
3252
015a2e59
SC
32532002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3254
3255 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
3256 ("neghi2"): Tighten constraints.
3257 ("one_cmplsi2"): Optimize and simplify split.
3258 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
3259
cd28557c
SC
32602002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3261
3262 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
3263 and split of AND operation to clear the upper bits.
3264 ("*logicalsi3_zextqi"): Likewise.
3265 ("*logicallhi3_zexthi_ashift8"): Likewise.
3266 ("*logicalsi3_silshr16"): Likewise.
3267 ("logicalsi3_silshl16"): Likewise.
3268 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
3269
932657df
SC
32702002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3271
3272 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
3273 (m68hc11_indirect_p): New function.
3274 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
3275 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
3276 TARGET_M6812.
3277 (asm_print_register): Likewise.
3278 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
3279 (m68hc11_indirect_p): Declare.
3280 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
3281 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
3282 (TARGET_SWITCHES): New option -mrelax.
3283 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
3284 destination.
3285 ("iorsi3", "xorsi3"): Likewise.
3286 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
3287 ("*andhi3_mem"): New to handle destination in memory with bclr
3288 and a scratch register.
3289 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
3290 ("*andhi3_const"): New when operand2 is constant.
3291 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
3292 ("*andhi3_gen"): Cleanup of the old "andhi3".
3293 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
3294 ("xorqi3"): Update constraints.
3295
fdffea1a
SC
32962002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3297
3298 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
3299 for reg_equiv_memory_loc when the operand is a register that does
3300 not get a hard register (stack location).
3301 (tst_operand): After reload, accept all memory operand.
3302 (symbolic_memory_operand): Fix detection of symbolic references.
3303 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
3304 accept symbols and any constant.
3305
6272bc68
SC
33062002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3307
3308 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
3309 note on the insn that sets the soft frame register.
3310 (must_parenthesize): ix and iy are also reserved names.
3311 (print_operand_address): One more place where parenthesis are required
3312 to avoid confusion with register names.
3313 (m68hc11_gen_movhi): Allow push of stack pointer.
3314 (m68hc11_check_z_replacement): Fix handling of parallel with a
3315 clobber.
3316 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
3317 the replacement register is.
3318 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
3319 and D8_REGS classes.
3320 (MODES_TIEABLE_P): All modes are tieable except QImode.
3321
1d2d9def
SC
33222002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3323
3324 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
3325 (___subdi3): Likewise.
3326 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
3327 (__map_data_section): Optimize 68hc11 case.
3328
a0ccf503
SC
33292002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3330
3331 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
3332 than a shift to avoid adding a register with itself.
3333 (m68hc11_memory_move_cost): Take into account NO_REGS.
3334 (m68hc11_register_move_cost): Update and use memory move cost
3335 for soft registers.
3336 (m68hc11_address_cost): Make cost of valid offset not 0 so that
3337 it gives more opportunities to cse to optimize.
3338 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
3339 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
3340
6e4ae815
MM
33412002-03-15 Mark Mitchell <mark@codesourcery.com>
3342
3343 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
3344 * c-common.def (CLEANUP_STMT): New tree node.
3345 * c-common.h (CLEANUP_DECL): New macro.
3346 (CLEANUP_EXPR): Likewise.
3347 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
3348 * expr.c (expand_expr): Tidy.
3349 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
3350 * tree-inline.c (initialize_inlined_parameters): Clean up
3351 new local variables.
3352
a42519be
JJ
33532002-03-15 Jakub Jelinek <jakub@redhat.com>
3354
3355 PR bootstrap/4128
3356 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
3357 before movrXX only, use reg_overlap_mentioned_p.
3358 Only special case NE if just one insn can be generated.
3359
15409448
JM
33602002-03-15 Jason Merrill <jason@redhat.com>
3361
3362 * varasm.c (assemble_variable): Call resolve_unique_section before
3363 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
3364 of error_mark_node.
3365
3a4edb44
RE
33662002-03-15 Richard Earnshaw <rearnsha@arm.com>
3367
3368 PR target/5170
3369 * arm.md (split pattern for thumb shiftable immediates): Add comment
3370 explaining non-obvious test.
3371
32defa36
RE
33722002-03-15 Richard Earnshaw <rearnsha@arm.com>
3373
3374 PR target/5712
3375 * arm.md (movaddr, movaddr_insn): Delete.
3376
5cc90635
JM
33772002-03-15 Jason Merrill <jason@redhat.com>
3378
3379 * toplev.c (wrapup_global_declarations): Clarify variable handling.
3380 -fkeep-static-consts doesn't apply to comdats.
3381
ecb0eece
RH
33822002-03-14 Richard Henderson <rth@redhat.com>
3383
3384 * c-decl.c: Include c-pragma.h.
3385 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
3386 (finish_function): Tidy.
3387 * c-pragma.c: Include c-common.h.
3388 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
3389 (handle_pragma_weak): Use them.
3390 (init_pragma): Register pending_weaks.
3391 * c-pragma.h (maybe_apply_pragma_weak): Declare.
3392 * print-tree.c (print_node): Print DECL_WEAK.
3393 * varasm.c (mark_weak_decls): Remove.
3394 (remove_from_pending_weak_list): Remove.
3395 (add_weak): Remove.
3396 (asm_emit_uninitialised): Call globalize_decl for weak commons.
3397 (weak_decls): Make a tree_list.
3398 (declare_weak): Cons weak_decls directly.
3399 (globalize_decl): Remove weak_decls elements directly.
3400 (weak_finish): Simplify weak_decls walk. Don't weaken unused
3401 symbols. Don't pretend to handle aliases.
3402 (init_varasm_once): Update weak_decls registry.
3403 * Makefile.in: Update dependencies.
3404
98d2b17e
RH
34052002-03-14 Richard Henderson <rth@redhat.com>
3406
3407 PR target/5312
3408 * config/ia64/ia64.c: Include tm_p.h last.
3409 (gen_nop_type): Remove duplicate definition.
3410 (cycle_end_fill_slots): Set sched_data for second L slot.
3411 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
3412 (nop_cycles_until): Fix typos.
3413
f2f4927e
JJ
34142002-03-15 Jakub Jelinek <jakub@redhat.com>
3415
3416 PR optimization/5891
3417 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
3418
5025a549
DM
34192002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
3420
3421 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
3422 descriptors correctly.
3423
03e9dbc9
MM
34242002-03-14 Michael Meissner <meissner@redhat.com>
3425
3426 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
3427 100, allowing MAX_UNROLLED_INSNS to be overridden.
3428
3429 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
3430 --param.
3431
3432 * unroll.c (params.h): Include.
3433 (MAX_UNROLLED_INSNS): Delete, now in params.h.
3434
3435 * doc/invoke.texi (--param max-unroll-insns): Document.
3436
3437 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
3438
12249385
RE
34392002-03-14 Richard Earnshaw <rearnsha@arm.com>
3440
3441 * arm.md: Fix warnings about constraints in peepholes and splits.
3442
f0cce04a
ZW
34432002-03-14 Zack Weinberg <zack@codesourcery.com>
3444
3445 * cpphash.h (struct lexer_state): Remove line_extension member.
3446 * cpplib.c (dequote_string, do_linemarker): New functions.
3447 (linemarker_dir): New data object.
3448 (DIRECTIVE_TABLE): No longer need to interpret #line in
3449 preprocessed source. Delete obsolete comment about return
3450 values of handlers.
3451 (end_directive, directive_diagnostics, _cpp_handle_directive):
3452 Don't muck with line_extension.
3453 (directive_diagnostics): No need to issue warnings for
3454 linemarkers here.
3455 (_cpp_handle_directive): Issue warnings for linemarkers here,
3456 when appropriate. Dispatch linemarkers to do_linemarker, not
3457 do_line.
3458 (do_line): Code to handle linemarkers split out to do_linemarker.
3459 Convert escape sequences in filename argument, both places.
3460
3461 * cppmacro.c (quote_string): Rename cpp_quote_string and
3462 export. All callers changed.
3463 * cpplib.h (cpp_quote_string): Prototype.
3464 * cppmain.c (print_line): Call cpp_quote_string on to_file
3465 before printing it.
3466
3467 * doc/cpp.texi: Document that escapes are now interpreted in
3468 #line and in linemarkers, and that non-printing characters are
3469 converted to octal escapes when linemarkers are generated.
3470
3471Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
3472
3473 * emit-rtl.c (try_split): Use delete_insns.
3474 * recog.c (split_all_insns): Fix terminating condition.
3475
c882c7ac
RE
34762002-03-14 Richard Earnshaw <rearnsha@arm.com>
3477 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
3478
3479 PR target/5828
3480 * arm.c (arm_output_epilogue): Fix floating-point register save
3481 adjustment when using a frame pointer.
3482
3f26edaa
RS
34832002-03-14 Richard Sandiford <rsandifo@redhat.com>
3484
3485 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
3486 * config/mips/mips.c (compute_frame_size): Retrofit them here.
3487 (save_restore_insns, mips_expand_epilogue): And here.
3488 (build_mips16_call_stub): And here.
3489 (mips_function_value): Use the new macros to decide whether a single
3490 or complex float can be returned in floating-point registers. Return
3491 a parallel rtx in the complex case.
3492
1e3881c2
JH
3493Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
3494
3495 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
3496 call after liveness analysis.
3497
3498 * recog.c (split_insn): Use delete_insn_and_edges.
3499
3500 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
3501 instructions to have branch prediction notes.
3502 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
3503
200ef634
GK
35042002-03-14 Geoffrey Keating <geoffk@redhat.com>
3505
3506 * configure.in: Don't pass -Wno-long-long to a ADA compiler
3507 that doesn't support it.
3508 * configure: Regenerate.
3509
0b82d204
JJ
35102002-03-13 Jakub Jelinek <jakub@redhat.com>
3511
3512 PR target/5626
3513 * config/sparc/sparc.md (normal_branch, inverted_branch,
3514 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
3515 inverted_fp_branch): Adjust calls to output_cbranch.
3516 Set length attribute.
3517 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
3518 output_v9branch. Set length attribute.
3519 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
3520 predicates.
3521 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
3522 (output_cbranch): Likewise. Handle far branches.
3523 (output_v9branch): Handle far branches.
3524 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
3525 Adjust prototypes.
3526 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
3527 noov_compare64_op predicates.
3528
7a8de19b
JM
35292002-03-13 Jason Merrill <jason@redhat.com>
3530
3531 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
3532 into the function and constify it.
3533 * gthr-dce.h, gthr-solaris.h: Likewise.
3534
2a55fd42
DE
35352002-03-13 David Edelsohn <edelsohn@gnu.org>
3536
3537 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
3538 * config/rs6000/rs6000.c (rs6000_va_arg): Use
3539 std_expand_builtin_va_arg if not ABI_V4.
3540
19c5b1cf
JM
35412002-03-13 Jason Merrill <jason@redhat.com>
3542
3543 * varasm.c (globalize_decl): New fn.
3544 (assemble_start_function): Use it.
3545 (asm_emit_uninitialized): Use it.
3546 (assemble_alias): Use it.
3547 (assemble_variable): Use it.
3548
2a15f5e1
HPN
35492002-03-13 Hans-Peter Nilsson <hp@axis.com>
3550
3551 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 3552 2002-03-12 internal visibility change.
2a15f5e1
HPN
3553 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
3554 visibility into SYMBOL_REF_FLAG.
3555
c0a3eeac
UW
35562002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
3557
3558 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
3559 VOIDmode operand. Add compile-time optimization for constant results.
3560
a1652cee
JM
35612002-03-12 Jason Merrill <jason@redhat.com>
3562
3563 * c-typeck.c (convert_for_assignment): Don't allow conversions
3564 between pointers and references. Only allow lvalues to convert to
3565 reference.
3566
c52a375d
HP
35672002-03-13 Hartmut Penner <hpenner@de.ibm.com>
3568
f0cce04a
ZW
3569 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
3570 before prologue, to avoid scheduling problems.
c52a375d 3571
e387e99b
JJ
35722002-03-13 Jakub Jelinek <jakub@redhat.com>
3573
3574 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
3575 (ELIMINABLE_REGS): Add sfp->sp.
3576 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
3577
35782002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
3579
3580 PR optimization/5892
3581 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
3582
4061c1a3
JJ
35832002-03-13 Jakub Jelinek <jakub@redhat.com>
3584
3585 * loop.c (basic_induction_var): Don't call convert_modes if mode
3586 classes are different.
3587
5b43fed1
RH
35882002-03-12 Richard Henderson <rth@redhat.com>
3589
9f53e965
RH
3590 PR optimization/5901
3591 * function.c (reposition_prologue_and_epilogue_notes): Position
3592 the markers after/before the last/first insn not deleted.
3593
35942002-03-12 Richard Henderson <rth@redhat.com>
3595
3596 PR optimization/5878
5b43fed1
RH
3597 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
3598 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
3599 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
3600
3601 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
3602 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
3603 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
3604
3605 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
3606 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
3607 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
3608 also. Don't set it if not flag_pic.
3609 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
3610 to be INVALID_REGNUM when not used.
3611
4e9bb42b
AH
36122002-03-13 Aldy Hernandez <aldyh@redhat.com>
3613
5b43fed1
RH
3614 * expmed.c (store_bit_field): Reset alias set for memory.
3615 (extract_bit_field): Same.
4e9bb42b 3616
2f9834e8
KG
36172002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3618
3619 * c-common.c (c_tree_code_type, c_tree_code_length,
3620 c_tree_code_name, add_c_tree_codes): Delete.
3621 * c-common.h (add_c_tree_codes): Delete.
3622 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
3623 Define.
3624 * c-objc-common.c (c_objc_common_init): Don't call
3625 add_c_tree_codes, instead set lang_unsafe_for_reeval.
3626 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
3627 objc_tree_code_name, add_objc_tree_codes): Delete.
3628 (objc_init): Don't call add_objc_tree_codes.
3629 * objc/objc-lang.c (tree_code_type, tree_code_length,
3630 tree_code_name): Define.
3631 * toplev.c (lang_independent_init): Don't set
3632 tree_code_length[IDENTIFIER_NODE].
3633 * tree.c (tree_code_type, tree_code_length, tree_code_name):
3634 Delete definitions, moved to language front-ends.
3635 * tree.def (IDENTIFIER_NODE): Hardwire the length.
3636 * tree.h (tree_code_type, tree_code_length, tree_code_name):
3637 Const-ify.
3638 (tree_code_length): Change type to unsigned char.
3639
36ad2436
RH
36402002-03-12 Richard Henderson <rth@redhat.com>
3641
3642 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
3643 internal visibility change.
3644
0ae02efa
BW
36452002-03-12 Bob Wilson <bob.wilson@acm.org>
3646
3647 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
3648 validize_mem() instead of change_address to avoid clobbering
3649 memory attributes.
3650
35bb2bee
NB
36512002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
3652
3653 * c-lex.h (position_after_whitespace): Remove.
3654
62ae2529
JJ
36552002-03-12 Jakub Jelinek <jakub@redhat.com>
3656
3657 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
3658 (lex_string): Use unsigned char pointers.
3659
6a45951f
UW
36602002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
3661
3662 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
3663 is not a valid memory_operand.
3664
e2fb85da
BW
36652002-03-12 Bob Wilson <bob.wilson@acm.org>
3666
3667 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
3668 * config/xtensa/lib1funcs.asm: Fix copyright to include
3669 special case for libgcc files.
3670 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
3671 (__divsi3): Likewise.
3672 (__umodsi3): Likewise.
3673 (__modsi3): Likewise.
3674 * config/xtensa/lib2funcs.S: Fix copyright to include
3675 special case for libgcc files.
3676
5b8619f8
TR
36772002-03-12 Tom Rix <trix@redhat.com>
3678
3679 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 3680 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
3681 (ignore_library): Same.
3682
089c8f97
BW
36832002-03-12 Bob Wilson <bob.wilson@acm.org>
3684
3685 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
3686
958c70ff
BW
36872002-03-12 Bob Wilson <bob.wilson@acm.org>
3688
3689 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
3690 to function_section before writing out the constant pool.
3691
a65c591c
DE
36922002-03-12 David Edelsohn <edelsohn@gnu.org>
3693
3694 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
3695 zero_constant.
3696 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
3697
36982002-03-12 Alan Modra <amodra@bigpond.net.au>
3699
3700 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
3701 (adddi3): Likewise.
3702 (movdf): Likewise.
3703 (movdi): Likewise.
3704 (cmpsi splitter): Likewise.
3705 (modsi3): Fail if <= 0.
3706 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
3707 redundant test when HOST_BITS_PER_WIDE_INT != 32.
3708 (reg_or_sub_cint64_operand): Likewise.
3709 (num_insns_constant_wide): Optimize sign extension.
3710 (rs6000_legitimize_address): Likewise.
3711
17720332
AM
37122002-03-12 Andrew MacLeod <amacleod@redhat.com>
3713
3714 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
3715 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
3716
cd49f073
AM
37172002-03-12 Andrew MacLeod <amacleod@redhat.com>
3718
3719 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
3720 address calculation.
3721
6a4e49c1
UW
37222002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
3723
3724 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
3725 scratch register to DImode / TImode.
3726 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
3727 register used does not overlap the target.
3728
54b6670a
KG
37292002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3730
3731 * Makefile.in (debug.o): Depend on debug.h.
3732 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
3733 * debug.c (do_nothing_debug_hooks): Likewise.
3734 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
3735 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
3736 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
3737 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
3738 * dwarfout.c (dwarf_debug_hooks): Likewise.
3739 * integrate.c (output_inline_function): Likewise.
3740 * objc/objc-act.c (synth_module_prologue): Likewise.
3741 * sdbout.c (sdb_debug_hooks): Likewise.
3742 * toplev.c (debug_hooks): Likewise.
3743 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
3744
2465bf76
KG
37452002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3746
3747 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
3748 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
3749 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
3750 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
3751 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
3752 * defaults.h (POINTER_SIZE): Define.
3753 * doc/tm.texi (POINTER_SIZE): Document default.
3754
53f3e9ca
KG
37552002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3756
3757 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
3758
44d3eb5b
RH
37592002-03-11 Richard Henderson <rth@redhat.com>
3760
3761 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
3762 if rebuild_label_notes_after_reload.
3763
4a085d2e
HPN
37642002-03-12 Hans-Peter Nilsson <hp@axis.com>
3765
3766 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
3767 emit pic register load if "internal" visibility.
3768 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
3769 (cris_expand_builtin_va_arg): Do all computations on trees.
3770
bc204393
RH
37712002-03-11 Richard Henderson <rth@redhat.com>
3772
3773 * rtlanal.c: Include recog.h.
3774 (keep_with_call_p): Fix thinko.
3775 * Makefile.in (rtlanal.o): Update dependencies.
3776
6b8b9d7b
CM
37772002-03-11 Chris Meyer <cmeyer@gatan.com>
3778
3779 * genflags.c (gen_insn): Use IS_VSPACE.
3780 * genoutput.c (output_insn_data): Likewise.
3781 (process_template): Likewise.
3782
6c40858f
RH
37832002-03-11 Richard Henderson <rth@redhat.com>
3784
3785 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
3786
40adaa27
NB
37872002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
3788
3789 * Makefile.in: Update.
6c40858f 3790 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 3791 Update documentation.
6c40858f
RH
3792 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
3793 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 3794
049b03f4
ZW
37952002-03-11 Zack Weinberg <zack@codesourcery.com>
3796
3797 * Makefile.in: Give texi2pod its input file as a command line
3798 argument, not on stdin.
3799
61eece67
DN
38002002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
3801 Daniel Berlin <dan@dberlin.org>
3802
3803 C++ alias analysis improvement.
f0cce04a 3804 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
3805 classes too.
3806
a65c591c
DE
38072002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
3808
ff080aba
UW
3809 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
3810
1682dbb1
DR
38112002-03-11 Douglas B Rupp <rupp@gnat.com>
3812
fa2d765a
DR
3813 * toplev.c (vms_fopen): Remove, not needed.
3814
6f1fd286
DR
3815 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
3816
b230e057
DR
3817 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
3818
cb9a8e97
DR
3819 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
3820 for FP, already done later.
3821
1682dbb1
DR
3822 * toplev.c (debug_args): Add entry for VMS_DEBUG.
3823 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
3824
3fcaac1d
RS
38252002-03-11 Richard Sandiford <rsandifo@redhat.com>
3826
3827 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
3828 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
3829 LARGEST_EXPONENT_IS_NORMAL for the given mode.
3830 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
3831 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
3832 (ediv, emul, eldexp, esqrt): Likewise.
3833 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
3834 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
3835 (saturate): New function.
3836 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
3837 (make_nan): Use a saturation value instead of a NaN if
3838 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
3839 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
3840 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
3841 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
3842 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
3843 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
3844 !ROUND_TOWARDS_ZERO.
3845 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
3846 (ROUND_TOWARDS_ZERO): Document.
3847
d25558be
AJ
38482002-03-11 Andreas Jaeger <aj@suse.de>
3849
3850 * cfg.c (dump_flow_info): Remove unused variable.
3851
c71f9ae7
HPN
38522002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
3853
3854 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
3855 computations on trees.
3856
561c9153
RH
38572002-03-10 Richard Henderson <rth@redhat.com>
3858
932b4e3e 3859 PR 5693:
561c9153
RH
3860 * reload.c (copy_replacements_1): New.
3861 (copy_replacements): Use it to recurse through the rtx.
3862
26b738be
RH
38632002-03-10 Richard Henderson <rth@redhat.com>
3864
3865 * loop.c (strength_reduce): Compute number of iterations as
3866 unsigned HOST_WIDE_INT.
3867
8d8a083e
RH
38682002-03-10 Richard Henderson <rth@redhat.com>
3869
3870 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
3871 to move away from the end of the block.
3872
32810ba3
NB
38732002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
3874
3875 PR preprocessor/5899
3876 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 3877
2b03d201
KG
38782002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3879
f90c544c
KG
3880 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
3881
2b03d201
KG
3882 * attribs.c (decl_attributes): Fix signed/unsigned warning.
3883
3ec1b4cb
HPN
38842002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
3885
3886 * config/mmix/mmix.c: Improve comments.
3887 (mmix_target_asm_function_prologue): Drop variable
3888 empty_stack_frame. Don't allocate unused slot above fp.
3889 (mmix_target_asm_function_epilogue): Mirror prologue changes.
3890 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
3891 brace in first column.
3892 (enum reg_class): Ditto.
3893 (FIRST_PARM_OFFSET): Now 0.
3894 (USER_LABEL_PREFIX): Remove #if 0:d definition.
3895
27e486c5
KG
38962002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3897
3898 * combine.c (make_extraction): Fix error in last change.
3899
0139adca
KG
39002002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3901
3902 * c4x.c (c4x_fp_reglist): Const-ify.
3903 * cris.c (cris_print_operand): Likewise.
3904 * i386.c (ix86_va_arg): Likewise.
3905 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
3906 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
3907 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
3908 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
3909 * mcore.h (regno_reg_class): Likewise.
3910 * mips.c (gen_int_relational): Likewise.
3911 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
3912 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 3913 * pdp11.c (move_costs): Likewise.
0139adca
KG
3914 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
3915 * s390.c (s390_branch_condition_mnemonic, regclass_map):
3916 Likewise.
3917 * s390.h (regclass_map): Likewise.
3918 * sh.c (shift_amounts): Likewise.
a4334c36 3919 * sh.md (rotlsi3): Likewise.
0139adca 3920
889b90a1
GK
39212002-03-09 Geoffrey Keating <geoffk@redhat.com>
3922
3923 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
3924 (ne0+5): Use new clobber to generate proper shift pattern.
3925 Patch by Michael Matz <matz@kde.org>.
3926
2877e0ae
AS
39272002-03-09 Andreas Schwab <schwab@suse.de>
3928
3929 * gcc.c (validate_all_switches): Also handle `%W{...}'.
3930
79b51cd7
GK
39312002-03-09 Geoffrey Keating <geoffk@redhat.com>
3932
3933 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
3934
e0f1be5c
JJ
39352002-03-09 Jakub Jelinek <jakub@redhat.com>
3936
3937 PR middle-end/5877
3938 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
3939 even for non-representable constants.
3940
0a7ec763
RK
3941Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3942
93fe8e92
RK
3943 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
3944 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
3945 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
3946 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
3947 (pop_function_context): Compute MAY_SHARE parameter for
3948 fixup_var_refs.
3949 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
3950 (gen_mem_addressof): Call fixup_var_refs with new parm.
3951
0a7ec763
RK
3952 * combine.c (make_extraction): Don't make extension of CONST_INT.
3953
a85cd407
AO
39542002-03-09 Alexandre Oliva <aoliva@redhat.com>
3955
9445b814
AO
3956 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
3957 in o32 and o64 ABIs.
3958 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
3959 but getting fixed-size structs passed in registers regardless of
3960 padding in o32 and o64 ABIs.
3961
a85cd407
AO
3962 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
3963 offset before loading address of argument passed by transparent
3964 reference.
3965
c51fbe40
JDA
39662002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
3967
3968 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
3969
918e70dd
AO
39702002-03-09 Alexandre Oliva <aoliva@redhat.com>
3971
3972 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
3973 marker such that registers after it are saved.
3974
3070dd00
KG
39752002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3976
3977 * sparc.c (arith_4096_operand): Fix error in last change.
3978
e25d11b0
AO
39792002-03-08 Alexandre Oliva <aoliva@redhat.com>
3980
3981 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
3982 defaults for MEABI.
3983
41daaf0e
AH
39842002-03-08 Aldy Hernandez <aldyh@redhat.com>
3985
5b43fed1
RH
3986 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
3987 vectors.
41daaf0e 3988
fa139b00
AH
39892002-03-08 Aldy Hernandez <aldyh@redhat.com>
3990
5b43fed1 3991 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 3992
c51d95ec
JH
3993Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
3994
3995 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
3996 removed; fix return value.
3997 * combine.c (combine_instructions): Dirtify blocks where we failed to
3998 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
3999 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
4000
3b25fbfe
KG
40012002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4002
4003 * gcse.c (insert_insn_end_bb): Fix typo in last change.
4004
189ae0f4
JH
4005Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
4006
4007 * recog.c (peephole2_optimize): Re-distribute EH edges.
4008
24965e7a
NB
40092002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
4010
4011 * expr.c (expand_expr): Use unsave lang hook.
4012 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
4013 (LANG_HOOKS_INITIALIZER): Update.
4014 * langhooks.h (struct lang_hooks): New hook unsave.
4015 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
4016 (unsave_expr_1): Remove unused lang_unsave_expr_now.
4017 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
4018 (unsave_expr_now): Remove.
4019 * tree.h (unsave_expr_now, lang_unsave,
4020 lang_unsave_expr_now): Remove.
4021 (lhd_unsave): New.
4022
1e4e95d6
AJ
40232002-03-08 Andreas Jaeger <aj@suse.de>
4024
4025 * flow.c (propagate_block_delete_insn): Remove unused variable.
4026
054ef905
KH
40272002-03-08 Kazu Hirata <kazu@hxi.com>
4028
4029 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
4030 insn length for memory load/store.
4031
5304400d 40322002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 4033
5304400d
CR
4034 * doc/install.texi (--with-libiconv-prefix): Document.
4035
81034129
MB
40362002-03-08 Michael Y. Brukman <myb2@cornell.edu>
4037
4038 * doc/sourcebuild.texi: Fix typo.
4039
71db7d03
JJ
40402002-03-08 Jakub Jelinek <jakub@redhat.com>
4041
4042 PR c/3711
4043 * builtins.c (std_expand_builtin_va_arg): Do all computations on
4044 trees.
4045
127c1ba5
RK
4046Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4047
4048 * rtl.c (copy_most_rtx): Move from here ...
4049 * emit-rtl.c (copy_most_rtx): ... to here.
4050
8a13c092
AO
40512002-03-08 Alexandre Oliva <aoliva@redhat.com>
4052
5faae4f7
AO
4053 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
4054 SUBTARGET_CPP_SIZE_SPEC.
4055 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
4056
8a13c092
AO
4057 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
4058
4ec59de2
MH
40592002-03-07 Matt Hiller <hiller@redhat.com>
4060
4061 * gensupport.c (first_dir_md_include): Renamed from include;
4062 change all references.
4063 (last_dir_md_include): Renamed from last_include; change all
4064 references.
4065 (init_md_reader): Unconditionally initialize base_dir whether or
4066 not filename is a relative path.
4067
12f61e77
AO
40682002-03-07 Alexandre Oliva <aoliva@redhat.com>
4069
95356058
AO
4070 * config/fp-bit.c (_unord_f2): Compile it in even if
4071 US_SOFTWARE_GOFAST is enabled.
4072
12f61e77
AO
4073 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
4074 NULL_RTX. Set all HFmode operations as NULL_RTX.
4075 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
4076 NULL_RTX, try reversing the comparison and the operands.
4077
6d7a1c4c
UW
40782002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
4079
4080 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
4081 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
4082 and MATCH_OP_DUP.
4083
66d54344
JH
4084Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
4085
4086 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
4087
068473ec
JH
4088Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
4089
4090 * basic-block.h (fixup_abnormal_edges): Declare.
4091 * reload1.c (fixup_abnormal_edges): New function.
4092 * reg-stack.c (convert_regs): Use it.
4093
4094 * gcse.c (insert_insn_end_bb): Handle trapping insns.
4095
4096 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
4097
71925bc0
RS
40982002-03-07 Richard Sandiford <rsandifo@redhat.com>
4099
4100 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
4101 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
4102 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
4103 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
4104 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
4105 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
4106 unless x and y could be infinite.
4107 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
4108 Check that the common type of both arguments is a real, even for
4109 targets without unordered comparisons. Allow an integer argument
4110 to be compared against a real.
4111 (expand_tree_builtin): Use expand_unordered_cmp.
4112 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
4113 * cse.c (fold_rtx): Likewise. Fix indentation.
4114 * fold-const.c (fold_real_zero_addition_p): New.
4115 (fold): Use it, and the new HONOR_... macros.
4116 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
4117 * jump.c (reversed_comparison_code_parts): After searching for
4118 the true comparison mode, use HONOR_NANS to decide whether it
4119 can be safely reversed.
4120 (reverse_condition_maybe_unordered): Remove IEEE check.
4121 * simplify-rtx.c (simplify_binary_operation): Use the new macros
4122 to decide which simplifications are valid. Allow the following
4123 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
4124 and (a - -b) to (a + b).
4125 (simplify_relational_operation): Use HONOR_NANS.
4126 * doc/tm.texi: Document the MODE_HAS_... macros.
4127
145d3bf2
RE
41282002-03-07 Richard Earnshaw <rearnsha@arm.com>
4129
4130 * combine.c (simplify_comparison): If simplifying a logical shift
4131 right and compare with constant, force the comparison to unsigned.
4132
76a773f3
AH
41332002-03-07 Aldy Hernandez <aldyh@redhat.com>
4134
5b43fed1 4135 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 4136
5b43fed1
RH
4137 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
4138 -mabi=no-altivec
4139 (alt_reg_names): Remove % for vrsave.
76a773f3 4140
ab55f58c
RH
41412002-03-06 Richard Henderson <rth@redhat.com>
4142
5ddec02e 4143 PR optimization/5844
ab55f58c
RH
4144 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
4145 if used indicates we've already emitted one copy of an operand.
4146 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
4147 (gen_split): Supply a non-null used.
4148
e16e3291
UW
41492002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
4150
5b43fed1 4151 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 4152
1e4e95d6 4153 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
4154 but simply fail if the expression is too complex to simplify.
4155 (simplify_gen_binary): Handle simplify_plus_minus failures.
4156
2ca6672b
JH
4157Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
4158
4159 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
4160 consistently call delete_trivially_dead_insns after CSE and GCSE;
4161 fix DFI_life dumping; do jump threading after liveness; do crossjumping
4162 after liveness2; update comment in last crossjumping.
4163 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
4164
31d0dd4f
JL
4165Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
4166
d094b0b3
JL
4167 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
4168 after completing fast dead code elimination.
4169
31d0dd4f
JL
4170 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
4171 COMPARE operator.
1e4e95d6 4172
f2b958b1
PE
41732002-03-06 Phil Edwards <pme@gcc.gnu.org>
4174
4175 * version.c: Fix misplaced leading blanks on first line.
4176
a2877a09
JH
4177Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
4178
4179 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
4180
fe477d8b
JH
4181Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
4182
4183 * cfgcleanup.c (mentions_nonequal_regs): New function.
4184 (thread_jump): Use it.
4185 * toplev.c (rest_of_compilation): Run jump threading after
4186 liveness.
4187
2041cde4
JJ
41882002-03-06 Jakub Jelinek <jakub@redhat.com>
4189
4190 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
4191 patch.
4192
82d68d46
JH
4193Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
4194
4195 * predict.c (estimate_bb_frequencies): Do not reload the
4196 frequencies from notes.
4197
3dec4024
JH
4198Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
4199
4200 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
4201 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
4202
4203 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
4204 delete_noop_moves): Return indeger.
4205 * flow.c (ndead): New variable.
4206 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
4207 BB argument; update callers.
4208 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
4209 (life_analysis): Do not call purge_all_dead_edges.
4210 (update_life_info): Return number of deleted insns; print statistics.
4211 (update_life_info_in_dirty_blocks): likewise.
4212 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
4213 return number of insns deleted.
4214
4215 * cse.c: Include timevar.h
4216 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
4217 iterate until stabilizes; print statistics; return number of killed
4218 insns.
4219 * Makefile.in: (cse.o): Add timevar.h dependency
4220 * rtl.h (delete_trivially_dead_insns): New.
4221 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
4222 * toplev.c (rest_of_compilation): Update callers.
4223
4224 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
4225 (try_optimize_cfg): Do not update liveness.
4226 (cleanup-cfg): Loop until try_optimize_cfg and dead code
4227 removal stabilizes; use delete_trivially_dead_insns.
4228
4229 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
4230
c7544dd8
ZW
42312002-03-05 Zack Weinberg <zack@codesourcery.com>
4232
4233 * cppmain.c (setup_callbacks): Disable #pragma and #ident
4234 callbacks when processing assembly language.
4235
50b424a9
JDA
42362002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
4237
4238 * pa.h (ASM_FILE_END): Define.
4239 * som.h (ASM_FILE_END): Delete.
4240
4241 * pa.c (function_arg): Don't pass floats in general registers in
4242 indirect calls if TARGET_ELF32.
4243
6185f217
RH
42442002-03-05 Richard Henderson <rth@redhat.com>
4245
4246 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
4247
3020a4b2
DS
42482002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
4249
4250 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
4251
65649daa
JJ
42522002-03-05 Jakub Jelinek <jakub@redhat.com>
4253
4254 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
4255 -r command line. Don't hide any symbols if not building
4256 shared libgcc.
4257
5a1a3e5e
JH
4258Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
4259
4260 * cfg.c (dump_flow_info): Warn about profile mismatches.
4261 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
4262 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
4263
170c56da
JJ
42642002-03-05 Jakub Jelinek <jakub@redhat.com>
4265
4266 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
4267 wide volatile memory by parts.
4268
6d051694
JJ
42692002-03-05 Jakub Jelinek <jakub@redhat.com>
4270
4271 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
4272 is NULL.
4273
28bcfd4d
RH
42742002-03-05 Richard Henderson <rth@redhat.com>
4275
5b43fed1 4276 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 4277
75227a33
GK
42782002-03-04 Geoffrey Keating <geoffk@redhat.com>
4279
4280 * toplev.c (documented_lang_options): Document more
4281 language-specific options.
4282 * doc/invoke.texi (Warning Options): Correct documentation for
4283 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
4284 * c-decl.c (c_decode_option): Use a table to handle warning options.
4285
4f1aac42
HPN
42862002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
4287
4288 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
4289 parameter to mmix_encode_section_info.
4290 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
4291 relocatably. Always produce ELF, not mmo if linking relocatably.
4292 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
4293 first is non-zero, don't add symbol prefix.
4294 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
4295 prototype accordingly.
4296
12345543
KW
42972002-03-04 Krister Walfridsson <cato@df.lth.se>
4298
4299 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
4300
8e97db8f
JM
43012002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
4302
4303 * configure.in: Increase required makeinfo version to 4.1.
4304 * configure: Regenerate.
4305
06487868
GK
43062002-03-04 Geoffrey Keating <geoffk@redhat.com>
4307
4308 * .cvsignore: Remove *.info* and genrtl*; these files are generated
4309 elsewhere now.
4310
cff42170
JM
43112002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
4312
4313 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
4314 * doc/invoke.texi: Fix @math uses.
4315
974a7f56
JH
4316Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
4317
4318 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
4319 removal
4320
3b7d0e98
AH
43212002-03-03 Aldy Hernandez <aldyh@redhat.com>
4322
5b43fed1
RH
4323 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
4324 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 4325
5b43fed1 4326 * config/rs6000/t-ppcendian: New.
3b7d0e98 4327
65f2f288
HB
43282002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4329
4330 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
4331 nonimmediate_src_operand and nonimmediate_lsrc_operand to
4332 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
4333
8ce0a8a5
RH
43342002-03-03 Richard Henderson <rth@redhat.com>
4335
4336 * toplev.c (rest_of_decl_compilation): Revert last two changes.
4337
ba31d94e
ZW
43382002-03-03 Zack Weinberg <zack@codesourcery.com>
4339
4340 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
4341 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
4342 tree.c, config/m68k/m68k.c:
4343 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
4344 REAL_ARITHMETIC blocks unconditional. Delete some further
4345 #ifdef blocks predicated on REAL_ARITHMETIC.
4346 * flags.h, toplev.c: Delete remaining references to
4347 flag_pretend_float.
4348
4349 * doc/invoke.texi: Remove documentation of -fpretend-float.
4350 * doc/tm.texi: Describe the various REAL_* macros as provided by
4351 real.h, not by the target configuration files.
4352
4353 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
4354 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
4355 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
4356 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
4357 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
4358 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
4359 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
4360 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
4361 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
4362 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
4363 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
4364 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
4365 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
4366 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
4367 config/xtensa/xtensa.h:
4368 Do not define, undefine, or mention in comments any of
4369 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
4370 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
4371 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
4372 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
4373 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
4374 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
4375 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
4376 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
4377 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
4378
9a571cfd
KG
43792002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4380
e81dd381
KG
4381 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
4382 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
4383 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
4384 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
4385 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
4386 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
4387 Delete.
4388 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 4389 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 4390
9a571cfd
KG
4391 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
4392 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
4393 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
4394
ca7558fc
KG
43952002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4396
4397 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
4398 lieu of explicit sizeof/sizeof.
4399 * i386.c (override_options, ix86_init_mmx_sse_builtins,
4400 ix86_expand_builtin): Likewise.
4401 * mips.c (mips_add_gc_roots): Likewise.
4402 * mmix.c (mmix_output_condition): Likewise.
4403 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
4404 altivec_init_builtins): Likewise.
4405 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
4406 * cppexp.c (Nsuff, parse_number): Likewise.
4407 * cppinit.c (builtin_array_end): Likewise.
4408 * gcc.c (n_default_compilers, process_command): Likewise.
4409 * genpreds.c (output_predicate_decls): Likewise.
4410 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
4411 * lcm.c (N_ENTITIES): Likewise.
4412 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 4413
41c78c88
RH
44142002-03-03 Richard Henderson <rth@redhat.com>
4415
4416 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
4417 for types or labels.
4418
9e9b71e6
RH
44192002-03-03 Richard Henderson <rth@redhat.com>
4420
4421 * c-decl.c (start_decl): Initialized variables are not common.
4422
c26a6db8
PB
44232002-03-02 Per Bothner <per@bothner.com>
4424
4425 * gcc.c (option_map): Suport new --bootclasspath option.
4426 --CLASSPATH is now just an alias for --classpath.
4427
9e8aab55
RH
44282002-03-02 Richard Henderson <rth@redhat.com>
4429
4430 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
4431 load if "internal" visibility.
4432 * doc/extend.texi: Document visibility meanings.
4433
b3bbd220
RH
44342002-03-02 Richard Henderson <rth@redhat.com>
4435
4436 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
4437 to functions as well.
4438
b14707c3
RH
44392002-03-02 Richard Henderson <rth@redhat.com>
4440
4441 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
4442 (handle_visibility_attribute): Don't call assemble_visibility.
4443 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
4444 without asmspec. Invoke assemble_alias when needed.
4445 * varasm.c (maybe_assemble_visibility): New.
4446 (assemble_start_function, assemble_variable, assemble_alias): Use it.
4447
b2003250
RH
44482002-03-02 Richard Henderson <rth@redhat.com>
4449
4450 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
4451 invoke ENCODE_SECTION_INFO with first call flag.
4452
4453 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
4454 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 4455 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
4456 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
4457 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
4458 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
4459 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
4460 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
4461 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
4462 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
4463 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
4464 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
4465 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
4466 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
4467 config/mcore/mcore-protos.h, config/mcore/mcore.c,
4468 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
4469 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 4470 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
4471 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
4472 config/sh/sh.h, config/sparc/sparc.h,
4473 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
4474 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
4475 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
4476 FIRST argument. As needed, examine it and do nothing.
4477
ba31d94e 4478 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
4479 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
4480 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
4481
4482 * config/arm/t-pe (pe.o): Add dependencies.
4483
5c60f03d
KG
44842002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4485
4486 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
4487 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
4488 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
4489 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
4490 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
4491 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
4492 * defaults.h (BITS_PER_UNIT): Define.
4493 * doc/tm.texi (BITS_PER_UNIT): Document default value.
4494
86855e8c
KH
44952002-03-02 Kazu Hirata <kazu@hxi.com>
4496
4497 * config/h8300/h8300-protos.h: Add a prototype for
4498 compute_a_shift_length.
4499 * config/h8300/h8300.c (h8300_asm_insn_count): New.
4500 (compute_a_shift_length): Likewise.
4501 (h8300_adjust_insn_length): Do not adjust insn length of shift
4502 insns.
4503 * config/h8300/h8300.md (anonymous shift patterns): Use
4504 compute_a_shift_length.
4505
f6041ed8
RK
4506Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4507
35aa3c1c
RK
4508 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
4509 trunc_int_for_mode.
4510
f6041ed8
RK
4511 * emit-rtl.c (offset_address): Call update_temp_slot_address.
4512
27b41650
KG
45132002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4514
4515 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
4516 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
4517 * flags.h (flag_zero_initialized_in_bss): Declare.
4518 * toplev.c (flag_zero_initialized_in_bss): New flag.
4519 (lang_independent_options): Add flag_zero_initialized_in_bss.
4520 * tree.c (initializer_zerop): New function.
4521 * tree.h (initializer_zerop): Declare.
4522 * varasm.c (assemble_variable): If we can emit bss, put zero
4523 initializers in the bss section.
4524
ca734b39
AM
45252002-03-02 Alan Modra <amodra@bigpond.net.au>
4526
4527 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
4528 like more than one symbol per .weak directive.
4529
49b72306
RH
45302002-03-01 Richard Henderson <rth@redhat.com>
4531
4532 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
4533 adjust argument_pointer by pretend_args_size.
4534 (ia64_va_start): Adjust va_start address by -pretend_args_size.
4535
fbf0fe41
KH
45362002-03-01 Kazu Hirata <kazu@hxi.com>
4537
4538 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
4539
0010687d
JH
4540Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
4541
4542 * toplev.c (rest_of_compilation): Delete dead jumptables before
4543 loop.
4544 * flow.c (delete_dead_jumptables): Make global.
4545 * rtl.h (delete_dead_jumptables): Declare.
4546
9429c84c
DE
45472002-03-01 David Edelsohn <edelsohn@gnu.org>
4548
4549 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
4550 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 4551 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 4552
f0b6f9a6
KH
45532002-03-01 Kazu Hirata <kazu@hxi.com>
4554
4555 * config/h8300/h8300-protos.h: Fix formatting.
4556 * config/h8300/h8300.c: Likewise.
4557 * config/h8300/h8300.h: Likewise.
4558
bc8db8a1
KH
45592002-03-01 Kazu Hirata <kazu@hxi.com>
4560
4561 * config/h8300/h8300.c (print_operand): Support 16-bit
4562 constant addresses.
4563 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
4564
32b069d3
RH
45652002-02-28 Richard Henderson <rth@redhat.com>
4566
4567 * expmed.c (store_bit_field): Prevent generation of CONCATs;
4568 pun complex values as integers; use gen_lowpart instead of
4569 gen_rtx_SUBREG.
4570 (extract_bit_field): Likewise.
4571
79c4e63f
AM
45722002-03-01 Alan Modra <amodra@bigpond.net.au>
4573 David Edelsohn <edelsohn@gnu.org>
4574
4575 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
4576 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
4577 (SUPPORTS_WEAK): Likewise.
4578 * output.h (add_weak): Add tree param.
4579 * varasm.c (add_weak): Likewise. Save decl.
4580 (struct weak_syms): Add decl field.
4581 (mark_weak_decls): New function.
4582 (init_varasm_once): ggc_add_root mark_weak_decls.
4583 (assemble_start_function): Use ASM_WEAKEN_DECL.
4584 (assemble_variable): Likewise.
4585 (assemble_alias): Likewise.
4586 (declare_weak): Pass decl to add_weak.
4587 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
4588 (remove_from_pending_weak_list): Declare and define for
4589 ASM_WEAKEN_DECL.
4590 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
4591 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
4592 * defaults.h (SUPPORTS_WEAK): Likewise.
4593 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
4594 .weak for code sym. Do emit .size for descriptor sym.
4595 (ASM_DECLARE_FUNCTION_SIZE): Define.
4596 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
4597 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
4598 .lglobl unless TARGET_XCOFF. Formatting fixes.
4599 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
4600 .weak for code sym.
4601 (HANDLE_PRAGMA_WEAK): Remove.
4602 (ASM_WEAKEN_LABEL): Remove.
4603 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
4604
6f30f1f1
JM
46052002-03-01 Jason Merrill <jason@redhat.com>
4606
4607 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
4608 (TARGET_EXPR_CLEANUP): New macro.
4609
7879b81e
SE
46102002-02-28 Steve Ellcey <sje@cup.hp.com>
4611
4612 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
4613 to take ptr_extend into account as third type of extension.
4614 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
4615 fields used by SUBREG_PROMOTED_UNSIGNED_P.
4616 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
4617 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
4618 * calls.c (precompute_arguments): Use new macro.
4619 (expand_call): Ditto.
4620 * combine.c (nonzero_bits): Ditto.
4621 (record_promoted_value): Ditto.
4622 * expr.c (store_expr): Ditto.
4623 (expand_expr): Ditto.
4624 * function.c (assign_parms): Ditto.
4625
42d579d8
AO
46262002-02-28 Alexandre Oliva <aoliva@redhat.com>
4627
4628 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
4629 override -shared and -shared-libgcc.
4630
e0054185
DB
46312002-02-28 David O'Brien <obrien@FreeBSD.org>
4632
4633 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
4634 of "ultrasparc".
4635 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
4636 to be broken.
4637
abda4f1c
RH
46382002-02-28 Richard Henderson <rth@redhat.com>
4639
4640 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
4641 4 cycle latency from MM producers.
4642 (ia64_internal_sched_reorder): Likewise with pipeline flush.
4643
c0f08649
JJ
46442002-02-28 Jakub Jelinek <jakub@redhat.com>
4645
4646 * mklibgcc.in: Don't use GNU make extension.
4647
f79f2651
NB
46482002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
4649
4650 * c-parse.in (STATIC): New terminal.
4651 (scspec): New non-terminal. Update productions accordingly.
4652 (program): Remove bogus ifc / end ifc.
4653 (array_declarator): Simplify production using STATIC.
4654
001e3fee
JM
46552002-02-28 Jim Meyering <meyering@lucent.com>
4656
4657 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
4658 \a still means TARGET_BELL.
4659
89076bb3
RH
46602002-02-28 Richard Henderson <rth@redhat.com>
4661
4662 * haifa-sched.c (sched_emit_insn): New.
4663 (schedule_block): Use last_scheduled_insn to track last insn.
4664 * sched-int.h (sched_emit_insn): Prototype.
4665 * config/ia64/ia64.c (last_issued): Remove.
4666 (ia64_variable_issue): Don't set it.
4667 (nop_cycles_until): Use sched_emit_insn.
4668
e3aaacf4
AM
46692002-02-28 Andrew MacLeod <amacleod@redhat.com>
4670
4671 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
4672 extended constants.
4673
7f473594
KH
46742002-02-28 Kazu Hirata <kazu@hxi.com>
4675
4676 * config/h8300/h8300.c: Fix formatting.
4677 * config/h8300/h8300.h: Likewise.
4678
b96c434c
MM
46792002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
4680
4681 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
4682 which may overwrite the high byte of the frame pointer.
4683
9b420a6a
BT
46842002-02-28 Bo Thorsen <bo@suse.de>
4685
4686 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
4687 (STARTFILE_SPEC): Add 64 bit files.
4688 (ENDFILE_SPEC): Likewise.
4689
6f30f1f1 46902002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
4691
4692 * c-decl.c (finish_function): Only warn about missing return
4693 statement with -Wreturn-type.
4694
70da1d03
JH
4695Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
4696
4697 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
4698
4699 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
4700 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
4701
38c1593d
JH
4702Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
4703
4704 * basic-block.h (BB_REACHABLE): Renumber.
4705 (BB_DIRTY, BB_NEW): New flags.
4706 (clear_bb_flags): Declare.
4707 (update_life_info_in_dirty_blocks): Declare.
4708 * cfg.c (clear_bb_flags): New function.
4709 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
4710 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
4711 reorder_insns, emit_insn_after): Mark block as dirty.
4712 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
4713 (update_life_info_in_dirty_blocks): New function.
4714 * recog.c (apply_change_group): Dirtify block.
4715
4716 * cse.c (cse_insn): Reorder emitting of jump insn to keep
4717 cfg consistent.
4718 * gcse.c (delete_null_pointer_checks): Likewise.
4719
4720 * toplev.c (dump_file_index): Move cse2 after bp,
4721 add DFI_null
4722 (dump_file_info): Similary.
4723 (rest_of_compilation): Avoid most of CFG rebuilds;
4724 do first if converision after null pointer checks, do cse2
4725 after branch prediction; avoid full liveness rebuild after
4726 initializing subregs.
4727 * invoke.texi (-d options): Document -du, renumber.
4728
4729 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
4730 (notice_new_block): Do not set BB_UPDATE_LIFE.
4731 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
4732 merge_blocks_move_successor_nojumps, merge_blocks,
4733 try_crossjump_to_edge): Likewise.
4734 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
4735 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
4736 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
4737 (merge_of_block): Do not use life_data_ok.
4738 (find_if_case_1): Do not use SET_UPDATE_LIFE.
4739 (if_convert): Use BB_DIRTY mechanizm to update life.
4740 * lcm.c (optimize_mode_switching): Update
4741 update_life_info_in_dirty_blocks
4742
63e1b1c4
NB
47432002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
4744
4745 * Makefile.in (integrate.o): Update.
4746 * c-decl.c (copy_lang_decl): Rename.
4747 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
4748 * integrate.c: Include langhooks.h.
4749 (copy_decl_for_inlining): Update to use langhook.
4750 * langhooks-def.h (lhd_do_nothing_t,
4751 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
4752 (LANG_HOOKS_INITIALIZER): Update.
4753 * langhooks.c (lhd_do_nothing_t): New.
4754 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
4755 * tree.h (copy_lang_decl): Remove.
4756objc:
4757 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
4758
f472fa29
AM
47592002-02-27 Andrew MacLeod <amacleod@redhat.com>
4760
ba31d94e 4761 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
4762 POST_DEC, and POST_MODIFY.
4763
273cf2e4
ZW
47642002-02-27 Zack Weinberg <zack@codesourcery.com>
4765
4766 * c-typeck.c (digest_init): Remove unused parameter; all
4767 callers changed.
4768
4e07d762
GK
47692002-02-27 Geoffrey Keating <geoffk@redhat.com>
4770
4771 * expmed.c (expand_shift): Correctly test for low part of a
4772 subreg.
4773
6bc627b3
UW
47742002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
4775
4776 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
4777 insn UIDs with insn addresses.
4778
f458d1d5
ZW
47792002-02-27 Zack Weinberg <zack@codesourcery.com>
4780
4781 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
4782 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
4783 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
4784 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
4785 gcc.c, toplev.c: Delete code implementing -traditional mode.
4786
4787 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
4788 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
4789 Document removal of -traditional mode for compilation, and
4790 remove documentation only relevant to that mode.
4791
4792 * config/nextstep.h, config/ptx4.h, config/svr4.h,
4793 config/convex/convex.h, config/d30v/d30v.h,
4794 config/i386/dgux.h, config/i386/osf1elf.h,
4795 config/i386/osfelf.h, config/i386/osfrose.h,
4796 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
4797 config/m68k/hp310.h, config/m88k/dgux.h,
4798 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
4799 config/m88k/m88k.h, config/m88k/openbsd.h,
4800 config/mips/abi64.h, config/mips/osfrose.h,
4801 config/mips/svr4-5.h, config/mips/svr4-t.h,
4802 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
4803 config/stormy16/stormy16.h: Remove all references to
4804 -traditional from target specs. Delete all mention of the
4805 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
4806 delete a couple of commented-out definitions of
4807 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
4808 to -traditional.
4809
4810 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
4811 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
4812
e0b3a8ff
ZW
48132002-02-27 Zack Weinberg <zack@codesourcery.com>
4814
4815 * mklibgcc.in: Don't use \n in a line subject to
4816 interpretation by echo.
4817
5c6a85b7
GS
48182002-02-27 Graham Stott <grahams@redhat.com>
4819
72b05af1
GS
4820 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
4821 Constify NAME.
4822
7d104885
GS
4823 * loop.c (prescan_loop): Handle PARALLEL.
4824
8ed805d2
GS
4825 * unroll.c (loop_iterations): Return 0 if the add_val for
4826 a BIV is REG.
4827
fd478a0a
GS
4828 * final.c (output_operand_lossage): Constify PFX_STR.
4829
5c6a85b7
GS
4830 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
4831
cd98ad03
JH
4832Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
4833
4834 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
4835 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
4836
639ae55b
JH
4837Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
4838
4839 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
4840
e808ec9c
NB
48412002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
4842
4843 * cpplex.c (_cpp_lex_token): Handle directives in macro
4844 arguments.
4845 * cpplib.c (_cpp_handle_directive): Save and restore state
4846 if parsing macro args when entering a directive.
4847 * cppmacro.c (collect_args): No need to handle directives
4848 in macro arguments.
4849 (enter_macro_context, replace_args): Use the original macro
4850 definition in case it was redefined whilst collecting arguments.
4851doc:
4852 * cpp.texi: Update.
4853
f585a356
DE
48542002-02-26 David Edelsohn <edelsohn@gnu.org>
4855
4856 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
4857 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
4858 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
4859 method on AIX.
4860 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
4861 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
4862 (load_toc_v4_PIC_2): Same.
4863
48642002-02-26 Alan Modra <amodra@bigpond.net.au>
4865
4866 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
4867
d699058e
RH
48682002-02-26 Richard Henderson <rth@redhat.com>
4869
4870 * config/alpha/alpha.md (ashldi_se): Re-enable.
4871
eadccfbb
RH
48722002-02-26 Richard Henderson <rth@redhat.com>
4873
4874 * config/alpha/alpha.c (alpha_encode_section_info): Examine
4875 MODULE_LOCAL_P; improve commentary.
4876
7080ada1
ZW
48772002-02-26 Zack Weinberg <zack@codesourcery.com>
4878
4879 * doc/cpp.texi: Clarify documentation of relationship between
4880 #line and #include.
4881
b42cff6b
KH
48822002-02-26 Kazu Hirata <kazu@hxi.com>
4883
4884 * config/h8300/h8300-protos.h: Update the prototype for
4885 compute_logical_op_length. Add the prototype for
4886 compute_logical_op_cc.
4887 * config/h8300/h8300.c (compute_logical_op_length): Figure out
4888 code from operands.
4889 (compute_logical_op_cc): New.
4890 * config/h8300/h8300.md: Combine all the logical op patterns
4891 in HImode and SImode. Use compute_logical_op_cc.
4892
831c4e87
KC
48932002-02-26 Kelley Cook <kelleycook@comcast.net>
4894
4895 * config/i386/i386.c (print_operand): Don't append ATT-style
4896 length suffixs to x87 opcodes when in Intel mode.
4897
ff88fe10
RS
48982002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
4899
4900 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
4901 (init_emit_once): Update calls.
4902 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
4903 (init_syntax_once): Prototype.
4904
d4108589
JDA
49052002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
4906
4907 * pa-linux.h (LIB_SPEC): Update definition.
4908 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
4909
e013f3c7
RH
49102002-02-26 Richard Henderson <rth@redhat.com>
4911
4912 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
4913 if we emitted a stop bit.
4914
9e944a16
JJ
49152002-02-26 Jakub Jelinek <jakub@redhat.com>
4916
4917 * configure.in (libgcc_visibility): Substitute.
4918 * configure: Rebuilt.
4919 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
4920 defined symbols .hidden.
4921
47bd70b5
JJ
49222002-02-26 Jakub Jelinek <jakub@redhat.com>
4923
4924 * attribs.c (c_common_attribute_table): Add visibility.
4925 (handle_visibility_attribute): New function.
4926 * varasm.c (assemble_visibility): New function.
4927 * output.h (assemble_visibility): Add prototype.
4928 * tree.h (MODULE_LOCAL_P): Define.
4929 * crtstuff.c (__dso_handle): Use visibility attribute.
4930 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
4931 for MODULE_LOCAL_P symbols too.
4932 * config/ia64/ia64.c (ia64_encode_section_info): Handle
4933 MODULE_LOCAL_P symbols the same way as local symbols.
4934 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
4935 into .sdata/.sbss by the user.
4936 * doc/extend.texi (Function Attributes): Document visibility
4937 attribute.
4938
6d73371a
JJ
49392002-02-26 Jakub Jelinek <jakub@redhat.com>
4940
4941 PR debug/5770
4942 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
4943 STRING_CST initializer spanning the whole variable without
4944 embedded zeros.
4945 If expand_expr returned MEM, don't use it.
4946
06e224f7
AO
49472002-02-26 Alexandre Oliva <aoliva@redhat.com>
4948
4949 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
4950 generate a die for the lexical block.
4951
40367e2d
KH
49522002-02-26 Kazu Hirata <kazu@hxi.com>
4953
4954 * config/h8300/h8300-protos.h: Add a prototype for
4955 compute_logical_op_length.
4956 * config/h8300/h8300.c (compute_logical_op_length): New.
4957 * config/h8300/h8300.md (anonymous logical patterns): Use
4958 compute_logical_op_length for length.
4959
0e98f924
AH
49602002-02-26 Aldy Hernandez <aldyh@redhat.com>
4961
831c4e87
KC
4962 * dwarf2out.c (modified_type_die): Do not call type_main_variant
4963 for vectors.
4964 (gen_type_die): Same.
0e98f924 4965
831c4e87 4966 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 4967
a50cfd52
DE
49682002-02-26 Daniel Egger <degger@fhm.edu>
4969
831c4e87
KC
4970 * config/rs6000/rs6000.md: Swap define_insn attributes to
4971 fix incorrect generation of merge high instructions instead
4972 of merge low.
a50cfd52 4973
b7997284
AH
49742002-02-26 Aldy Hernandez <aldyh@redhat.com>
4975
831c4e87
KC
4976 * c-typeck.c (really_start_incremental_init): Use
4977 bitsize_zero_node for vectors.
b7997284 4978
376aec5d
AH
49792002-02-26 Aldy Hernandez <aldyh@redhat.com>
4980
831c4e87
KC
4981 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
4982 ("*set_vrsave_internal"): Same.
376aec5d 4983
3b40e71b
RH
49842002-02-25 Richard Henderson <rth@redhat.com>
4985
4986 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
4987 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
4988
232b8f52
JJ
49892002-02-25 Jakub Jelinek <jakub@redhat.com>
4990
4991 PR target/5755
4992 * config/i386/i386.c (ix86_return_pops_args): Only pop
4993 fake structure return argument if it was passed on the stack.
4994
67282790
JM
49952002-02-25 Jason Merrill <jason@redhat.com>
4996
4997 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
4998 RESULT_DECL.
4999
5c181756
AO
50002002-02-25 Alexandre Oliva <aoliva@redhat.com>
5001
5002 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
5003 link with shared_name only.
5004 * doc/invoke.texi (Link Options): Document new behavior.
5005
6786d201
AH
50062002-02-25 Aldy Hernandez <aldyh@redhat.com>
5007
831c4e87 5008 * c-typeck.c (push_init_level): Handle vectors.
6786d201 5009
7d6040e8
AO
50102002-02-25 Alexandre Oliva <aoliva@redhat.com>
5011
5012 * config/sparc/sparc.c (const64_high_operand): Zero-extend
5013 operands of SPARC_SETHI_P.
5014 (input_operand): Likewise.
5015 (sparc_emit_set_const32): Likewise.
5016 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
5017 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
5018 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
5019 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
5020 (movdi_insn_sp64_vis): Likewise.
5021 (movdi split, movdf split): Use SETHI32.
5022 * doc/md.texi: Document SPARC constraints L, M and N.
5023
b188f760
AH
50242002-02-25 Aldy Hernandez <aldyh@redhat.com>
5025
831c4e87
KC
5026 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
5027 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 5028
831c4e87
KC
5029 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
5030 gen_get_vrsave_internal.
b188f760 5031
8041889f
RK
5032Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5033
5034 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
5035
a47ed310
NB
50362002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
5037
5038 * cpplex.c (cpp_interpret_charconst): Get signedness or
5039 otherwise of wide character constants correct.
5040 * cppexp.c (lex): Get signedness of wide charconsts correct.
5041
cb8f73be
RK
5042Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5043
5044 * optabs.c (widen_operand): Only call convert_modes for
5045 promoted SUBREG if signedness matches.
5046 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
5047
2450e0b8
NB
50482002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
5049
5050 * cpplib.c (glue_header_name): Use local buffer to build up
5051 header name.
5052
70b6aaed
NB
50532002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
5054
5055 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
5056
6be580c7
KH
50572002-02-23 Kazu Hirata <kazu@hxi.com>
5058
5059 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
5060 H8/300[HS] separately.
5061 * config/h8300/h8300.md: Remove the early clobber constraint
5062 from bit field patterns.
5063
35dad9f1
KH
50642002-02-23 Kazu Hirata <kazu@hxi.com>
5065
5066 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
5067 register_operand.
5068 (mulhisi3): Likewise.
5069 (umulqisi3): Likewise.
5070 (umulhisi3): Likewise.
5071
ab8e2228
NB
50722002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
5073
5074 * cppinit.c (output_deps): Correct test for stdout output.
5075 (init_dependency_output): Cure warning.
5076
ac6f8a15
RK
5077Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5078
5079 * expr.c (store_expr): When converting expression to promoted
5080 equivalent type, allow using SUBREG_REG of TARGET as the target
5081 of the expansion of EXP.
5082 * loop.c (basic_induction_var, case SUBREG): Always look inside.
5083 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
5084 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
5085 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
5086 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
5087
f282ffb3
JM
50882002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
5089
5090 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
5091 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
5092 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
5093
44c5edc0
JJ
50942002-02-23 Jakub Jelinek <jakub@redhat.com>
5095
5096 PR optimization/5747
5097 * loop.c (scan_loop): Update reg info if move_movables created new
5098 pseudos.
5099
f98e43c0
DE
51002002-02-23 David Edelsohn <edelsohn@gnu.org>
5101
5102 * gcc.c (init_gcc_spec): Revert last change.
5103
e72247f4
DE
51042002-02-23 David Edelsohn <edelsohn@gnu.org>
5105
5106 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
5107 gpc_reg_operand constraint.
5108
51092002-02-23 Alan Modra <amodra@bigpond.net.au>
5110
5111 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
5112 Simplify comparison of `low'.
5113 (add_operand): Fix formatting.
5114 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 5115 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
5116 (rs6000_stack_info): Remove redundant test setting push_p.
5117 (output_toc): Fix formatting.
5118 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
5119 cc_reg_not_cr0_operand constraint.
5120 (booldi3, boolcdi3 splitters): Same.
5121
a5c30531
AH
51222002-02-23 Aldy Hernandez <aldyh@redhat.com>
5123
831c4e87 5124 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 5125
43710f9f
DE
51262002-02-22 David Edelsohn <edelsohn@gnu.org>
5127
5128 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
5129 gcc invoked with -shared-libgcc.
5130
3256b817
JJ
51312002-02-22 Jakub Jelinek <jakub@redhat.com>
5132
5133 PR c++/5748
5134 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
5135 decl if any of elements was TREE_USED.
5136
9e0625a3
AO
51372002-02-22 Alexandre Oliva <aoliva@redhat.com>
5138
5139 * config/sparc/sol2.h: Don't include sys/mman.h.
5140 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
5141 (arith_4096_operand): Don't throw high bits away.
5142 (const64_operand): Take sign extension of CONST_INTs into account.
5143 (const64_high_operand, sparc_emit_set_const32): Likewise.
5144 (GEN_HIGHINT64): Likewise.
5145 (sparc_emit_set_const64_quick1): Likewise.
5146 (const64_is_2insns): Likewise.
5147 (print_operand): Use trunc_int_for_mode for sign extension.
5148 * config/sparc/sparc.h (SMALL_INT32): Likewise.
5149 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
5150 chars. Assume CONST_INT is already properly sign-extended.
5151 (movdi split): Sign-extend each SImode part.
5152 (andsi3 split): Don't mask high bits off, so that result
5153 remains properly sign-extend.
5154 (iorsi3 split): Likewise.
5155 (xorsi3 split): Likewise.
5156
54fec3d5
RS
51572002-02-22 Richard Sandiford <rsandifo@redhat.com>
5158
5159 * fold-const.c (fold): Fix typo in comments.
5160
667ada9b
DN
51612002-02-21 Diego Novillo <dnovillo@redhat.com>
5162
5163 * Makefile.in (langhooks.o): Update dependencies.
5164
29ac78d5
DN
51652002-02-21 Diego Novillo <dnovillo@redhat.com>
5166
5167 * langhooks.c: Include flags.h.
5168
6aa77e6c
AH
51692002-02-21 Aldy Hernandez <aldyh@redhat.com>
5170
5171 * testsuite/gcc.dg/attr-alwaysinline.c: New.
5172
5173 * c-common.c (c_common_post_options): Set inline trees by
5174 default.
5175
5176 * doc/extend.texi (Function Attributes): Document always_inline
5177 attribute.
5178 Update documentation about inlining when not optimizing.
5179
5180 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
5181
5182 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
5183 unless DECL_ALWAYS_INLINE.
5184
5185 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
5186 unless DECL_ALWAYS_INLINE.
5187 (c_disregard_inline_limits): Disregard if always_inline set.
5188
5189 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
5190 Disregard if always_inline set.
5191 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
5192 unless DECL_ALWAYS_INLINE.
5193
5194 * attribs.c (handle_always_inline_attribute): New.
5195 (c_common_attribute_table): Add always_inline.
5196
5197 * config/rs6000/altivec.h: Add prototypes for builtins
5198 requiring the always_inline attribute.
5199
c410d49e
EC
52002002-02-21 Eric Christopher <echristo@redhat.com>
5201
5202 * expmed.c (store_bit_field): Try to simplify the subreg
5203 before generating a new one when when the mode size of
5204 value is less than maxmode.
5205
e3c8ea67
RH
52062002-02-21 Richard Henderson <rth@redhat.com>
5207
5208 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
5209 than gen_rtx_PLUS to form the sum.
5210 * explow.c (force_reg): Rearrange to not allocate new pseudo
5211 when force_operand returns a register.
5212 * expr.c (expand_assignment): Allow offset_rtx expansion to
5213 return a sum. Do not force addresses into registers.
5214 (expand_expr): Likewise.
5215 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
5216 to canonicalize arithmetic that didn't simpify.
5217 (simplify_plus_minus): New argument force; update
5218 all callers. Don't split CONST unless we can do something with it,
5219 and wouldn't lose the constness of the operands.
5220
5221 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
5222 that we generated earlier.
5223
c1a046e5
TT
52242002-02-21 Tom Tromey <tromey@redhat.com>
5225
5226 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5227 (output_line_info): Use constant `1', with a long explanatory
5228 comment.
5229 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
5230
31fbaad4
R
5231Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
5232
5233 * jump.c (redirect_jump): If old label has no UID, don't try to
5234 delete it.
5235
a7f52356
R
5236Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
5237
5238 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
5239 If input is constant, do shifts at compile time.
5240
924fcc4e
JM
52412002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
5242
5243 * doc/extend.texi: Fix some more overfull hboxes.
5244
e5a20888
JJ
52452002-02-21 Jakub Jelinek <jakub@redhat.com>
5246
5247 PR optimization/4994
5248 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
5249 register moves.
5250
52512002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
5252
5253 PR c++/4574
5254 * expr.h (expand_and): Add mode argument.
5255 * expmed.c (expand_and): Add mode argument.
5256 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
5257 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
5258 * except.c (expand_builtin_extract_return_addr): Likewise.
5259 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
5260 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
5261 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
5262 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
5263 * config/c4x/c4x.md: Use GEN_INT (x) instead of
5264 gen_rtx (CONST_INT, VOIDmode, x).
5265
7133e992
JJ
52662002-02-21 Jakub Jelinek <jakub@redhat.com>
5267
5268 PR c/4697:
5269 * stmt.c (warn_if_unused_value): Move side effects test once more.
5270
e2ec05a6
TG
52712002-02-20 Torbjorn Granlund <tege@swox.com>
5272
5273 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 5274 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 5275
9dd791c8
AO
5276Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
5277
5278 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
5279 SUBREG or ZERO_EXTEND.
5280
7ab56274
R
5281Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
5282
5283 * sh.h (current_function_anonymous_args): Remove.
5284 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
5285 of current_function_varargs and current_function_stdarg is set.
5286 * sh.c (sh_expand_prologue): Check current_function_varargs /
5287 current_function_stdarg / TARGET_SH5 instead of
5288 current_function_anonymous_args.
5289
5290 * sh64.h (TARGET_VERSION): Define.
5291
b1765bde
DE
52922002-02-20 David Edelsohn <edelsohn@gnu.org>
5293
5294 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
5295 VRSAVE_REGNO on TARGET_ALTIVEC.
5296
52972002-02-20 Alan Modra <amodra@bigpond.net.au>
5298
5299 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
5300 bits of SImode const_int.
5301 (includes_rshift_p): Likewise.
5302 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 5303 mode.
b1765bde
DE
5304 (rs6000_output_function_epilogue): Pad traceback table to word.
5305 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
5306 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
5307 mask64_operand with correct mode.
b1765bde
DE
5308 (FUNCTION_ARG_REGNO_P): Correct parentheses.
5309
149d6f9e
JJ
53102002-02-20 Jakub Jelinek <jakub@redhat.com>
5311
5312 PR debug/4461
5313 * varasm.c (get_pool_constant_mark): New.
5314 * rtl.h (get_pool_constant_mark): Add prototype.
5315 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
5316 be represented if it has not been output.
5317
4161da12
AO
53182002-02-20 Alexandre Oliva <aoliva@redhat.com>
5319
5320 * combine.c (do_SUBST): Sanity check substitutions of
5321 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
5322 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
5323 CONST_INT into its operand.
5324 (known_cond): Likewise, for ZERO_EXTEND.
5325 * simplify-rtx.c (simplify_unary_operation): Fix condition to
5326 allow for simplification of wide modes. Reject CONST_INTs in
5327 ZERO_EXTEND when their actual mode is not given.
5328
3704ef74
AO
53292002-02-20 Alexandre Oliva <aoliva@redhat.com>
5330
5331 * c-decl.c (pushdecl): If no global declaration is found for an
5332 extern declaration in block scope, try a limbo one.
5333
7552da58
JJ
53342002-02-20 Jakub Jelinek <jakub@redhat.com>
5335
5336 PR c++/4401
5337 * c-common.c (pointer_int_sum): Moved from...
5338 * c-typeck.c (pointer_int_sum): ...here.
5339 * c-common.h (pointer_int_sum): Add prototype.
5340
00fae85d
JJ
53412002-02-20 Jakub Jelinek <jakub@redhat.com>
5342
5343 PR c++/5713
5344 * c-decl.c (duplicate_decls): Return 0 if issued error about
5345 redeclaration.
5346
4636c87e
JJ
53472002-02-20 Roger Sayle <roger@eyesopen.com>
5348 Jakub Jelinek <jakub@redhat.com>
5349
5350 PR c/4389
5351 * tree.c (host_integerp): Ensure that the constant integer is
5352 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
5353 when pos is zero or non-zero respectively. Clarify comment.
5354 * c-format.c (check_format_info_recurse): Fix host_integerp
5355 usage; the pos argument should be zero when assigning to a
5356 signed HOST_WIDE_INT.
5357
59bef189
RH
53582002-02-20 Richard Henderson <rth@redhat.com>
5359
5360 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
5361 of the operand, rather than assuming TImode.
5362 (ix86_expand_binop_builtin): Cope with commutative patterns
5363 using nonimmediate_operand for both operands.
5364 (ix86_expand_timode_binop_builtin): Likewise.
5365 (ix86_expand_store_builtin): Validate operand 1.
5366 (ix86_expand_unop1_builtin): Likewise.
5367
9338ffe6 53682002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 5369
9338ffe6
PB
5370 PR 5705
5371 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
5372
f322b423
RH
53732002-02-20 Richard Henderson <rth@redhat.com>
5374
5375 PR c/5615
5376 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
5377
d94084f7
TT
53782002-02-20 Tom Tromey <tromey@redhat.com>
5379
5380 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5381 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5382 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5383 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5384 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
5385 unconditionally.
5386
37fa124a
AM
5387Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
5388
5389 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
5390 for (const_int 0) in X not just INTVAL.
5391
6e5bb5ad
JM
53922002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
5393
5394 * doc/extend.texi: Avoid or reduce overfull hboxes.
5395
420e7dfa
DN
53962002-02-20 Diego Novillo <dnovillo@redhat.com>
5397
5398 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
5399 operations if the field does not start at a mode boundary.
5400
1b7a2af6
JS
54012001-02-20 Joel Sherrill <joel@OARcorp.com>
5402
5403 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
5404 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
5405 Also done for -Acpu and -Amachine.
5406
56cd5b95
NB
54072002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
5408
5409 * cppinit.c (init_dependency_output): Take deps output file
5410 from -o if none given with -MF. Suppress normal output.
c410d49e 5411 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
5412 * doc/cpp.texi, doc/invoke.texi: Update.
5413
042cdf71
ZW
54142002-02-19 Zack Weinberg <zack@codesourcery.com>
5415
5416 * toplev.c (output_quoted_string): Write unprintable
5417 characters with octal escapes.
5418
c1f11548
DE
54192002-02-19 David Edelsohn <edelsohn@gnu.org>
5420
5421 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
5422 really_call_used[VRSAVE_REGNO] if not Altivec.
5423
54242002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 5425
c1f11548
DE
5426 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
5427 MODE_MASK.
5428 (constant_pool_expr_1): Fix formatting.
5429 (rs6000_legitimize_reload_address): Likewise.
5430
c964d90e
RK
5431Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5432
5433 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
5434 now that we have one.
5435
ae34ac46
ZW
54362002-02-19 Zack Weinberg <zack@codesourcery.com>
5437
5438 * tree.h (struct tree_common): Remove aux. Add unused_0 at
5439 end of first block of bitfields (which was only seven bits);
5440 rename dummy to unused_1; remove comment which is no longer true.
5441
293c28ee
GS
54422002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
5443
5444 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
5445
7b8781c8
PB
54462002-02-19 Philip Blundell <pb@nexus.co.uk>
5447
0cb6c58d 5448 PR 5399
7b8781c8
PB
5449 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
5450 if generating PIC.
5451
5452 PR 5054
5453 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
5454 arm_is_longcall_p rather than inspecting call-type cookie
5455 directly.
5456 (call_value_insn) [TARGET_THUMB]: Likewise.
5457
5c464583
GS
54582002-02-19 Graham Stott <grahams@redhat.com>
5459
5460 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
5461
71c061e6
DE
54622002-02-19 David Edelsohn <edelsohn@gnu.org>
5463
5464 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
5465 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 5466 (FP_SAVE_INLINE): Delete.
71c061e6
DE
5467
5468 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
5469 * config/rs6000/eabi.asm: Remove ABI save restore routines.
5470 * config/rs6000/t-ppccomm: Build crtsavres.o.
5471 * config/rs6000/crtsavres.asm: New file.
5472
3a7731fd
PB
54732002-02-19 Philip Blundell <philb@gnu.org>
5474
5475 * config/arm/arm.c (use_return_insn): Don't reject interrupt
5476 functions.
5477 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
5478 (output_return_instruction): Allow interrupt functions to return with
5479 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
5480 (arm_expand_prologue): Subtract 4 before stacking LR in an
5481 interrupt function.
5482
14f583b8
PB
54832002-02-19 Philip Blundell <pb@nexus.co.uk>
5484
5485 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
5486 decl, not just FUNCTION_DECL.
5487 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
5488 (arm_assemble_integer): Likewise.
5489 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
5490 marked local.
c410d49e 5491
4cb7482c
MG
54922002-02-19 matthew green <mrg@eterna.com.au>
5493
5494 * config.gcc (sparc-*-netbsdelf*): Enable target.
5495 (sparc64-*-netbsd*): New target.
5496 * config/sparc/netbsd-elf.h: New file.
5497 * config/sparc/t-netbsd64: New file.
5498
2df3a718
GS
54992002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
5500
5501 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
5502
77f6c1eb
RS
55032002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
5504
5505 * doc/invoke.texi: explicitly list the style guidelines that
5506 -Weffc++ checks for.
5507
fd973d56
JH
5508Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
5509
5510 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
5511
30518e45
NB
55122002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
5513
5514 PR other/5718
5515 * gcc.c (cpp_unique_options): Treat -o as indicating object file
5516 only if not -E. If -E, pass -o through to the preprocessor.
5517
39ea5704
KH
55182002-02-19 Kazu Hirata <kazu@hxi.com>
5519
5520 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
5521 register number with an appropriate macro.
5522
7355dba7
BM
55232002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
5524
5525 * doc/rtl.texi (Constants): Close @code tag.
5526
91c8aa9e
AH
55272002-02-19 Aldy Hernandez <aldyh@redhat.com>
5528
5529 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
5530 ("mmx_uavgv4hi3"): Same.
5531 ("pmulhrwv4hi3"): Same.
5532
5533 * tree-inline.c (walk_tree): Handle vectors.
5534
5535 * c-common.c (constant_expression_warning): Handle vectors.
5536 (overflow_warning): Same.
5537
5538 * sched-deps.c (sched_analyze_2): Handle vectors.
5539
5540 * rtlanal.c (rtx_unstable_p): Handle vectors.
5541 (rtx_varies_p): Same.
5542 (count_occurrences): Same.
5543 (regs_set_between_p): Same.
5544 (modified_between_p): Same.
5545 (modified_in_p): Same.
5546 (volatile_insn_p): Same.
5547 (volatile_refs_p): Same.
5548 (side_effects_p): Same.
5549 (may_trap_p): Same.
5550 (inequality_comparisons_p): Same.
5551 (replace_regs): Same.
5552 (computed_jump_p_1): Same.
5553
5554 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
5555 argument.
5556 (inner_mode_array): New.
5557 (copy_rtx): Handle vectors.
5558 (copy_most_rtx): Same.
5559 (rtx_equal_p): Same.
5560 (get_mode_alignment): Adjust for vectors.
5561
5562 * resource.c (mark_referenced_resources): Handle vectors.
5563 (mark_set_resources): Same.
5564
5565 * reload1.c (eliminate_regs): Handle vectors.
5566 (elimination_effects): Same.
5567 (scan_paradoxical_subregs): Same.
5568
5569 * reload.c (subst_reg_equivs): Handle vectors.
5570
5571 * regrename.c (scan_rtx): Handle vectors.
5572
5573 * regclass.c (reg_scan_mark_refs): Handle vectors.
5574
5575 * recog.c (find_single_use_1): Handle vectors.
5576
5577 * local-alloc.c (equiv_init_varies_p): Handle vectors.
5578 (contains_replace_regs): Same.
5579 (memref_referenced_p): Same.
5580
5581 * integrate.c (copy_rtx_and_substitute): Handle vectors.
5582 (subst_constants): Same.
5583
5584 * genattrtab.c (attr_copy_rtx): Handle vectors.
5585 (encode_units_mask): Same.
5586 (clear_struct_flag): Same.
5587 (count_sub_rtxs): Same.
5588
5589 * gcse.c (want_to_gcse_p): Handle vectors.
5590 (oprs_unchanged_p): Same.
5591 (hash_expr_1): Same.
5592 (oprs_not_set_p): Same.
5593 (expr_killed_p): Same.
5594 (compute_transp): Same.
5595 (store_ops_ok): Same.
5596
5597 * function.c (purge_addressof_1): Do not allow paradoxical subregs
5598 of vectors.
5599 (fixup_var_refs_1): Same.
5600 (instantiate_virtual_regs_1): Same.
5601
5602 * fold-const.c (operand_equal_p): Handle vectors.
5603 (fold): Same.
5604 (rtl_expr_nonnegative_p): Same.
5605
5606 * flow.c (mark_used_regs): Handle vectors.
5607
5608 * df.c (df_uses_record): Handle vectors.
5609
5610 * cselib.c (cselib_subst_to_values): Handle vectors.
5611 (cselib_mem_conflict_p): Same.
5612 (hash_rtx): Same.
5613
5614 * cse.c (canon_reg): Handle vectors.
5615 (fold_rt): Same.
5616 (cse_process_notes): Same.
5617 (count_reg_usage): Same.
5618 (canon_hash): Same.
5619
5620 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
5621
5622 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
5623
5624 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
5625 (gen_rtx): Handle CONST_VECTOR.
5626 (gen_const_vector_0): New.
5627 (copy_rtx_if_shared): CONST_VECTORs can be shared.
5628 (reset_used_flags): Same.
5629 (copy_insn_1): Same.
5630 (initializer_constant_valid_p): Handle VECTOR_CST.
5631
5632 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
5633
5634 * doc/rtl.texi (Constants): Document const_vector.
5635 (CONST0_RTX): Update for vectors.
5636 (RTL sharing): Same.
5637
5638 * print-tree.c (print_node): Add case for VECTOR_CST.
5639
5640 * tree.h (TREE_VECTOR_CST_ELTS): New.
5641 (struct tree_vector): New.
5642 (union tree_node): Add vector node.
5643 (build_vector): Add prototype.
5644
5645 * tree.def (VECTOR_CST): New.
5646
5647 * tree.c (build_vector): New.
5648
5649 * expmed.c (make_tree): Handle CONST_VECTOR.
5650
5651 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
5652 (CONST_VECTOR_ELT): New.
5653 (CONST_VECTOR_NUNITS): New.
5654
5655 * machmode.h (GET_MODE_INNER): New.
5656 (DEF_MACHMODE): Accept 8th arg.
5657
5658 * machmode.def: Add 8th argument for vector inner mode.
5659 Add inner vector modes for vectors.
5660
5661 * rtl.def (VEC_CONST): Remove.
5662 (CONST_VECTOR): New.
5663
5664 * expr.c (clear_storage): Allow vectors.
5665 (is_zeros_p): Handle VECTOR_CST.
5666
5667 * varasm.c (output_constant_pool): Handle vectors.
5668 (rtx_const): Add veclo and vechi fields.
5669 (kind): Add RTX_VECTOR.
5670 (decode_rtx_const): Add case for vector.
5671
5672 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 5673
91c8aa9e
AH
5674 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
5675 constants. Force easy vector constants into memory.
5676 (easy_vector_constant): New.
5677 (emit_easy_vector_constant): New.
5678 (rs6000_legitimize_reload_address): Do not generate bad reloads on
5679 darwin.
5680
5681 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
5682 instruction does.
5683 ("altivec_lvxl"): Same.
5684 (altivec_lvebx): Same.
5685 (altivec_lvehx): Same.
5686 (altivec_lvewx): Same.
5687 ("*movv4si_const0"): New.
5688 ("*movv4sf_const0"): New.
5689 ("*movv8hi_const0"): New.
5690 ("*movv16qi_const0"): New.
5691
d4d6d0ce
KH
56922002-02-18 Kazu Hirata <kazu@hxi.com>
5693
5694 * config/h8300/h8300.c (notice_update_cc): Use
5695 cc_status.value2.
5696
4915d3aa
KH
56972002-02-18 Kazu Hirata <kazu@hxi.com>
5698
5699 * config/h8300/h8300.md (divmod patterns): Change the
5700 constraints for operands[1] to register_operand.
5701
82be00ee
KH
57022002-02-18 Kazu Hirata <kazu@hxi.com>
5703
5704 * config/h8300/h8300-protos.h: Remove the prototype for
5705 p_operand.
5706 * config/h8300/h8300.c (p_operand): Remove.
5707 * config/h8300/h8300.md: Replace p_operand with
5708 const_int_operand.
5709
1768c26f
PB
57102002-02-18 Philip Blundell <pb@nexus.co.uk>
5711
5712 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
5713 comment.
5714 (output_return_instruction): Allow use of LDR to unstack
5715 return addresss even for interrupt handlers or when
5716 interworking. If compiling for ARMv5, use interworking-safe
5717 return instructions by default. Remove duplicated code and
5718 lengthy "strcat" sequences.
5719
ccd84f51
FS
57202002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5721
5722 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
5723 (LINK_EH_SPEC): Define.
5724 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
5725
2c153108
UW
57262002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
5727
5728 * config/s390/s390.c (s390_emit_prologue): Do not set the
5729 frame_related flag for call-clobbered registers.
5730
e95d6b23
JH
5731Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
5732
5733 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
5734 (construct_container): Fix handling of SSE operands.
5735 (ix86_expand_builtin): Fix handling of 64bit pointers.
5736 (mmx_maskmovq_rex): New pattern.
5737
c43a12b5
JH
5738Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
5739
5740 * regrename.c (kill_set_value): Handle subregs properly.
5741
aeb85a15
DB
57422002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
5743
5744 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 5745 from objc_class_name.
aeb85a15 5746
a615ca3e
RH
57472002-02-17 Richard Henderson <rth@redhat.com>
5748
5749 * config/alpha/alpha.c (some_small_symbolic_operand,
5750 some_small_symbolic_operand_1, split_small_symbolic_operand,
5751 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
5752 Handle small SYMBOL_REFs anywhere, not just inside memories.
5753 * config/alpha/alpha-protos.h: Update.
5754 * config/alpha/alpha.h (PREDICATE_CODES): Update.
5755 * config/alpha/alpha.md (small symbolic operand splitter): Update.
5756
ddb28441
RM
57572002-02-17 Roland McGrath <roland@frob.com>
5758
5759 * config.gcc (powerpc-*-gnu-gnualtivec*,
5760 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
5761 * config/rs6000/gnu.h: New file.
5762 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
5763 Grok "gnu" in rs6000_abi_name.
5764 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
5765 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
5766 Grok -mcall-gnu analogous to -mcall-linux et al.
5767 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
5768 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
5769 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
5770
f6f8ada3
JJ
57712002-02-17 Jakub Jelinek <jakub@redhat.com>
5772
5773 PR c/3444:
5774 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
5775 shortening.
5776
e16b32fc
PT
57772002-02-17 Philipp Thomas <pthomas@suse.de>
5778
5779 * config/cris/cris.h: Undefine STARTFILE_SPEC and
5780 ENDFILE_SPEC before (re)defining them.
5781
f9477efd
KH
57822002-02-17 Kazu Hirata <kazu@hxi.com>
5783
5784 * config/h8300/h8300.c: Fix formatting.
5785 * config/h8300/h8300.h: Likewise.
5786
404ae494
PT
57872002-02-17 Philipp Thomas <pthomas@suse.de>
5788
5789 * doc/tm.texi: Explain why empty strings should not be
5790 marked for translation.
5791
a52453cc
PT
57922002-02-17 Philipp Thomas <pthomas@suse.de>
5793
5794 * final.c (output_operand_lossage): Changed to accept
5795 printf style arguments. Change calls where necessary.
5796 * output.h (output_operand_lossage): Change declaration
5797 accordingly. Update copyright.
5798 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
5799 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
5800 Update copyright date where necessary.
c410d49e 5801
a52453cc
PT
5802 * config/i386/i386.c (print_operand): Likewise. Remove use of
5803 sprintf.
5804
5805 * config/cris/cris.c (cris_operand_lossage): Likewise.
5806 Rename parameter so that exgettext recognizes it as
5807 translatable message.
5808 (LOSE_AND_RETURN): Rename parameter to msgid.
5809
1c11abc4
KH
58102002-02-17 Kazu Hirata <kazu@hxi.com>
5811
5812 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
5813 hard coded register number with an appropriate macro.
5814 (HARD_REGNO_MODE_OK): Likewise.
5815 (ARG_POINTER_REGNUM): Likewise.
5816 (STATIC_CHAIN_REGNUM): Likewise.
5817 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
5818 * config/h8300/h8300.md (define_constants): Define more
5819 register numbers.
5820
a5d17ff3
PT
58212002-02-17 Philipp Thomas <pthomas@suse.de>
5822
5823 * config/i386/i386.h: Don't mark empty strings for translation.
5824
1a7289c4
L
58252002-02-16 H.J. Lu <hjl@gnu.org>
5826
5827 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
5828
afb58288
ZW
58292002-02-16 Zack Weinberg <zack@codesourcery.com>
5830
5831 * cppinit.c (merge_include_chains): Check for brack being
5832 NULL before attempting to merge it with qtail.
5833
d2af4dbd
AC
58342002-02-16 Andrew Cagney <ac131313@redhat.com>
5835
5836 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
5837 DBX_DEBUG.
5838
2e1ed1e3
JDA
58392002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
5840
5841 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
5842
604c75b2
JDA
58432002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
5844
5845 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
5846 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
5847 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
5848
1a42b072
RK
5849Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5850
7303604f 5851 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
5852 now only if !TARGET_FIX.
5853 (*movsi_nt_vms_fix): New pattern.
5854
c2ea1ac6
DR
58552002-02-16 Douglas B Rupp <rupp@gnat.com>
5856
5857 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
5858 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
5859 (alpha_sa_mask, alpha_sa_size): Reflect above change.
5860 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
5861 (alpha_start_function, alpha_expand_epilogue): Likewise.
5862 (unicosmk_gen_dsib): Likewise.
5863
725e58b1
RK
5864Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5865
5866 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
5867
13e58269
UW
58682002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
5869
c410d49e 5870 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
5871 check_and_change_labels, s390_final_chunkify): Delete.
5872 (s390_split_branches, s390_chunkify_pool): New functions.
5873 (s390_function_prologue): Call them.
c410d49e 5874
13e58269
UW
5875 * config/s390/s390.h (S390_REL_MAX): Delete.
5876 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
5877
c410d49e 5878 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
5879 attribute calculation.
5880
5881
34d1b01d
DE
58822002-02-15 David Edelsohn <edelsohn@gnu.org>
5883
5884 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
5885 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
5886
be5cc51a
JDA
58872002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
5888
5889 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
5890 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
5891 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
5892
ee96ce90
RS
58932002-02-15 Richard Sandiford <rsandifo@redhat.com>
5894
5895 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
5896
05fa709d
RS
58972002-02-15 Richard Sandiford <rsandifo@redhat.com>
5898
5899 * reload.c (find_dummy_reload): Check that an output register
5900 is valid for its mode.
5901
4606272b
AO
59022002-02-14 Alexandre Oliva <aoliva@redhat.com>
5903
9a360704
AO
5904 * combine.c (known_cond): After replacing the REG of a SUBREG, try
5905 to simplify it.
5906
4606272b
AO
5907 * function.c (assign_parms): Demote promoted argument passed by
5908 transparent reference.
5909
e62d89a1
JS
59102001-02-14 Joel Sherrill <joel@OARcorp.com>
5911
5912 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
5913 -Acpu() and -Amachine() to eliminate warnings.
5914
6c4cf695
UW
59152002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
5916
5917 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
5918
037f11ef
KH
59192002-02-14 Kazu Hirata <kazu@hxi.com>
5920
5921 * config/h8300/h8300-protos.h: Update the prototype for
5922 const_costs.
5923 * config/h8300/h8300.c (const_costs): Treat SET as a little
5924 more expensive operation.
5925 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
5926 reference to const_costs.
5927
fdc76b09
HPN
59282002-02-14 Hans-Peter Nilsson <hp@axis.com>
5929
5930 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
5931
d76e6800
JJ
59322002-02-14 Jakub Jelinek <jakub@redhat.com>
5933
5934 PR c/5503:
5935 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
5936 use arguments from newtype.
5937
5ae590d7
EC
59382002-02-13 Eric Christopher <echristo@redhat.com>
5939
5940 * config/mips/mips.c (override_options): Add check for march/mipsX
5941 on the same command line. Fix error message in cpu processing.
5942 Remove architecture and ISA checks.
5943
b8513691
AH
59442002-02-14 Aldy Hernandez <aldyh@redhat.com>
5945
831c4e87 5946 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 5947
831c4e87 5948 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 5949
78c875e8
AH
59502002-02-14 Aldy Hernandez <aldyh@redhat.com>
5951
831c4e87
KC
5952 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
5953 alternatives.
5954 ("*movv8hi_internal1"): Same.
5955 ("*movv16qi_internal1"): Same.
5956 ("*movv4sf_internal1"): Same.
78c875e8 5957
831c4e87
KC
5958 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
5959 not push_reload for altivec modes.
78c875e8 5960
d76e6800 59612002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
5962
5963 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
5964 all RTEMS targets including removal of #includes from config/*/rtems*.h
5965 file and adding them to tm_file setting. Added xm_defines=POSIX to
5966 many targets.
5967 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
5968 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
5969 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
5970 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
5971 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
5972 config/m68k/rtemself.h: Ditto.
5973 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
5974 config/mips/rtems64.h: Ditto.
5975 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
5976 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
5977 Ditto.
5978 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
5979 config/sparc/rtemself.h: Ditto.
5980 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
5981 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
5982 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
5983 more like arm-elf.
5984 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
5985 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
5986 target made more similar to i386-elf.
5987 * config/i386/t-rtems-i386: Added soft float support and multilibs.
5988 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
5989 be similar to config/m68k/t-m68kelf.
5990 * gthr-rtems.h: Encapsulate with extern "C" for C++.
5991
8686336f
JH
5992Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
5993
5994 * regmove.c (kill_value): Handle subregs.
5995
558740bf
JH
5996Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
5997
5998 * i386.md (mul patterns): Allow memory operand to be first;
5999 add expanders where needed; fix constraints.
6000 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
6001 Allow memory operand to be the first.
6002
6003 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
6004 operands.
6005
21117a17
JJ
60062002-02-13 Jakub Jelinek <jakub@redhat.com>
6007
6008 PR c/5681:
6009 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
6010 GET_MODE (x).
6011
ec65b2e3
JJ
60122002-02-13 Jakub Jelinek <jakub@redhat.com>
6013
6014 PR optimization/5547:
6015 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
6016 all valid IA-32 address modes involving non-scaled %ebx and
6017 GOT/GOTOFF as displacement.
6018
ce50cae8
UW
60192002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
6020
6021 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
6022 after emitting ltorg insns.
6023
6024 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
6025 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
6026 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
6027 *abssf2): Fix "op_type" attribute.
6028
09eb789b
DR
60292002-02-13 Douglas B Rupp <rupp@gnat.com>
6030
2dbe67bb
DR
6031 * mkconfig.sh: Avoid using a subshell redirect.
6032 ($output.T): Change to $(output)T.
6033 (ENABLE_NLS): Remove unneeded undef.
6034
ea5b9a1f
DR
6035 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
6036 * config/alpha/x-vms (libsubdir): Define.
6037
3deb00ce
DR
6038 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
6039 register frame procedures. Optimize retrieving context.
6040
09eb789b
DR
6041 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
6042 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
6043 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
6044
1abade85
RK
6045Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6046
6047 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
6048 Make same change as for find_base_value.
6049
c283e63f
KH
60502002-02-13 Kazu Hirata <kazu@hxi.com>
6051
6052 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
6053 of QImode and SImode.
6054
86039100
KH
60552002-02-13 Kazu Hirata <kazu@hxi.com>
6056
6057 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
6058 length computation of movsi.
6059 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
6060
e1429da0
KH
60612002-02-13 Kazu Hirata <kazu@hxi.com>
6062
6063 * config/h8300/h8300.md (subqi3): Tighten the predicate for
6064 operands[2] to register_operand.
6065
aebfea10
JH
6066Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
6067
6068 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
6069
0ec4e2a8
AH
60702002-02-12 Aldy Hernandez <aldyh@redhat.com>
6071
831c4e87
KC
6072 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
6073 for altivec_lvx* and altivec_stvx*.
6074 ("*movv4si_internal"): Add constraint for loading from GPRs.
6075 ("*movv8hi_internal1"): Same.
6076 ("*movv16qi_internal1"): Same.
6077 ("*movv4sf_internal1"): Same.
0ec4e2a8 6078
831c4e87 6079 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 6080
831c4e87
KC
6081 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
6082 altivec_register_operand.
0ec4e2a8 6083
b007569d
HPN
60842002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
6085
6086 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
6087 handle SYMBOL_REF.
6088
e6834654
SS
60892002-02-13 Stan Shebs <shebs@apple.com>
6090
831c4e87
KC
6091 * c-typeck.c (digest_init): Handle vectors.
6092 (really_start_incremental_init): Same.
6093 (pop_init_level): Same.
6094 (process_init_element): Same.
e6834654 6095
831c4e87 6096 * varasm.c (output_constant): Same.
e6834654 6097
831c4e87
KC
6098 * expr.c (clear_storage): Same.
6099 (store_constructor): Same.
e6834654 6100
d9b3eb63
EC
61012002-02-12 Eric Christopher <echristo@redhat.com>
6102
6103 * explow.c (hard_function_value): Add comment explaining
6104 signed/unsigned comparison.
6105
56d44285
JJ
61062002-02-12 Jakub Jelinek <jakub@redhat.com>
6107
6108 * jump.c (never_reached_warning): Add finish argument.
6109 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
6110 real insn after end.
6111 * rtl.h (never_reached_warning): Adjust prototype.
6112 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
6113 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
6114 never_reached_warning.
6115
fc209487
GS
61162002-02-12 Graham Stott <grahams@redhat.com>
6117
6118 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
6119
1e41e866
KH
61202002-02-12 Kazu Hirata <kazu@hxi.com>
6121
6122 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
6123 logical shifts on H8/300.
6124 (shift_alg_si): Improve several shifts on H8/300.
6125 (get_shift_alg): Likewise.
6126
a36a47ad
GS
61272002-02-12 Graham Stott <grahams@redhat.com>
6128
6129 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
6130
0aacc8ed
RK
6131Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6132
6133 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
6134 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
6135
a02ac966
HPN
61362002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
6137
6138 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
6139 non-CONST_INT through default_assemble_integer.
6140 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
6141 <case 8>: Abort for CONST_DOUBLE.
6142
d6e06ddc
JDA
61432002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
6144
6145 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
6146 is specified.
6147 * config/pa/pa-linux.h (LIB_SPEC): Delete.
6148 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
6149
515342a8
AH
61502002-02-11 Andrew Haley <aph@cambridge.redhat.com>
6151
6152 * config/stormy16/stormy16.md (zero_extendqihi2): New.
6153
cddd8b72
AO
61542002-02-11 Alexandre Oliva <aoliva@redhat.com>
6155
66df7a98
AO
6156 * regrename.c (regrename_optimize): Don't accept a
6157 part-clobbered register if the replaced register is not part
6158 clobbered.
6159
841404cd
AO
6160 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
6161 take padding into account when computing the argument value.
6162
1d1ade42
AO
6163 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
6164
cddd8b72
AO
6165 * combine.c (try_combine): Apply substitutions in
6166 CALL_INSN_FUNCTION_USAGE too.
6167
5c665b88
AH
61682002-02-11 Aldy Hernandez <aldyh@redhat.com>
6169
77f6c1eb
RS
6170 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
6171 __builtin_altivec_abs*.
6172 (bdesc_abs): New.
5c665b88 6173
77f6c1eb
RS
6174 * config/rs6000/rs6000.h (rs6000_builtins): Add
6175 ALTIVEC_BUILTIN_ABS*.
5c665b88 6176
77f6c1eb
RS
6177 * config/rs6000/altivec.h: Use const char for builtins expecting
6178 literals.
6179 (vec_abs): New versions for C and C++.
6180 (vec_abss): Same.
5c665b88 6181
3494f1b4
KH
61822002-02-10 Kazu Hirata <kazu@hxi.com>
6183
6184 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
6185 using Pmode.
6186
72431aef
KH
61872002-02-10 Kazu Hirata <kazu@hxi.com>
6188
6189 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
6190 constant definition from h8300.md.
6191 (FRAME_POINTER_REGNUM): Likewise.
6192 * config/h8300/h8300.md (define_constants): Add FP_REG.
6193
87e4ee91
KH
61942002-02-10 Kazu Hirata <kazu@hxi.com>
6195
6196 * config/h8300/h8300.c (print_operand): Remove redundant code.
6197
9c188705
KH
61982002-02-10 Kazu Hirata <kazu@hxi.com>
6199
6200 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
6201 * config/h8300/h8300.c (byte_reg): Make it static.
6202
fba78abb
RH
62032002-02-10 Richard Henderson <rth@redhat.com>
6204
6205 PR c/5623
6206 * c-typeck.c (incomplete_type_error): Handle flexible array members.
6207
65739e62
RH
62082002-02-10 Richard Henderson <rth@redhat.com>
6209
6210 PR c++/5624
6211 * tree.c (append_random_chars): Don't abort if main_input_filename
6212 does not exist.
6213
247cb9df
HPN
62142002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
6215
6216 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
6217
232bd029
KH
62182002-02-10 Kazu Hirata <kazu@hxi.com>
6219
65739e62 6220 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
6221 (pushhi1): Likewise.
6222
276ef573
JDA
62232002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
6224
6225 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
6226 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
6227
617e9ee5
DB
62282002-02-09 David O'Brien <obrien@FreeBSD.org>
6229
6230 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
6231 remove MASK_VIS.
6232 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
6233
6dfa4005
KH
62342002-02-09 Kazu Hirata <kazu@hxi.com>
6235
6236 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
6237 a half of an SImode register on H8/300.
6238
749e7b80
JH
6239Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
6240
6241 * i386.md (movdi_2): Add missing '!'.
6242
ca77d87c
KH
62432002-02-09 Kazu Hirata <kazu@hxi.com>
6244
6245 * config/h8300/h8300.h: Fix formatting. Remove commented-out
6246 definitions.
6247
16c96304
KH
62482002-02-09 Kazu Hirata <kazu@hxi.com>
6249
6250 * config/h8300/h8300.md (length): Correct the distance valid
6251 for the short branch.
6252
a364bc90
KH
62532002-02-09 Kazu Hirata <kazu@hxi.com>
6254
6255 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
6256
e4ec2cac
AO
62572002-02-09 Alexandre Oliva <aoliva@redhat.com>
6258
a138247b
AO
6259 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
6260 registers in SImode.
6261 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
6262 part-clobbered.
6263
2b1fd83f
AO
6264 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
6265 patch.
d9b3eb63 6266
fa5322fa
AO
6267 Contribute sh64-elf.
6268 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
6269 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
6270 (sh_cannot_modify_jumps_p): New function.
6271 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
6272 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
6273 (sh_ms_bitfield_layout_p): New function.
6274 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
6275 Zack Weinberg <zack@codesourcery.com>
6276 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
6277 expand_simple_binop instead of expand_binop.
6278 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
6279 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
6280 use of .quad and .uaquad.
6281 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
6282 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
6283 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
6284 * config/sh/sh.md (movdi_const, movdi_const_32bit,
6285 movdi_const_16bit): Make sure all CONSTs have modes.
6286 (sym2PIC): Ditto, but by adjusting all callers.
6287 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
6288 if the prologue calls the SHmedia argument decoder or register
6289 saver.
6290 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
6291 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
6292 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
6293 (sh_expand_epilogue): Don't emit USE of return target register.
6294 (prepare_move_operands): Legitimize DImode PIC addresses.
6295 (sh_media_register_for_return): Skip tr0, used to initialize the
6296 PIC register.
6297 (sh_expand_prologue): Remove explicit USE of return register.
6298 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
6299 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
6300 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
6301 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
6302 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
6303 EXTRA_CONSTRAINT_T.
6304 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
6305 (MOVI_SHORI_BASE_OPERAND_P): New.
6306 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
6307 (EXTRA_CONSTRAINT_T): Define in terms of them.
6308 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
6309 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
6310 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
6311 alternatives supporting TARGET_REGS.
6312 (UNSPEC_GOTPLT): New constant.
6313 (movdi split): Move incrementing of LABEL_NUSES...
6314 (movdi_const, movdi_const_32bit): Here. Use
6315 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
6316 (movdi_const_16bit): New.
6317 (call, call_value) [flag_pic]: Use GOTPLT.
6318 (call_pop, call_value_pop): New expands.
6319 (call_pop_compact, call_pop_rettramp): New insns.
6320 (call_value_pop_compact, call_value_pop_rettramp): New insns.
6321 (sibcall) [flag_pic]: Use GOT.
6322 (builtint_setjmp_receiver): Remove bogus, unused expand.
6323 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
6324 (*pt, *ptb, ptrel): New insns.
6325 (sym2GOT): Handle DImode GOT.
6326 (sym2GOTPLT, symGOTPLT2reg): New expands.
6327 (sym2PIC): New expand.
6328 (shcompact_return_tramp): Use GOTPLT to return trampoline.
6329 (shcompact_return_tramp_i): Use return register explicitly.
6330 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
6331 disable flag_reorder_blocks.
6332 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
6333 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
6334 clobbers, for clarity.
6335 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
6336 restoring of r0 in macl as MAYBE_DEAD.
6337 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
6338 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
6339 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
6340 alter_subreg all over.
6341 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
6342 reload, instead of emitting instructions that would require
6343 reloading.
6344 (casesi_load_media): Add missing modes.
6345 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
6346 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
6347 as used if the argument decoder is called.
6348 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
6349 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
6350 Pmode, then extend it to DImode if necessary.
6351 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
6352 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
6353 constants in FPU-enabled SHmedia, let them be loaded from memory.
6354 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
6355 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
6356 Adjust whitespace in assembly output templates.
6357 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
6358 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
6359 mode of if_then_else.
6360 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
6361 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
6362 sh.h.
6363 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
6364 Joern Rennecke <amylaar@redhat.com>
6365 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
6366 (SUBTARGET_CPP_PTR_SPEC): New.
6367 (SUBTARGET_CPP_SPEC): Remove.
6368 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
6369 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
6370 Fix typo in previous checkin.
6371 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
6372 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
6373 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
6374 Alexandre Oliva <aoliva@redhat.com>
6375 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
6376 what single FP register can hold for SHmedia target.
6377 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
6378 Alexandre Oliva <aoliva@redhat.com>
6379 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
6380 Do not split into SUBREG.
6381 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
6382 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
6383 and added new functions as specified in SH5 ABI r9.
6384 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
6385 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
6386 8-byte boundary.
6387 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
6388 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
6389 gen_consttable_4 and gen_consttable_8. Emit multiple labels
6390 and consttable_window_ends.
6391 2001-06-03 Graham Stott <grahams@redhat,com>
6392 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
6393 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
6394 * config/sh/sh.c (print_operand): Handle floating-point pair,
6395 vector and matrix registers.
6396 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
6397 vector modes into account.
6398 * config/sh/sh.md (movv2sf): Split move between registers into
6399 movdf.
6400 (movv4sf, movv16sf): Introduce insns that get split only after
6401 reload.
6402 * config/sh/shmedia.h: Fix Copyright dates.
6403 * config/sh/ushmedia.h: Likewise. Move loop counter
6404 declarations into conditionals that uses them.
6405 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
6406 loop boundary.
6407 * config/sh/sshmedia.h: Fix Copyright dates.
6408 (sh_media_PUTCFG): Fix constraints.
6409 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
6410 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
6411 ptrmemfunc_vbit_in_delta for SH5.
6412 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
6413 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
6414 * invoke.texi: Likewise.
6415 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
6416 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
6417 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
6418 GCC_pop_shmedia_regs_nofpu): New global symbols.
6419 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
6420 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
6421 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
6422 compact function with nonlocal labels.
6423 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
6424 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
6425 (initial_elimination_offset): Account for their stack space.
6426 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
6427 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
6428 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
6429 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
6430 least one of the operands to be a register.
6431 (movv2sf): Likewise. Renamed to movv2sf_i.
6432 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
6433 prepare_move_operands() before emitting SHmedia insns.
6434 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
6435 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
6436 Don't save nor initialize r12. Don't mis-align the stack.
6437 Pad the code with a nop.
6438 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
6439 stack.
6440 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
6441 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
6442 [__SHMEDIA__]: Implement.
6443 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
6444 * config/sh/sh.md: Set latency of `pt' closer to reality.
6445 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
6446 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
6447 Set move, load and store type attributes.
6448 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
6449 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
6450 profiling.
6451 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
6452 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
6453 * config/sh/sh.c (sh_media_register_for_return): New function.
6454 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
6455 branch-target register.
6456 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
6457 * config/sh/sh.md (return_media_i): Use any call-clobbered
6458 branch-target register.
6459 (return_media): If r18 wasn't copied in the prologue, copy it
6460 here.
6461 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
6462 Clear class FP0_REGS.
6463 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
6464 from elf.h.
6465 2001-03-08 DJ Delorie <dj@redhat.com>
6466 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
6467 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
6468 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
6469 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
6470 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
6471 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
6472 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
6473 return value correctly for call_cookie.
6474 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
6475 * config/sh/crt1.asm (start): Modified so as to call
6476 ___setup_argv_and_call_main.
6477 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
6478 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
6479 SHmedia mode.
6480 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
6481 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
6482 (STRIP_NAME_ENCODING): Use it.
6483 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
6484 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
6485 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
6486 prepare_scc_operands().
6487 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
6488 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
6489 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
6490 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
6491 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
6492 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
6493 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
6494 used in shcompact_incoming_args.
6495 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
6496 change.
6497 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
6498 mode.
6499 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
6500 Adjust accordingly.
6501 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
6502 Simplify. Adjust. Add sanity check.
6503 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
6504 FPU_SINGLE_BIT.
6505 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
6506 TARGET_SHCOMPACT.
6507 (udivsi3, divsi3): Use them.
6508 (force_mode_for_call): New insn.
6509 (call, call_value, sibcall_value): Emit it before SHcompact
6510 calls.
6511 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
6512 * config/sh/sh.md (call, call_value, sibcall): Make sure the
6513 call cookie is non-NULL before taking its value.
6514 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
6515 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
6516 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
6517 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
6518 block.
6519 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
6520 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
6521 temporary for stack adjusts. Use MACL and MACH to pass
6522 arguments to shcompact_incoming_args.
6523 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
6524 clobber r1.
6525 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
6526 (nested_trampoline): Load static chain address into r1.
6527 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
6528 2001-01-07 Alexandre Oliva <aoliva@redhat.com
6529 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
6530 fp_arith_reg_operand().
6531 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
6532 * config/sh/sh.md (casesi): Sign-extend the first two operands,
6533 and use signed compares for them.
6534 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
6535 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
6536 ones properly aligned.
6537 (find_barrier): Account for extra alignment needed for 8-byte wide
6538 constants.
6539 (machine_dependent_reorg): Require a label for the second 4-byte
6540 constant after an 8-byte one.
6541 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
6542 change.
6543 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
6544 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
6545 last_float when switching float modes.
6546 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
6547 auto-increment for general-purpose registers.
6548 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
6549 result.
6550 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
6551 for stack adjust.
6552 * config/sh/sh.c (sh_builtin_saveregs): Support using all
6553 registers for varargs.
6554 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
6555 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
6556 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
6557 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
6558 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
6559 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
6560 call_cookie accordingly.
6561 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
6562 (SHCOMPACT_BYREF): Likewise.
6563 (SHCOMPACT_FORCE_ON_STACK): New macro.
6564 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
6565 (sh_builtin_saveregs): Likewise.
6566 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
6567 shcompact_incoming_args): Use new shift values. Support
6568 sequences of consecutive and non-consecutive pushes/pops.
6569 * config/sh/sh.md (return): Don't explicitly use PR_REG.
6570 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
6571 * config/sh/sh.h (TEXT_SECTION): Define.
6572 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
6573 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
6574 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
6575 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
6576 return values on FPU-enabled SHmedia.
6577 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
6578 FPU-enabled SHmedia.
6579 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
6580 value is returned in a non-FP reg and is not returned by
6581 reference.
6582 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
6583 jump_ind.
6584 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
6585 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
6586 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
6587 quad-aligned to be passed by callee-copy reference.
6588 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
6589 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
6590 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
6591 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
6592 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
6593 copying low-numbered FP regs to r7 and r8.
6594 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
6595 FP regs to general-purpose regs only if the copy was passed on the
6596 stack.
6597 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
6598 copying FP reg to r9.
6599 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
6600 copy FP regs to general-purpose regs only in outgoing calls.
6601 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 6602 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
6603 HOST_WIDE_INT.
6604 * config/sh/sh.h (struct sh_args): Document all fields.
6605 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
6606 passed partially on the stack should not consider making
6607 sibcalls.
6608 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
6609 stack_regs only for incoming calls. When passing FP args,
6610 make sure there are FP regs available before modifying
6611 call_cookie.
6612 (SHCOMPACT_BYREF): Pass double args in general-purpose
6613 registers by reference.
6614 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
6615 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
6616 attempt to generate sibcalls if the caller got any arguments
6617 by reference.
6618 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
6619 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
6620 to 8-byte boundaries.
6621 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
6622 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
6623 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
6624 stored in the stack.
6625 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
6626 for the offsets to have the ISA bit set.
6627 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
6628 invocation. Use beq instead of bgt to mark end of sequence of
6629 loads.
6630 (shcompact_incoming_args): Fix store of r2. Use beq instead of
6631 bgt to mark end of sequence of stores.
6632 * config/sh/sh.c (arith_operand): Don't check whether
6633 CONST_OK_FOR_J for now.
6634 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
6635 instead of long for conversion.
6636 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
6637 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
6638 before passing it to fprintf.
6639 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
6640 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
6641 Call set_fpscr before reading/writing SR.
6642 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
6643 Call set_fpscr.
6644 * config/sh/lib1funcs.asm: Add `.align 2' directives before
6645 SHmedia code.
6646 (FMOVD_WORKS): Define on SH5 with FPU.
6647 (set_fpscr): Define on SH5. Remove separate _fpscr_values
6648 setting.
6649 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
6650 _fpscr_values.
6651 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
6652 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
6653 address.
6654 (ia_main_table): Ditto.
6655 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
6656 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
6657 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
6658 the definitions from sh.h.
6659 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
6660 TARGET_SH5.
6661 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
6662 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
6663 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
6664 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
6665 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
6666 Increment LABEL_NUSES.
d9b3eb63 6667
fa5322fa
AO
6668 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
6669 TARGET_SH5.
6670 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
6671 defined.
6672 * config/sh/elf.h (SIZE_TYPE): Likewise.
6673 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
6674 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
6675 shcompact_incoming_args): Load switch table addresses using
6676 datalabel.
6677 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
6678 (NO_BUILTIN_SIZE_TYPE): Define.
6679 (SIZE_TYPE): Don't define.
6680 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
6681 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
6682 definition of __SH5__=32 for -m5-compact-nofpu.
6683 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
6684 ADDR_DIFF_VEC.
6685 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
6686 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
6687 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
6688 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
6689 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
6690 (INSN_LENGTH_ALIGNMENT): Likewise.
6691 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
6692 * config/sh/sh.md (call, call_value, sibcall): Simplify
6693 copying of non-branch-target register.
6694 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 6695 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
6696 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
6697 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
6698 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
6699 floating-point values as structs.
6700 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
6701 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
6702 general-purpose register.
6703 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
6704 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
6705 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
6706 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
6707 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
6708 (ENCODE_SECTION_INFO): Enclose variables and constants in
6709 DATALABEL unspecs.
6710 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
6711 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
6712 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
6713 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
6714 only for LABEL_REFs. For SYMBOL_REFs, prepend
6715 SH_DATALABEL_ENCODING to the symbol name.
6716 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
6717 convert_mode().
6718 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
6719 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
6720 UNSPEC_DATALABEL.
6721 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
6722 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
6723 (DATALABEL_REF_P): Don't require CONST.
6724 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
6725 REL label.
6726 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
6727 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
6728 right.
6729 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
6730 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
6731 Use shallow_copy_rtx and PUT_MODE to change the mode of
6732 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
6733 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
6734 on SHmedia using GENERAL_REGs.
6735 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
6736 bltu_media_i): Fix reversion of conditions.
6737 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
6738 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
6739 * config/sh/sh.c (output_far_jump): Save r13 in macl.
6740 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
6741 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
6742 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
6743 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
6744 (GCC_nested_trampoline): Likewise.
6745 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
6746 * config/sh/sh.c (gen_datalabel_ref): Define.
6747 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
6748 (INITIALIZE_TRAMPOLINE): Likewise.
6749 (TRAMPOLINE_ADJUST_ADDRESS): Define.
6750 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
6751 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
6752 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
6753 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
6754 (ic_invalidate): Adjust for SH5.
6755 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
6756 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
6757 _nested_trampoline.
6758 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
6759 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
6760 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
6761 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
6762 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
6763 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
6764 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
6765 * config/sh/sh.c (target_reg_operand): Match only target-branch
6766 registers and pseudos that aren't virtual registers.
6767 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
6768 Copy operands that don't match target_reg_operand to pseudos.
6769 (call_media, call_value_media, sibcall_media): Use
6770 target_reg_operand instead of target_operand.
6771 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 6772 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
6773 * config/sh/sh.c (target_reg_operand): Match hardware registers
6774 other than branch-target registers.
6775 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
6776 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
6777 (fpscr_values) [SH5 == 32]: Define.
6778 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
6779 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
6780 Handle function addresses coming in SUBREGs.
6781 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
6782 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
6783 shcompact_return_trampoline): Use datalabel where appropriate.
6784 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
6785 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
6786 general-purpose register to copy one branch-target register to
6787 another.
6788 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
6789 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
6790 SYMBOL_REFs with VOIDmode.
6791 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
6792 bltu_media_i): New insns.
6793 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
6794 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
6795 (INIT_CUMULATIVE_ARGS): Likewise.
6796 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
6797 * machmode.def (V16SFmode): New mode.
6798 * c-common.c (type_for_mode): Support V2SF and V16SF.
6799 * tree.c (build_common_tree_nodes_2): Likewise.
6800 * tree.h (tree_index): Likewise.
6801 * calls.c (emit_call_1): Take args_so_far. Adjust all
6802 callers. Introduce CALL_POPS_ARGS.
6803 * tm.texi (CALL_POPS_ARGS): Document.
6804 * config/sh/crt1.asm: Implement in SHmedia mode.
6805 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
6806 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
6807 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
6808 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
6809 Implement divsi and udivsi in SHmedia mode. Introduce
6810 SHcompact trampolines.
6811 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
6812 only in SHmedia64.
6813 (regno_reg_class): Rewrite.
6814 (fp_reg_names): Remove.
6815 (sh_register_names, sh_additional_register_names): New.
6816 (print_operand): Added `u'. Support SUBREGs in addresses.
6817 Add parentheses around shifted CONSTs.
6818 (output_file_start): Output .mode and .abi directives.
6819 (shiftcosts, addsubcosts, multcosts): Adjust.
6820 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
6821 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
6822 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
6823 bytes, not registers. Take into account the need for the
6824 SHcompact incoming args trampoline. Adjust all callers.
6825 (sh_expand_prologue): Take stack_regs into account. Call
6826 incoming args trampoline. Keep stack aligned as per SH5 ABI.
6827 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
6828 stack aligned as per SH5 ABI.
6829 (sh_builtin_saveregs): Support SH5 ABI.
6830 (sh_build_va_list, sh_va_start): Likewise.
6831 (initial_elimination_offset): Take alignment into account.
6832 Compute location of PR according to the SH5 stack frame.
6833 (arith_reg_operand): Reject branch-target registers.
6834 (shmedia_6bit_operand): New.
6835 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
6836 (target_reg_operand): Match DImode only. Accept SUBREGs.
6837 (target_operand): New.
6838 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
6839 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
6840 SIBCALL_REGS for SHmedia.
6841 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
6842 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
6843 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
6844 (TARGET_SWITCHES): New SH5 flags.
6845 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
6846 VALID_REGISTER_P to disable unsupported registers.
6847 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
6848 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
6849 (FUNCTION_ARG_PADDING): Define.
6850 (FASTEST_ALIGNMENT): Adjust.
6851 (SH_REGISTER_NAMES_INITIALIZER): New.
6852 (sh_register_names): Declare.
6853 (DEBUG_REGISTER_NAMES): Define.
6854 (REGISTER_NAMES): Define based on sh_register_names.
6855 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
6856 (sh_additional_register_names): Declare.
6857 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
6858 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
6859 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
6860 (REGISTER_NATURAL_MODE): Define.
6861 (FIRST_PSEUDO_REGISTER): Adjust.
6862 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
6863 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
6864 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
6865 (VECTOR_MODE_SUPPORTED_P): Define.
6866 (REG_CLASS_CONTENTS): Adjust.
6867 (SMALL_REGISTER_CLASSES): Adjust.
6868 (REG_ALLOC_ORDER): Adjust.
6869 (INDEX_REG_CLASS): Adjust.
6870 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
6871 (CONST_OK_FOR_LETTER_P): Adjust.
6872 (PREFERRED_RELOAD_CLASS): Adjust.
6873 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
6874 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
6875 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
6876 (FIRST_FP_PARM_REG): Adjust.
6877 (CALL_POPS_ARGS): Define.
6878 (FUNCTION_ARG_REGNO_P): Adjust.
6879 (struct sh_args): New fields.
6880 (GET_SH_ARG_CLASS): Adjust.
6881 (INIT_CUMULATIVE_ARGS): Adjust.
6882 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
6883 (FUNCTION_ARG_ADVANCE): Adjust.
6884 (FUNCTION_ARG): Adjust.
6885 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
6886 (FUNCTION_ARG_CALLEE_COPIES): Define.
6887 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
6888 (STRICT_ARGUMENT_NAMING): Define.
6889 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
6890 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
6891 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
6892 (SETUP_INCOMING_VARARGS): Adjust.
6893 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
6894 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
6895 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
6896 (SUBREG_OK_FOR_INDEX_P): Adjust.
6897 (EXTRA_CONSTRAINT_S): Update.
6898 (EXTRA_CONSTRAINT_T): New.
6899 (EXTRA_CONSTRAINT): Adjust.
6900 (GO_IF_LEGITIMATE_INDEX): Adjust.
6901 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
6902 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
6903 (MOVE_MAX): Adjust.
6904 (MAX_MOVE_MAX): Define.
6905 (Pmode): Adjust.
6906 (CONST_COSTS): Adjust.
6907 (REGISTER_MOVE_COST): Adjust.
6908 (BRANCH_COST): Adjust.
6909 (TEXT_SECTION_ASM_OP): Adjust.
6910 (DBX_REGISTER_NUMBER): Adjust.
6911 (ASM_OUTPUT_DOUBLE_INT): New.
6912 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
6913 (PREDICATE_CODES): Adjust.
6914 (PROMOTE_MODE): Adjust.
6915 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
6916 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
6917 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
6918 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
6919 (DR0_REG, DR2_REG, DR4_REG): Renumber.
6920 (TR0_REG, TR1_REG, TR2_REG): New.
6921 (XD0_REG): Renumber.
6922 (UNSPEC_COMPACT_ARGS): New.
6923 (type): Added pt and ptabs.
6924 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 6925 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
6926 (pt): New function unit.
6927 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
6928 Add whitespace between operands of SHmedia instructions.
6929 (movdicc): Fix.
6930 (adddi3_media, addsi3_media): Adjust constraints.
6931 (subsi3) [SHmedia]: Force operand 1 into a register.
6932 (udivsi3_i1_media, udivsi3_i4_media): New.
6933 (udivsi3): Support SHmedia.
6934 (divsi3_i1_media, divsi3_i4_media): New.
6935 (divsi3): Support SHmedia.
6936 (anddi3, iordi3, xordi3): Adjust constraints.
6937 (zero_extendhidi2, zero_extendqidi2): New.
6938 (extendsidi2, extendhidi2, extendqidi2): New.
6939 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
6940 (pop_e, pop_fpul, pop_4): Likewise.
6941 (movsi_media): Support FP and BT registers.
6942 (movsi_media_nofpu): New. Adjust splits to DImode.
6943 (lduw, ldub): Renamed to zero_extend* above.
6944 (movqi_media): Fix typo.
6945 (movdi_media): Support FP and BT registers.
6946 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
6947 (movdi_const_32bit): New.
6948 (shori_media): Require immediate operand. Use `u' for output.
6949 (movdf_media, movsf_media): Simplified.
6950 (movdf_media_nofpu, movsf_media_nofpu): New.
6951 (movdf, movsf): Adjust
6952 (movv2sf, movv2sf, movv16sf): New.
6953 (beq_media, beq_media_i): Adjust constraints. Don't use
6954 scratch BT register.
6955 (bne_media, bne_media_i): Likewise.
6956 (bgt_media, bgt_media_i): Likewise.
6957 (bge_media, bge_media_i): Likewise.
6958 (bgtu_media, bgtu_media_i): Likewise.
6959 (bgeu_media, bgeu_media_i): Likewise.
6960 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
6961 bunordered): Emit jump insn. Force operands to registers when
6962 needed.
6963 (jump_media, jump): Simplify.
6964 (call_compact, call_compact_rettramp): New.
6965 (call_value_compact, call_value_compact_rettramp): New.
6966 (call_media, call_value_media): Simplify.
6967 (sibcall_compact, sibcall_media): New.
6968 (call, call_value): Adjust for SHmedia and SHcompact.
6969 (sibcall, sibcall_value, untyped_call): Likewise.
6970 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
6971 (indirect_jump): Adjust for SHmedia.
6972 (casesi_jump_media): New.
6973 (nop): Re-enable for SHmedia.
6974 (call_site): Restrict to SH1.
6975 (casesi): Adjust for SHmedia.
6976 (casesi_shift_media, casesi_load_media): New.
6977 (return): Explicitly use PR register. Call return trampoline
6978 on SHcompact.
6979 (return_i): Explicitly use PR register.
6980 (shcompact_return_tramp, shcompact_return_tramp_i): New.
6981 (return_media): Adjust.
6982 (shcompact_incoming_args): New.
6983 (epilogue): Adjust.
6984 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
6985 (movstrsi): Disable on SH5.
6986 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
6987 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
6988 (subsf3, subsf3_media): Likewise.
6989 (mulsf3, mulsf3_media, mac_media): Likewise.
6990 (divsf3, divsf3_media): Likewise.
6991 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
6992 (floatsisf2, fux_truncsfsi2): Likewise.
6993 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
6994 constraints.
6995 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
6996 (cmpunsf_media, cmpsf): Likewise.
6997 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
6998 (abssf2, abssf2_media): Likewise.
6999 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
7000 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
7001 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
7002 (floatsidf2, fix_truncdfsi2): Likewise.
7003 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
7004 constraints.
7005 (cmpeqdf_media, cmpgtdf_media): Likewise.
7006 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
7007 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
7008 (absdf2, absdf2_media): Likewise.
7009 (extendsfdf2, extendsfdf2_media): Likewise.
7010 (truncsfdf2, truncsfdf2_media): Likewise.
7011 * config/sh/sh64.h: New file.
7012 * config/sh/t-sh64: New file.
7013 * config/sh/shmedia.h: New file.
7014 * config/sh/ushmedia.h: New file.
7015 * config/sh/sshmedia.h: New file.
7016 * configure.in: Added sh64-*-elf.
7017 * configure: Rebuilt.
7018 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
7019 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
7020 (reg_class_from_letter): Use `b' for TARGET_REGS.
7021 (print_operand): Support `%M', `%m', `AND' and
7022 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
7023 (andcosts): Adjust for SHmedia.
7024 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
7025 Likewise.
7026 (target_reg_operand): New function.
7027 * config/sh/sh-protos.h (target_reg_operand): Declare.
7028 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
7029 FP registers on SH5.
7030 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
7031 on SH4.
7032 (TARGET_REGISTER_P): New macro.
7033 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
7034 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
7035 (EXTRA_CONSTRAINT_S): New macro.
7036 (EXTRA_CONSTRAINT): Adjust.
7037 (FLOAT_TYPE_SIZE): Define to 32.
7038 (Pmode): DImode on SHmedia.
7039 (CONST_COSTS): Adjust for SHmedia literals.
7040 (PREDICATE_CODES): Added target_reg_operand.
7041 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
7042 * config/sh/sh.md: Remove all attrs from SHmedia insns.
7043 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
7044 (cmpdi): Accept SHmedia.
7045 (movdicc_false, movdicc_true): New insns.
7046 (movdicc): New expand.
7047 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
7048 no_new_pseudos.
7049 (addsi3_media): Match `S' constraint.
7050 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
7051 (negdi2): Expand for SHmedia.
7052 (one_cmpldi2): New expand.
7053 (zero_extendsidi2): Change from expand to insn.
7054 (extendsidi2): Add constraints.
7055 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
7056 LD/ST address. Fix SI immediate loading split.
7057 (movhi_media, movqi_media, lduw, ldub): New insns.
7058 (movhi, movqi): Accept SHmedia.
7059 (shori_media, movdi_media): Relax input constraints. Split
7060 symbolic constants.
7061 (movdf_media, movsf_media): New insn. New split to movdi.
7062 (movdf, movsf): Match on SHmedia.
7063 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
7064 bgeu_media): New insns and splits. New insns with `_i' suffix.
7065 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
7066 (bunordered): New expand.
7067 (jump_compact): Renamed from `jump'.
7068 (jump_media): New insn.
7069 (jump): New expand.
7070 (call_media, call_value_media): New insns.
7071 (call, call_value): Adjust.
7072 (indirect_jump_compact): Renamed from `indirect_jump'.
7073 (indirect_jump_media): New insn.
7074 (indirect_jump): New expand.
7075 (untyped_call, return): Accept SHmedia.
7076 (return_media): New insn.
7077 (prologue, epilogue, blockage): Accept SHmedia.
7078 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
7079 (sunordered): New expand.
7080 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
7081 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
7082 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
7083 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
7084 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
7085 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
7086 abssf2_media): New insns.
7087 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
7088 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
7089 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
7090 floatdidf2, floatsidf2_media, fix_truncdfdi2,
7091 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
7092 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
7093 absdf2_media): New insns.
7094 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
7095 (extendsfdf2_media, truncdfsf2_media): New insns.
7096 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
7097 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
7098 * config/sh/sh.h (CONST_OK_FOR_J): Document.
7099 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
7100 * config/sh/sh.md (adddi3): New expand.
7101 (adddi3_media, adddi3z_media): New insns.
7102 (adddi3_compact): Renamed from adddi3.
7103 (addsi3_media): Use add.l r63 to add constant zero.
7104 (subdi3): New expand.
7105 (subdi3_media): New insn.
7106 (subdi3_compact): Renamed from subdi3.
7107 (mulsidi3): New expand.
7108 (mulsidi3_media): New insn.
7109 (mulsidi3_compact): Renamed from mulsidi3.
7110 (umulsidi3): New expand.
7111 (umulsidi3_media): New insn.
7112 (umulsidi3_compact): Renamed from umulsidi3.
7113 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
7114 (ashlsi3, ashrsi3, lshrsi3): Use them.
7115 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
7116 (ashldi3, ashrdi3, lshrdi3): Use them.
7117 (zero_extendsidi2): New expand.
7118 (extendsidi2): New insn.
7119 (movsi_media): New insn. Split to movdi to load constants.
7120 (movsi): Enable for shmedia.
7121 (movdi_media): New insn. Use shori_media to load wide constants.
7122 (short_media): New insn.
7123 (movdi): Enable for shmedia.
7124 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
7125 * config/sh/sh.h (CPP_SPEC): Added `m5'.
7126 (SUBTARGET_CPP_SPEC): Added `!m5'.
7127 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
7128 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
7129 to all other SH variants.
7130 (TARGET_DEFAULT): Set to SH1_BIT.
7131 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
7132 (BITS_PER_WORD): Raise to 64 on shmedia.
7133 (MAX_BITS_PER_WORD): Change to 64.
7134 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
7135 (INT_TYPE_SIZE): Keep as 32.
7136 (UNITS_PER_WORD): Raise to 8 on shmedia.
7137 (MIN_UNITS_PER_WORD): Keep as 4.
7138 (POINTER_SIZE): Raise to 64 on shmedia.
7139 (CONST_OK_FOR_J): New macro.
7140 (CONST_OK_FOR_LETTER_P): Use it.
7141 (processor_type): Add PROCESSOR_SH5.
7142 * config/sh/sh.md: Conditionalize all expands, insns and
7143 splits to TARGET_SH1.
7144 (cpu): Added sh5.
7145 (addsi3_compact): Renamed from...
7146 (addsi3): Now an expand.
7147 (addsi3_media, subsi3_media): New insns.
7148 (subsi3): Don't negate constants with SHmedia.
7149
e4ec2cac
AO
7150 * hooks.c: New file.
7151 * hooks.h: New file.
7152 * Makefile.in (HOOKS_H): New.
7153 (TARGET_DEF_H): Added $(HOOKS_H).
7154 (OBJS): Added hooks.o.
7155 (cfgcleanup.o, bb-reorder.o): Added target.h.
7156 (hooks.o): Added dependencies.
7157 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
7158 (TARGET_INITIALIZER): this.
7159 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
7160 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
7161 * bb-reorder.c: Include target.h.
7162 (reorder_basic_blocks): Skip if cannot modify jumps.
7163 * cfgcleanup.c: Include target.h.
7164 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
7165
246a46e0
CD
71662002-02-08 Chris Demetriou <cgd@broadcom.com>
7167
831c4e87
KC
7168 * config/mips/mips.md (casesi_internal, casesi_internal_di):
7169 Protect jump delay slot instructions with .set noreorder and
7170 .set nomacro.
246a46e0
CD
7171
71722002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
7173
7174 * config/mips/mips.md (casesi_internal_di): Calculate
7175 the index into the target offset table correctly.
7176
fdf473ae
RH
71772002-02-08 Richard Henderson <rth@redhat.com>
7178
7179 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
7180 * final.c (output_addr_const): Accept and discard SUBREG.
7181 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
7182 mark them unknown instead.
7183 (simplify_subtraction): Handle RTX_UNKNOWN.
7184 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
7185
c50503ac
DE
71862002-02-08 David Edelsohn <edelsohn@gnu.org>
7187
7188 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
7189
3660d217
RH
71902002-02-08 Richard Henderson <rth@redhat.com>
7191
7192 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
7193
56547299
AJ
71942002-02-08 Andreas Jaeger <aj@suse.de>
7195
7196 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
7197 * config/i386/t-linux64: New file.
7198
1cf537c5
JJ
71992002-02-08 Jakub Jelinek <jakub@redhat.com>
7200
7201 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
7202 * c-parse.in (compstmt): Clear last_expr_type.
7203
5c7f5a5f
RH
72042002-02-07 Richard Henderson <rth@redhat.com>
7205
7206 * loop.c (strength_reduce): Sink final_value when not
7207 eliminating a biv.
7208
b1138bf3
DB
72092002-02-07 David O'Brien <obrien@FreeBSD.org>
7210
7211 * config/sparc/freebsd.h: Fix mismatched spec {.
7212
b6878a45
RH
72132002-02-07 Richard Henderson <rth@redhat.com>
7214
7215 * cfgrtl.c: Include recog.h and insn-config.h.
7216 (keep_with_call_p): Fix general_operand invocation.
7217 * Makefile.in (cfgrtl.o): Update dependencies.
7218
ae19f5ef
KH
72192002-02-07 Kazu Hirata <kazu@hxi.com>
7220
7221 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
7222 comment. Accept HImode only if TARGET_H8300.
7223
b137f9fc
EC
72242002-02-07 Eric Christopher <echristo@redhat.com>
7225
7226 * config/mips/crtn.asm: Cleanup #ifdefs.
7227
72282002-02-07 Eric Christopher <echristo@redhat.com>
7229
7230 * config/mips/crti.asm: Add changes for mips16. mips16 uses
7231 register 7 as RA instead of $31.
7232 * config/mips/crtn.asm: Ditto.
7233 * config/mips/mips.c (mips_move_2words): Add case for
7234 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
7235 (compute_frame_size): Fix typo.
7236 (save_restore_insns): Ditto. Make documentation about using
7237 register $7 as return register more precise.
7238 (mips_expand_epilogue): Fix comment. Add code to work around not
7239 being able to add to the stack pointer directly.
7240 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
7241 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
7242 epilogue.
7243
768070a0
TR
72442002-02-07 Tom Rix <trix@redhat.com>
7245
b137f9fc 7246 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
7247 immediates in ldu and stdu DS opcode field.
7248 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
7249 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
7250 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
7251
225909c3
JS
72522002-02-07 Jeff Sturm <jsturm@one-point.com>
7253
7254 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
7255 offset for stack bias.
7256
15fae023
L
72572002-02-07 H.J. Lu <hjl@gnu.org>
7258
7259 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
7260
fde5badd
UW
72612002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
7262
7263 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
7264
162f023b
JH
7265Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
7266
7267 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
7268 * i386.c (x86_order_regs_for_local_alloc): New global function.
7269 * i386.h (REG_ALLOC_ORDER): CLeanup.
7270 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
7271
9b462c42
RH
72722002-02-07 Richard Henderson <rth@redhat.com>
7273
85aa876c 7274 PR optimization/2463
9b462c42
RH
7275 * alias.c (find_base_value): Recall base values for fixed hard regs.
7276 * loop.c (loop_regs_update): Don't use single_set on non-insns.
7277
06e455a9
AO
72782002-02-07 Alexandre Oliva <aoliva@redhat.com>
7279
7280 * config/mips/mips.md (define_delay) [mips16]: Adjust required
7281 length.
7282
edd1967d
RH
72832002-02-06 Richard Henderson <rth@redhat.com>
7284
7285 PR c/5609
7286 * stmt.c (resolve_operand_name_1): Take more care with mixed
7287 named and unnamed operands.
7288
a2cd028f
JJ
72892002-02-06 Janis Johnson <janis187@us.ibm.com>
7290 Jan Hubicka <jh@suse.cz>
7291
7292 * loop.c (remove_constant_addition): Avoid clobbering a shared
7293 CONST expression.
7294
e8487c04
UW
72952002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
7296
7297 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
7298 * config/s390/t-linux64: New file.
7299 * config/s390/libgcc-glibc.ver: New file.
7300
58d10f89
UW
73012002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
7302
7303 * config/s390/linux64.h: Delete file.
7304 * config/s390/s390x.h: New file.
7305 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
7306 as target header file.
7307 * config/s390/linux.h (TARGET_VERSION): Define depending on
7308 DEFAULT_TARGET_64BIT.
7309 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
7310 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
7311 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
7312 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
7313 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
7314 (EXTRA_SPEC): New define.
7315 * config/s390/s390.h (TARGET_VERSION): Define depending on
7316 DEFAULT_TARGET_64BIT.
7317 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
7318
5ce89b2e
JM
73192002-02-06 Jason Merrill <jason@redhat.com>
7320
7321 * c-decl.c (finish_function): Warn about a non-void function with
7322 no return statement and no abnormal exit.
7323 (current_function_returns_abnormally): New variable.
7324 (start_function): Clear it.
7325 (struct c_language_function): Add returns_abnormally.
7326 (push_c_function_context): Save it.
7327 (pop_c_function_context): Restore it.
7328 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
7329 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
7330 an explicit return type.
7331 * c-tree.h: Declare current_function_returns_abnormally.
7332 (C_FUNCTION_IMPLICIT_INT): New macro.
7333 * c-typeck.c (build_function_call): Set it.
7334 (c_expand_return): Set current_function_returns_value even if the
7335 value is erroneous.
7336
caaf2272
JJ
73372002-02-06 Jakub Jelinek <jakub@redhat.com>
7338
7339 PR c/5420:
7340 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
7341 unsafe for reevaluation.
7342
d5129288
JJ
73432002-02-06 Jakub Jelinek <jakub@redhat.com>
7344
7345 PR c/5482:
7346 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
7347 EXPR_STMT, but COMPOUND_STMT, recurse into it.
7348
7fb75099
RH
73492002-02-06 Richard Henderson <rth@redhat.com>
7350
7351 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
7352 be a general_operand. Dest for function value must be a pseudo.
7353
d3a8b6a6
NC
73542002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
7355
7356 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
7357 as SYMBOL_REFs from the constant pool.
7358
3c1299c5
AO
73592002-02-06 Alexandre Oliva <aoliva@redhat.com>
7360
7361 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
7362 passed by invisible reference.
7363
c2c9f6c9
RH
73642002-02-05 Richard Henderson <rth@redhat.com>
7365
7366 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
7367
a824924d
HPN
73682002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
7369
7370 Implement using "base addresses" in insn operands as default.
7371 * config/mmix/mmix.c (mmix_conditional_register_usage): if
7372 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
7373 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
7374 used to read the rtx value.
7375 (mmix_target_asm_function_epilogue): Fix spacing.
7376 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
7377 (mmix_legitimate_address): Ditto.
7378 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
7379 should be loaded with a GETA insn. Don't allocate needless extra
7380 char for nul termination and fix misleading comment.
7381 (mmix_print_operand_address): Handle constants if
7382 TARGET_BASE_ADDRESSES.
7383 (mmix_output_register_setting): Use base addressing if
7384 TARGET_BASE_ADDRESSES and the number of insns is 3.
7385 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
7386 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
7387 to use R as constraint, add LDA to match s.
7388 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
7389 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
7390 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
7391 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
7392 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
7393 order with other fixed registers.
7394 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
7395 other parameter/call-clobbered registers.
7396 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
7397 -mbase-addresses, -mno-base-addresses.
7398 (MMIX Options): Ditto.
7399
73c342b9
JDA
74002002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
7401
7402 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
7403
ef238c58
AH
74042002-02-06 Aldy Hernandez <aldyh@redhat.com>
7405
831c4e87 7406 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 7407
ad08e60e
JT
74082002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
7409
7410 * config/netbsd.h (WCHAR_TYPE): Define.
7411 (WCHAR_TYPE_SIZE): Ditto.
7412 (WINT_TYPE): Ditto.
7413 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
7414 (WCHAR_UNSIGNED): Ditto.
7415 (WCHAR_TYPE_SIZE): Ditto.
7416 (WINT_TYPE): Ditto.
7417 * config/arm/netbsd.h: Likewise.
7418 * config/i386/netbsd-elf.h: Likewise.
7419 * config/i386/netbsd.h: Likewise.
7420 * config/m68k/netbsd-elf.h: Likewise.
7421 * config/m68k/netbsd.h: Likewise.
7422 * config/ns32k/netbsd.h: Likewise.
7423 * config/sparc/netbsd.h: Likewise.
7424 * config/vax/netbsd.: Likewise.
7425
f913c102
AO
74262002-02-05 Alexandre Oliva <aoliva@redhat.com>
7427
7428 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
7429 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
7430 (TARGET_INITIALIZER): this.
7431 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
7432 (BITFIELD_NBYTES_LIMITED): Markup fix.
7433 * tree.h (default_ms_bitfield_layout_p): Declare.
7434 (record_layout_info): Added prev_field.
7435 * tree.c (default_ms_bitfield_layout_p): New fn.
7436 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
7437 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
7438 * stor-layout.c: Include target.h.
7439 (start_record_layout): Initialize prev_field.
7440 (place_field): Handle MS bit-field layout, and disregard
7441 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
7442 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
7443 * Makefile.in (stor-layout.o): Adjust dependencies.
7444
c13db5d1
JM
74452002-02-05 Jason Merrill <jason@redhat.com>
7446
c13db5d1
JM
7447 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
7448
4505024e
AJ
74492002-02-05 Andreas Jaeger <aj@suse.de>
7450
7451 * crtstuff.c: Fix comments.
7452
794ad79d
RH
74532002-02-05 Richard Henderson <rth@redhat.com>
7454
2e279a9b
RH
7455 PR fortran/3393
7456 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
7457 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
7458
794ad79d
RH
7459 PR fortran/3392
7460 * config/mips/mips.c (function_arg): Handle TImode.
7461 (function_arg_advance): Likewise.
7462
8f909017
AH
74632002-02-05 Aldy Hernandez <aldyh@redhat.com>
7464
c13db5d1
JM
7465 * config/rs6000/altivec.h (vec_step_help): Rename to
7466 __vec_step_help.
8f909017 7467
66daa9e3
AH
74682002-02-05 Aldy Hernandez <aldyh@redhat.com>
7469
c13db5d1 7470 * config/rs6000/altivec.h: Fix typos.
66daa9e3 7471
2696e97b
JT
74722002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
7473
7474 * config/arm/netbsd.h: Correct a comment.
7475
3deb2758
AH
74762002-02-05 Aldy Hernandez <aldyh@redhat.com>
7477
c13db5d1
JM
7478 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
7479 building void typed builtins.
3deb2758 7480
c13db5d1
JM
7481 * config/rs6000/altivec.h (vec_ld*): Fix typos.
7482 (vec_step): Implement for C++.
3deb2758 7483
c13db5d1 7484Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
7485
7486 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
7487
ebbb0a63
RH
74882002-02-04 Richard Henderson <rth@redhat.com>
7489
7490 * combine.c (nonzero_bits): Re-introduce special case for
7491 sp/fp/ap wrt REGNO_POINTER_ALIGN.
7492
ae4b4a02
AH
74932002-02-05 Aldy Hernandez <aldyh@redhat.com>
7494
c13db5d1
JM
7495 * doc/extend.texi: Warn about unsupported usage of altivec
7496 builtins.
ae4b4a02 7497
c13db5d1
JM
7498 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
7499 (altivec_predicate_*): New.
ae4b4a02 7500
c13db5d1
JM
7501 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
7502 Add C++ version of vec_*() functions.
ae4b4a02 7503
c13db5d1
JM
7504 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
7505 (bdesc_2arg): Remove altivec predicates.
7506 (altivec_expand_builtin): Handle predicates.
7507 (altivec_init_builtins): Handle predicates.
7508 (altivec_expand_predicate_builtin): New.
ae4b4a02 7509
f6bcf44c
JDA
75102002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7511
7512 * pa.c (DO_FRAME_NOTES): Move forward.
7513 (store_reg): Revise handling of frame notes.
7514 (load_reg): Likewise.
7515 (set_reg_plus_d): Likewise.
7516 (hppa_expand_prologue): Likewise.
7517 (hppa_expand_epilogue): Likewise.
b137f9fc 7518
703b0080
JDA
75192002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7520
7521 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
7522
6f9fdf4d
JJ
75232002-02-04 Jakub Jelinek <jakub@redhat.com>
7524
7525 PR c/4475, c++/3780:
7526 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
7527 * c-common.h (SWITCH_TYPE): Define.
7528 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
7529 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
7530 Rename spareness variable to sparseness.
7531 (expand_end_case_type): Renamed from expand_end_case, use orig_type
7532 if non-NULL instead of TREE_TYPE (orig_index).
7533 * tree.h (expand_end_case_type): Renamed from expand_end_case.
7534 (expand_end_case): Define using expand_end_case_type.
7535 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
7536 to expand_end_case_type.
7537 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
7538
79109502
JDA
75392002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7540
7541 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
7542 (BIGGEST_ALIGNMENT): Change to 128.
7543
e62a5987
JDA
75442002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7545
7546 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
7547
219f24a4
JDA
75482002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7549
7550 * pa.md (call_internal_reg_64bit): Remove unused variable.
7551
3cb66fd7
NC
75522002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
7553
7554 * config/arm/arm.h (machine_function): Add uses_anonymous_args
7555 field.
831c4e87 7556 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 7557 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
7558 replace uses with cfun->machine->uses_anonymous_args.
7559 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
7560
7561 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
7562 any geenral register.
b137f9fc 7563
5d5603e2 75642001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
7565
7566 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
7567 the entry block.
7568
563c12b0
RH
75692002-02-04 Richard Henderson <rth@redhat.com>
7570
7571 * combine.c (force_to_mode): Remove STACK_BIAS code.
7572 (nonzero_bits): Likewise. Replace sp/fp special case with
7573 REGNO_POINTER_ALIGN.
7574
7575 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
7576 (HARD_FRAME_POINTER_REGNUM): New.
7577 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
7578 (FIXED_REGS, CALL_USED_REGS): Update.
7579 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
7580 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
7581 (HARD_REGNO_NREGS): Update for SFP.
7582 (STACK_POINTER_OFFSET): Include bias here ...
7583 (FIRST_PARM_OFFSET): ... not here.
7584 (STACK_BIAS): Remove.
7585 (INIT_EXPANDERS): New.
7586 (STARTING_FRAME_OFFSET): Do not include bias.
7587 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
7588 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
7589 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
7590 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
7591 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
7592 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
7593 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
7594 (MUST_SAVE_REGISTER): Likewise.
7595 (sparc_flat_function_prologue): Likewise.
7596 (sparc_flat_function_epilogue): Likewise.
7597 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
7598 (sparc_init_modes): SFP is GENERAL_REGS.
7599 (sparc_builtin_saveregs): SFP does not have bias applied.
7600
14691f8d
RH
76012002-02-04 Richard Henderson <rth@redhat.com>
7602
7603 * config/alpha/alpha.c (current_function_is_thunk): Don't check
7604 current_function_is_thunk.
7605 (alpha_sa_mask): Distinguish between current_function_is_thunk
7606 called from ASM_OUTPUT_MI_THUNK and not.
7607 (alpha_does_function_need_gp): Thunks always need gp.
7608 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
7609 (alpha_output_mi_thunk_osf): New.
7610 * config/alpha/alpha-protos.h: Update.
7611 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
7612
af702de8
RS
76132002-02-04 Richard Sandiford <rsandifo@redhat.com>
7614
7615 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
7616 function types, not when they're taken away.
7617
5b1cacd8
JL
7618Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
7619
7620 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
7621 CODE_LABEL and jump table when replacing a table jump with a
7622 simple jump.
7623
f3e9edff
UW
76242002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
7625
7626 * config/s390/s390-protos.h (legitimize_la_operand,
7627 s390_secondary_input_reload_class, s390_plus_operand,
7628 s390_expand_plus_operand): Add prototypes.
7629
7630 config/s390/s390.c (s390_secondary_input_reload_class,
7631 s390_plus_operand, s390_expand_plus_operand): New functions.
7632
7633 (struct s390_address): New member 'pointer'.
7634 (s390_decompose_address): Compute it.
7635 (legitimate_la_operand_p): Use it.
7636 (legitimize_la_operand): New function.
7637 (movti, movdi, movdf splitters): Call it.
7638
7639 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
7640 (PREDICATE_CODES): Add s390_plus_operand.
7641
7642 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
7643 (la_ccclobber): Allow GENERAL_REGS as output operand.
7644
7645 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
7646 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
7647 (*la_64, *la_31, reload_indi, reload_insi): ... these.
7648
3c9a08ec
UW
76492002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
7650
7651 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
7652 register names for regular asm () construct.
7653
ac300a45
JJ
76542002-02-04 Jakub Jelinek <jakub@redhat.com>
7655
7656 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
7657 registers.
7658
fa852403
JJ
76592002-02-04 Jakub Jelinek <jakub@redhat.com>
7660
7661 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
7662 pat for recog.
7663
fecaac37
HP
76642002-02-04 Hartmut Penner <hpenner@de.ibm.com>
7665
831c4e87
KC
7666 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
7667 constant pool to be identical by string address and index.
fecaac37 7668
10c45943
AG
76692002-02-04 Anthony Green <green@redhat.com>
7670
7671 * output.h (SECTION_OVERRIDE): Define.
7672 * varasm.c (named_section): Obey SECTION_OVERRIDE.
7673
69474c3c
JT
76742002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
7675
7676 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
7677 by existing arm*-*-netbsd* (a.out) target.
7678 (ns32k-*-netbsdelf*): Likewise.
7679 (sparc-*-netbsdelf*): Likewise.
7680 (vax-*-netbsdelf*): Likewise.
7681
939a46f6 76822002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
7683
7684 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
7685 headers and libobjc headers.
7686
76872002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
7688
7689 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
7690 (_mingw.h): Remove duplicate include.
7691
2fd95d71
JT
76922002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
7693
7694 * config.gcc: Set cpu_type to m68k for 68010, as well.
7695 (m68010-*-netbsdelf*): New...
7696 (m68k*-*-netbsdelf*): ...targets.
7697 * config/m68k/netbsd-elf.h: New file.
7698
0ea6f6a0
KH
76992002-02-02 Kazu Hirata <kazu@hxi.com>
7700
7701 * config/h8300/h8300.c (hand_list): Move inside function_arg.
7702
cbf1b2da
KH
77032002-02-02 Kazu Hirata <kazu@hxi.com>
7704
7705 * config/h8300/h8300.c (h8_push_ops): Move inside
7706 h8300_init_once.
7707 (h8_pop_ops): Likewise.
7708 (h8_move_ops): Likewise.
7709
0869f126
KH
77102002-02-02 Kazu Hirata <kazu@hxi.com>
7711
7712 * config/h8300/h8300.c (os_task): Make it static.
7713 (monitor): Likewise.
7714 (pragma_saveall): Likewise.
7715
90e65b70
AO
77162002-02-02 Alexandre Oliva <aoliva@redhat.com>
7717
7718 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
7719 constant is a valid sign-extension for Pmode.
7720
9cbcd983
KH
77212002-02-02 Kazu Hirata <kazu@hxi.com>
7722
7723 * config/h8300/h8300.c: Fix formatting.
7724
7a27efc4
KH
77252002-02-02 Kazu Hirata <kazu@hxi.com>
7726
7727 * config/h8300/h8300.md: Fix formatting.
7728
54175a44
KH
77292002-02-02 Kazu Hirata <kazu@hxi.com>
7730
7731 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
7732 predicates of operands[1]. Split the patterns for each
7733 processor variant.
7734
eceb1755
KH
77352002-02-02 Kazu Hirata <kazu@hxi.com>
7736
7737 * config/h8300/h8300.md (xor patterns): Tighten the predicates
7738 of operands[1] to register_operand.
7739
0fef3fd0
NB
77402002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
7741
7742 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
7743 * cpphash.c (_cpp_init_hashtable): Similarly.
7744 * cppinit.c (cpp_create_reader): Default the signed_char flag.
7745 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
7746 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
7747 (cpp_handle_option): Handle the new options.
7748 * cpplex.c (cpp_interpret_charconst): Use new flag.
7749 * cpplib.h (struct cpp_options): New member signed_char.
7750 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
7751 (cpp_options): Handle -fsigned-char and -funsigned-char.
7752 (static_specs): Remove signed_char_spec.
7753 (do_spec1): Don't handle %c.
7754 * system.h: Poison SIGNED_CHAR_SPEC.
7755 * tradcif.y (yylex): Use flag_signed_char.
7756 * tradcpp.h (flag_signed_char): New.
7757 * tradcpp.c (flag_signed_char): New.
7758 (main): Handle new command-line options.
7759 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
7760config:
7761 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
7762 * avr/avr.h: Remove old comments.
7763 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
7764 (CC1_SPEC): Pass -fsigned-char if -mic*.
7765 (SIGNED_CHAR_SPEC): Remove.
7766doc:
7767 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
7768
0617ed52
EC
77692002-02-01 Eric Christopher <echristo@redhat.com>
7770
7771 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
7772 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
7773 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
7774 (ASM_OUTPUT_REG_POP): Ditto.
7775
dfd48d76
NB
77762002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
7777
7778 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
7779 patch.
7780
4a23409e
JJ
77812002-02-02 Jakub Jelinek <jakub@redhat.com>
7782
7783 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
7784
d3c52658
JJ
77852002-02-02 Jakub Jelinek <jakub@redhat.com>
7786
7787 PR c/5304:
7788 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
7789 unconditionally.
7790
02c5a3bd
JJ
77912002-02-01 Janis Johnson <janis187@us.ibm.com>
7792
7793 * cfganal.c: Include tm_p.h.
7794 (keep_with_call_p): Fix the test that determines if a register holds
7795 the return value of a call.
7796
3968de80
DD
77972002-02-01 DJ Delorie <dj@redhat.com>
7798
7799 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
7800 we are given conflicting registers, switch to the other one we
7801 had allocated for us.
7802 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
7803 as TImode so we know when the "other" register is available.
7804
1338ea6c
DB
78052002-02-01 David O'Brien <obrien@FreeBSD.org>
7806
7807 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
7808 sparc/sparc_bi.h.
7809
f015be23
JJ
78102002-02-01 Janis Johnson <janis187@us.ibm.com>
7811
7812 * cfganal.c (keep_with_call_p): New function.
7813 (flow_call_edges_add): Prevent splitting a block between a call and
7814 a single-set instruction that should be kept in the same block.
7815
63708ffc
CR
78162002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
7817
7818 * doc/install.texi (avr): Update outdated URL.
7819
5ee4950e
AH
78202002-01-30 Andrew Haley <aph@cambridge.redhat.com>
7821
831c4e87
KC
7822 * config/stormy16/stormy16.md (pushqi): New.
7823 (popqi): New.
7824 (pushhi): New.
7825 (pophi): New.
7826 (movhi): Remove stack operands.
7827 (movqi): Likewise.
7828 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
7829 nonimmediate_nonstack_operand.
7830 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
7831 New.
7832 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
7833 New.
5ee4950e 7834
b88c0704
JM
78352002-01-31 Jason Merrill <jason@redhat.com>
7836
7837 * Makefile.in (c-parse.c): Handle .output file.
7838 * objc/Make-lang.in (objc-parse.c): Likewise.
7839
ac282977
AO
78402002-02-01 Alexandre Oliva <aoliva@redhat.com>
7841
7842 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
7843 the -me[lb] option is given. Don't output the default flag
7844 twice.
7845
bebc7e8b
ZW
78462002-01-31 Zack Weinberg <zack@codesourcery.com>
7847
7848 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
7849 the primary source file; this has not been done yet.
7850 * c-decl.c (c_expand_body): Reset input_filename from
7851 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
7852
5809eb5f
KH
78532002-01-31 Kazu Hirata <kazu@hxi.com>
7854
7855 * rtlanal.c (subreg_regno_offset): Do not use
7856 SUBREG_REGNO_OFFSET.
7857 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
7858 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
7859
8512bbd7
JM
78602002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
7861
7862 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
7863 version rather than GNATS version in --version output.
7864
74cb3cc8
RS
78652002-01-31 Richard Sandiford <rsandifo@redhat.com>
7866
7867 * ifcvt.c (noce_process_if_block): Make a copy of the destination
7868 when copying back from a temporary.
7869
874b5b14
RH
78702002-01-30 Richard Henderson <rth@redhat.com>
7871
7872 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
7873 and new_dest are the same.
7874
e803a64b
RH
78752002-01-30 Richard Henderson <rth@redhat.com>
7876
89cf7be5 7877 PR opt/5076
e803a64b
RH
7878 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
7879 * rtl.c (note_insn_name): Update.
7880 * emit-rtl.c (remove_unnecessary_notes): Kill it.
7881 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
7882 to perform loop rotation.
7883 (expand_exit_loop_top_cond): New.
7884 * tree.h (expand_exit_loop_top_cond): Declare it.
7885 * c-semantics.c (genrtl_while_stmt): Use it.
7886 (genrtl_for_stmt): Likewise.
7887
0b51254d
AO
78882002-01-30 Alexandre Oliva <aoliva@redhat.com>
7889
7890 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
7891 arguments to 64-bit boundaries on 64-bit ABIs.
7892
71cef493
SE
78932002-01-30 Steve Ellcey <sje@cup.hp.com>
7894
7895 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
7896
6169e5fd
JM
78972002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
7898
7899 * c-decl.c (grokdeclarator): Handle type being a typedef for an
7900 invalid type.
7901
86f808dc
DB
79022002-01-30 David O'Brien <obrien@FreeBSD.org>
7903
7904 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
7905 * config/sparc/sparc_bi.h: Remove file.
7906 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
7907
5748ebeb
RH
79082002-01-30 Richard Henderson <rth@redhat.com>
7909
7910 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
7911
20d32cc2
ZW
79122002-01-30 Zack Weinberg <zack@codesourcery.com>
7913
7914 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
7915
b88c0704 79162002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
7917
7918 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
7919 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
7920 (reg_save): Use DW_CFA_offset_extended_sf instead.
7921
7922 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
7923
37060e78
JJ
79242002-01-29 Jakub Jelinek <jakub@redhat.com>
7925
7926 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
7927 in cselib_lookup.
7928
d18dba68
AH
79292002-01-29 Aldy Hernandez <aldyh@redhat.com>
7930
bebc7e8b
ZW
7931 * rs6000.md ("*call_value_local32"): Remove constraints.
7932 ("*call_value_local64"): Same.
7933 ("*call_value_indirect_nonlocal_aix32"): Same.
7934 ("*call_value_nonlocal_aix32"): Same.
7935 ("*call_value_indirect_nonlocal_aix64"): Same.
7936 ("*call_value_nonlocal_aix64"): Same.
7937 ("*call_value_nonlocal_sysv"): Same.
d18dba68 7938
80a8aac6
RH
79392002-01-29 Richard Henderson <rth@redhat.com>
7940
7941 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
7942
12beba6f
RH
79432002-01-29 Richard Henderson <rth@redhat.com>
7944
7945 * expr.c (force_operand): Ignore flag_pic for detecting pic
7946 address loads.
7947 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
7948 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
7949 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
7950 instead of open-coded loop.
7951 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
7952 be fixed when in use.
7953
2583081e
RH
79542002-01-29 Richard Henderson <rth@redhat.com>
7955
7956 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
7957 * sched-rgn.c (propagate_deps): Update them.
7958 * sched-deps.c (sched_analyze_insn): Update them. Flush the
7959 clobbers list when either gets too long.
7960
3b8d200e
JJ
79612002-01-29 Jakub Jelinek <jakub@redhat.com>
7962
7963 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
7964 and INDEX_REGS the same as GENERAL_REGS.
7965 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
7966
2d3115eb
NB
79672002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
7968
bebc7e8b 7969 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 7970
ecbe845e
UW
79712002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
7972
bebc7e8b 7973 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 7974 movstrsix_31): Remove, replace by ...
bebc7e8b 7975 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
7976 movstrsi_long): ... these. New.
7977 (movstrdi, movstrsi): Adapt.
7978
7979 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 7980 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
7981 Remove unnecessary CC clobber.
7982 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
7983 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
7984
7985 (divmoddi4): Don't partially initialize TImode register.
7986
0b32fca5
GK
79872002-01-29 Geoffrey Keating <geoffk@redhat.com>
7988
7989 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
7990
08ef5437
RH
79912002-01-29 Richard Henderson <rth@redhat.com>
7992
7993 * flow.c (print_rtl_and_abort): Remove.
7994 (print_rtl_and_abort_fcn): Remove.
7995 (verify_local_live_at_start): Use dump_bb instead.
7996 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
7997 (verify_wide_reg_1): Return 2 on mode test failure.
7998
8469e54e
NB
79992002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
8000
8001 PR c/3325, c/3326, c/2511, c/3347
8002 * c-decl.c (enum_decl_context): Remove BITFIELD.
8003 (grokdeclarator): Take bitfield width as an input.
8004 Ensure bitfields are given the correct type. Perform
8005 bitfield width validation with build_bitfield_integer_type
8006 rather than waiting for finish_struct.
8007 (grok_typename, grok_typename_in_parm_context, start_decl,
8008 push_parmdecl, grokfield, start_function): Update calls to
8009 grokdeclarator.
8010 (build_bitfield_integer_type): New function.
8011 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 8012 and build_bitfield_integer_type.
8469e54e
NB
8013 * tree.c (build_nonstandard_integer_type): New function.
8014 * tree.h (build_nonstandard_integer_type): New prototype.
8015objc:
8016 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
8017
ffdeea47
JJ
80182002-01-29 Jakub Jelinek <jakub@redhat.com>
8019
8020 PR other/1502:
8021 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
8022 don't ignore unrecognized -W* options.
8023 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
8024 * cpplib.h (cpp_handle_option): Adjust prototype.
8025 * c-decl.c (c_decode_options): Pass 0 as last argument to
8026 cpp_handle_option.
8027
8028 PR c/2896:
8029 * gcc.c (cpp_unique_options): Split from cpp_options.
8030 (cpp_options): Source cpp_unique_options.
8031 (default_compilers): Use cpp_unique_options instead of cpp_options
8032 when used together with cc1_options.
8033 (static_specs): Add cpp_unique_options.
8034 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
8035 when used together with cc1_options.
8036
1a275226
KH
80372002-01-29 Kazu Hirata <kazu@hxi.com>
8038
8039 * config/h8300/h8300-protos.h: Update the prototype of
8040 output_a_shift.
8041 * config/h8300/h8300.c (output_a_shift): Remove an unused
8042 argument 'insn'. Remove redundant code.
8043 * config/h8300/h8300.md: Adust to the new prototype of
8044 output_a_shift.
8045
a11d9dfc
KH
80462002-01-29 Kazu Hirata <kazu@hxi.com>
8047
8048 * config/h8300/h8300-protos.h: Update the prototypes of
8049 emit_a_rotate and expand_a_rotate.
8050 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
8051 first argument to 'enum rtx_code'.
8052 (expand_a_rotate): Likewise.
8053
871f73e3
KH
80542002-01-28 Kazu Hirata <kazu@hxi.com>
8055
8056 * config/h8300/h8300-protos.h: Update the prototype of
8057 output_simode_bld.
8058 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
8059 'log2'.
8060 * config/h8300/h8300.md: Adjust to the new prototype.
8061
5fc4b751
KH
80622002-01-28 Kazu Hirata <kazu@hxi.com>
8063
8064 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
8065 redundant code.
8066
2d67bd7b
JDA
80672002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
8068
8069 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
8070 is a fixed register before returning pic_offset_table_rtx.
8071 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
8072 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
8073
5a852b3e
JM
80742002-01-28 Jason Merrill <jason@redhat.com>
8075
6bb28965 8076 * dwarf2.h: Sync with src version.
5a852b3e 8077
3bca17dd
PK
80782002-01-28 Paul Koning <pkoning@equallogic.com>
8079
8080 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
8081 BT_FN_VOID_PTR_VAR.
8082 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
8083 * doc/extend.texi (__builtin_prefetch): Update documentation:
8084 first argument is now const void ptr.
8085
7dc3f8c0
KH
80862002-01-28 Kazu Hirata <kazu@hxi.com>
8087
8088 * config/h8300/h8300-protos.h: Remove an unused prototype.
8089
e83cb5f0
RZ
80902002-01-28 Roman Zippel <zippel@linux-m68k.org>
8091
8092 * toplev.c (lang_independent_init): Round up identifier size.
8093
5721cd84
RE
80942002-01-28 Richard Earnshaw <rearnsha@arm.com>
8095
8096 * config.gcc: Revert previous change.
8097
d534119e
AP
80982002-01-28 Andris Pavenis <pavenis@latnet.lv>
8099
8100 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
8101
5a721dab
RE
81022002-01-28 Richard Earnshaw <rearnsha@arm.com>
8103
8104 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
8105 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
8106 other non-elf netbsd config frags.
8107 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
8108 collect2 will does that.
8109 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
8110 shared-lib frobbing will work.
8111
da1775d6
KH
81122002-01-28 Kazu Hirata <kazu@hxi.com>
8113
8114 * config/h8300/h8300.h: Fix formatting.
8115 * config/h8300/h8300.md: Likewise.
8116
8f2e963b
LR
81172002-01-28 Loren J. Rittle <ljrittle@acm.org>
8118
8119 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
8120 the old, removed AAA_standards fix.
8121 * fixinc/fixincl.x: Rebuilt.
8122
fdae5767
HPN
81232002-01-28 Hans-Peter Nilsson <hp@axis.com>
8124
8125 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
8126 atexit call in crtbegin, hooked in after call to frame_dummy;
8127 register EH before registering __fini__start.
8128
2a2ecb63
AH
81292002-01-28 Aldy Hernandez <aldyh@redhat.com>
8130
8131 * config/rs6000/altivec.h: Remove spurious semicolons.
8132
8ed43adf
KH
81332002-01-27 Kazu Hirata <kazu@hxi.com>
8134
8135 * config/h8300/h8300.md: Replace dead bit extraction patterns
8136 with ones that work.
8137
917afb0c
RK
8138Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8139
8140 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
8141 if not STRICT_ALIGNMENT.
8142 * rtl.h (MEM_ALIGN): Likewise.
8143
f70a54cb
CR
81442002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
8145
8146 * doc/invoke.texi (-fdump-translation-unit): Revert this
8147 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
8148
d8fd4914
KH
81492002-01-27 Kazu Hirata <kazu@hxi.com>
8150
8151 * config/h8300/h8300.md (define_constants): New.
8152 (anonymous patterns) Use defined constants appropriately.
8153
15e0e275
KH
81542002-01-27 Kazu Hirata <kazu@hxi.com>
8155
8156 * config/h8300/h8300.c (function_arg): Remove redundant code.
8157
37a0f8a5
RH
81582002-01-26 Richard Henderson <rth@redhat.com>
8159
8160 * sched-deps.c (reg_pending_uses_head): New.
8161 (reg_pending_barrier): Rename from reg_pending_sets_all.
8162 (find_insn_list): Don't mark inline.
8163 (find_insn_mem_list): Remove.
8164 (add_dependence_list, add_dependence_list_and_free): New.
8165 (flush_pending_lists): Replace only_write param with separate
8166 for_read and for_write parameters. Update all callers. Use
8167 add_dependence_list_and_free.
8168 (sched_analyze_1): Do not add reg dependencies here; just set
8169 the pending bits. Use add_dependence_list.
8170 (sched_analyze_2): Likewise.
8171 (sched_analyze_insn): Replace schedule_barrier_found with
8172 reg_pending_barrier. Add all dependencies for pending reg
8173 uses, sets, and clobbers.
8174 (sched_analyze): Don't add reg dependencies for calls, just
8175 set pending bits. Use regs_invalidated_by_call. Treat
8176 sched_before_next_call as a normal list, not a fake insn.
8177 (init_deps): No funny init for sched_before_next_call.
8178 (free_deps): Free pending mems lists. Don't zero reg_last.
8179 (init_deps_global): Init reg_pending_uses.
8180 (finish_deps_global): Free it.
8181 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
8182 (find_insn_mem_list): Remove.
8183 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
8184 (propagate_deps): Use them. Zero temp mem lists.
8185
cea3bd3e
RH
81862002-01-26 Richard Henderson <rth@redhat.com>
8187
8188 * Makefile.in (CRTSTUFF_CFLAGS): New.
8189 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
8190 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
8191 crtstuff.c instead of alpha assembly version.
8192 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
8193 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
8194 not FORCE_{INIT,FINI}_SECTION_ALIGN.
8195 (__do_global_dtors_aux): Mark used.
8196 (frame_dummy, __do_global_ctors_aux): Mark used.
8197 (fini_dummy, init_dummy): Remove.
8198
8199 * config/alpha/crtbegin.asm: Remove file.
8200 * config/alpha/crtend.asm: Remove file.
8201 * config/alpha/t-crtbe: Remove file.
8202 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
8203 (LINK_EH_SPEC): New.
8204
8205 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
8206 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
8207 calling constructors.
8208 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
8209
8210 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
8211 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
8212 CRT_END_INIT_DUMMY hack.
8213 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
8214 FORCE_{INIT,FINI}_SECTION_ALIGN.
8215
8216 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
8217 FORCE_{INIT,FINI}_SECTION_ALIGN.
8218
8219 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
8220 invocation sequence.
8221 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
8222
8223 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
8224 (FORCE_CODE_SECTION_ALIGN): New.
8225
60ffa0e5
RH
82262002-01-26 Richard Henderson <rth@redhat.com>
8227
8228 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
8229
61334ebe
RH
82302002-01-26 Richard Henderson <rth@redhat.com>
8231
8232 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
8233 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
8234
1d788fb6
KH
82352002-01-26 Kazu Hirata <kazu@hxi.com>
8236
8237 * config/h8300/h8300.md: Remove bit extraction patterns that
8238 cannot be triggered.
8239 Restrict each bit extraction pattern to a variant on which the
8240 pattern is tested.
8241
87611f88
JM
82422002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
8243
8244 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
8245
cd74ec59
KH
82462002-01-26 Kazu Hirata <kazu@hxi.com>
8247
8248 * config/h8300/h8300.md: Remove bit test patterns that cannot
8249 be triggered.
8250 Restrict each bit test pattern to a variant on which the
8251 pattern is tested.
8252
93051e0f
KG
82532002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8254
8255 * builtins.c (expand_builtin_strncat): Remove redundant check for
8256 INTEGER_CST.
8257
216c995f
DB
82582002-01-25 David O'Brien <obrien@FreeBSD.org>
8259
8260 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
8261 default setting.
8262 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
8263 existing setting.
8264
33c7f925
GK
82652002-01-25 Geoffrey Keating <geoffk@redhat.com>
8266
8267 * dbxout.c (dbxout_init): Use assemble_name rather than just
8268 stripping off the first character.
8269 (dbxout_source_file): Likewise.
8270
6cd444b4
DD
82712002-01-25 DJ Delorie <dj@redhat.com>
8272
8273 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
8274 using rtx_equal_p, not by comparing pointers.
8275
751551d5
SE
82762002-01-25 Steve Ellcey <sje@cup.hp.com>
8277
8278 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
8279 for PIC_OFFSET_TABLE_REGNUM.
8280 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
8281
e564e618
DB
82822002-01-25 David O'Brien <obrien@FreeBSD.org>
8283
8284 * config.gcc (x86_64-*-freebsd*): New target.
8285 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
8286 value.
8287 (i[34567]86-*-freebsd*): Don't include svr4.h.
8288 * config/i386/freebsd64.h: New file.
8289
ff3aaf17
DR
82902002-01-25 Douglas B Rupp <rupp@gnat.com>
8291
4857d29d
DR
8292 * config/alpha/x-vms (version): Make static.
8293
8294 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
8295 in previous checkin.
8296
ff3aaf17
DR
8297 * Makefile.in (install-headers-cp): New target.
8298 * config.gcc (alpha-dec-*vms*): Install headers with
8299 install-headers-cp
8300
48d79c43
JH
8301Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
8302
8303 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
8304 avoid it's copies.
8305
995b5904
RK
8306Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8307
8308 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
8309 of compare_tree_int.
8310 (expand_builtin_strncat): Likewise.
8311 * c-decl.c (finish_struct): Use tree_low_cst.
8312 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
8313 * tree.c (compare_tree_int): Likewise.
8314
75eefe3f
UW
83152002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
8316
8317 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
8318 adjustments even if they are implemented by more than two insns.
8319
5a133afd
JH
8320Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
8321
995b5904 8322 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
8323 * df.h (struct ref): Kill B.
8324 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
8325
8326 * basic-block.h (PROP_EQUAL_NOTES): New flag.
8327 * flow.c (propagate_one_insn): Use it.
8328 (mark_used_regs): Handle NIL.
8329
ead39bdf 83302002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
8331
8332 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
8333 to help folding.
8334
01a2ccd0
DE
83352002-01-25 David Edelsohn <edelsohn@gnu.org>
8336
8337 * rs6000.md (prefetch): Make address V4SI mode so that the address
8338 is restricted to legitimate form for instruction.
8339
fd29f6ea
BW
83402002-01-25 Bob Wilson <bob.wilson@acm.org>
8341
8342 * doc/install.texi (xtensa-*-elf): New target.
8343 (xtensa-*-linux*): New target.
8344 * doc/contrib.texi: Add myself.
8345
55492b32
NC
83462002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
8347
8348 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
8349 purpose register to hold an SImode (or smaller) value.
8350
72c7c913
JJ
83512002-01-25 Jakub Jelinek <jakub@redhat.com>
8352
8353 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
8354 registry only.
8355 * crtstuff.c: Likewise.
8356
c4df4ceb
KH
83572002-01-25 Kazu Hirata <kazu@hxi.com>
8358
8359 * config/h8300/h8300.md (negation patterns): Tighten
8360 predicates to register_operand.
8361
70e531f5
AH
83622002-01-24 Aldy Hernandez <aldyh@redhat.com>
8363
3bca17dd
PK
8364 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
8365 mode, not Pmode.
70e531f5 8366
3bca17dd 8367 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 8368
a4f76ef9
AO
83692002-01-24 Alexandre Oliva <aoliva@redhat.com>
8370
8371 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
8372 modes.
8373
9bf25b09
KH
83742002-01-24 Kazu Hirata <kazu@hxi.com>
8375
8376 * config/h8300/h8300.c (print_operand): Remove support for
8377 operand character 'A'.
8378 * config/h8300/h8300.md (three anonymous patterns): Replace
8379 operand character 'A' with either 'T' or 'S'.
8380
974af6a5
KH
83812002-01-24 Kazu Hirata <kazu@hxi.com>
8382
8383 * config/h8300/h8300.c (print_operand): Remove support for
8384 operand character 'U'.
8385
7a5bb7b8
AP
83862002-01-24 Andris Pavenis <pavenis@latnet.lv>
8387
3bca17dd 8388 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 8389
92a4639e
NC
83902002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
8391
8392 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
8393 values to be assigned to the stack pointer.
8394
467cb2da
HP
83952002-01-14 Hartmut Penner <hpenner@de.ibm.com>
8396
bebc7e8b 8397 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
8398 to const_double needs to be done right for big-endian systems.
8399
3b6cb920
JM
84002002-01-24 Jason Merrill <jason@redhat.com>
8401
b08dd119 8402 PR c++/2432
3b6cb920
JM
8403 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
8404 to can_throw_internal.
8405
f3077311
RH
84062002-01-23 Richard Henderson <rth@redhat.com>
8407
8408 * fold-const.c (fold): Change UINT_MAX test to check vs precision
8409 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
8410
e1d71275
AO
84112002-01-24 Alexandre Oliva <aoliva@redhat.com>
8412
8413 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
8414 (symGOT2reg): Use them, then set as GOT value as unchanging.
8415 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
8416 as a temporary, if possible.
8417 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
8418 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
8419
dc271dbe
KH
84202002-01-23 Kazu Hirata <kazu@hxi.com>
8421
8422 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
8423 accept to accept 0x80 as operands[2].
8424
1a9017f9
AO
84252002-01-24 Alexandre Oliva <aoliva@redhat.com>
8426
8427 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
8428
6932f033
RH
84292002-01-23 Richard Henderson <rth@redhat.com>
8430
8431 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
8432
709619d9
AH
84332002-01-23 Aldy Hernandez <aldyh@redhat.com>
8434
3bca17dd
PK
8435 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
8436 (parmlist_or_identifiers_1): Verify that only a parmlist follows
8437 an attribute.
709619d9 8438
3d709fd3
RH
84392002-01-23 Richard Henderson <rth@redhat.com>
8440
8441 * expr.c (move_by_pieces_1): Extend size before negation.
8442
88a446c0
RH
8443 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
8444 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
8445 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
8446 * config/m68k/t-m68kelf: Likewise.
8447
03984308
BW
84482002-01-23 Bob Wilson <bob.wilson@acm.org>
8449
8450 * config/xtensa/elf.h: New file.
8451 * config/xtensa/lib1funcs.asm: New file.
8452 * config/xtensa/lib2funcs.S: New file.
8453 * config/xtensa/linux.h: New file.
8454 * config/xtensa/t-xtensa: New file.
8455 * config/xtensa/xtensa-config.h: New file.
8456 * config/xtensa/xtensa-protos.h: New file.
8457 * config/xtensa/xtensa.c: New file.
8458 * config/xtensa/xtensa.h: New file.
8459 * config/xtensa/xtensa.md: New file.
8460 * config.gcc (xtensa-*-elf*): New target.
8461 (xtensa-*-linux*): New target.
8462 * cse.c (canon_hash): Compare rtx pointers instead of register
8463 numbers. This is required for the Xtensa port.
8464 * integrate.c (copy_insn_list): Handle case where the static
8465 chain is in memory and the memory address has to be copied to
8466 a register.
8467 * doc/invoke.texi (Option Summary): Add Xtensa options.
8468 (Xtensa Options): New node.
8469 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
8470
c3d5c3fa
ZW
84712002-01-23 Zack Weinberg <zack@codesourcery.com>
8472
a63bea75
ZW
8473 * diagnostic.c (internal_error): Do ICE suppression only
8474 when ENABLE_CHECKING is not defined.
8475
c3d5c3fa
ZW
8476 * c-typeck.c (require_complete_type): Return error_mark_node
8477 if type is error_mark_node.
8478
1398974c
JJ
84792002-01-23 Janis Johnson <janis187@us.ibm.com>
8480
8481 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
8482 -Os and issue a warning.
8483
807633e5
ZW
84842002-01-23 Zack Weinberg <zack@codesourcery.com>
8485
8486 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
8487 current (lack of) need for host configuration by hand.
8488
8489 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
8490 references. Documentation of some target macros moved from
8491 hostconfig.texi to tm.texi.
8492
cf8002d0
WC
84932002-01-23 Will Cohen <wcohen@redhat.com>
8494
8495 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
8496 defined.
8497
d1e76310
KH
84982002-01-23 Kazu Hirata <kazu@hxi.com>
8499
8500 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
8501 operand[3].
8502
b2115575
JM
85032002-01-23 Jason Merrill <jason@redhat.com>
8504
f893c16e
JM
8505 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
8506
b2115575
JM
8507 * function.c (assign_parms): Don't put args of inline functions
8508 into registers when not optimizing.
8509
6bacc7b0
NC
85102002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
8511
8512 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
8513 (prologue_use): New pattern.
8514 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
8515 preference to gen_rtx_USE.
8516 (thumb_expand_prologue): Use gen_prologue_use in preference to
8517 gen_rtx_USE.
8518 (thumb_expand_epilogue): Use gen_prologue_use in preference to
8519 gen_rtx_USE.
8520
a415f7bc
HPN
85212002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
8522
8523 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
8524
5372b3fb
NB
85252002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
8526
8527 PR c/3504
8528 * doc/extend.texi: Correct documentation of __alignof__.
8529
bd571ffc
ZW
85302002-01-22 Zack Weinberg <zack@codesourcery.com>
8531
8532 * params.h: Rename arguments of DEFPARAM so that it will be
8533 recognized as a translation keyword.
8534
333c8841
AH
85352002-01-22 Aldy Hernandez <aldyh@redhat.com>
8536
bd571ffc
ZW
8537 * extend.texi: Document altivec functions.
8538 Fix N-bit adjectives in X86 builtin documentation.
333c8841 8539
38979c65
AO
85402002-01-22 Alexandre Oliva <aoliva@redhat.com>
8541
8542 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
8543 auto_inc_dec values.
8544
7458a9f0
RE
85452002-01-22 Richard Earnshaw <rearnsha@arm.com>
8546
8547 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
8548 after backslash.
8549 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
8550
129bd0c4
AO
85512002-01-22 Alexandre Oliva <aoliva@redhat.com>
8552
8553 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
8554
8b9b74a9
RH
85552002-01-22 Richard Henderson <rth@redhat.com>
8556
8557 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
8558 copy_insn not copy_rtx.
8559
d0c9db30
AM
85602002-01-23 Alan Modra <amodra@bigpond.net.au>
8561
8562 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
8563 "nonzero" as that might add "1" bits. Ensure "constop" is
8564 properly sign extened.
8565 (force_to_mode): Tweak for sign extended constop.
8566
1e7e480e
RH
85672002-01-22 Richard Henderson <rth@redhat.com>
8568
8569 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
8570 for_each_rtx instead of assuming we're already looking at the MEM.
8571 (split_small_symbolic_mem_operand): Likewise.
8572 * config/alpha/alpha.h (PREDICATE_CODES): Update.
8573 * config/alpha/alpha.md (small symbolic memory splitters): Update.
8574
85752002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
8576
8577 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
8578 sequence number for the literal.
8579 (divmoddi_internal_er): Likewise.
8580
b7f2fb96
CR
85812002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
8582
8583 PR java/4972
8584 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
8585 in LIBICONV variable.
8586 * configure: Regenerated.
8587
f66a0046
KW
85882002-01-22 Krister Walfridsson <cato@df.lth.se>
8589
8590 * dependence.c (build_def_use): Remove array_idx.
8591
e3b0efd1
KW
8592 * dwarfout.c (last_filename): Remove.
8593 (output_compile_unit_die): Remove last_filename.
8594
d8086cbb
RS
85952002-01-22 Roger Sayle <roger@eyesopen.com>
8596 Richard Henderson <rth@redhat.com>
8597
8598 PR opt/3640
8599 * fold-const.c (fold): Optimize unsigned comparisons against
8600 UINT_MAX (and similar unsigned constants).
8601
e8d52ba0
JJ
86022002-01-22 Janis Johnson <janis187@us.ibm.com>
8603
d8086cbb 8604 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 8605 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 8606 against the predicate.
11303d15 8607
e8d52ba0
JJ
8608 PR target/5379
8609 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
8610 for the address operand.
8611
cc7b420e
RH
86122002-01-22 Richard Henderson <rth@redhat.com>
8613
8614 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
8615
816e265a
CR
86162002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
8617
8618 PR other/5450
cc7b420e
RH
8619 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
8620 preprocessor flags.
816e265a 8621
7c884404
JT
86222002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
8623
8624 * config.gcc (x86_64-*-netbsd*): New target.
8625 * config/i386/netbsd64.h: New file.
8626
2b672c08
AH
86272002-01-22 Aldy Hernandez <aldyh@redhat.com>
8628
d8086cbb 8629 * regrename.c (kill_value): Fix typo.
2b672c08
AH
8630
86312002-01-22 Aldy Hernandez <aldyh@redhat.com>
8632
d8086cbb 8633 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 8634
d8086cbb 8635 * config/rs6000/rs6000.h: Same.
2b672c08 8636
d8086cbb
RS
8637 * function.c (instantiate_virtual_regs): Remove
8638 STARTING_FRAME_PHASE.
8639 (assign_stack_local_1): Same.
8640 Calculate frame phase.
2b672c08 8641
4b02997f
NC
86422002-01-22 Nick Clifton <nickc@redhat.com>
8643
8644 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
8645 variable declaration to outer scope in order to simplify
8646 future extensions.
8647 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
8648 arm_hard_regno_mode_ok.
8649 * config/arm/arm-protos.h: Add a prototype for
8650 arm_hard_regno_mode_ok.
8651 * config/arm/arm.c (soft_df_operand): Remove now redundant
8652 check for DImode values using IP_REGNUM.
8653 (nonimmediate_soft_df_operand): Remove now redundant check for
8654 DImode values using IP_REGNUM.
8655 (arm_hard_regno_mode_ok): New function. New check: make sure
8656 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
8657
8658 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
8659 note with a USE.
8660 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
8661
8a827ab2
JM
86622002-01-22 Jason Merrill <jason@redhat.com>
8663
8664 * c-semantics.c (genrtl_compound_stmt): Only check nesting
8665 consistency if this COMPOUND_STMT is scoped.
8666
cf403648
KH
86672002-01-22 Kazu Hirata <kazu@hxi.com>
8668
8669 * predict.c: Fix formatting.
8670 * print-tree.c: Likewise.
8671 * protoize.c: Likewise.
8672 * real.h: Likewise.
8673 * rtl.h: Likewise.
8674 * sbitmap.h: Likewise.
8675 * scan.c: Likewise.
8676 * sched-deps.c: Likewise.
8677 * sched-vis.c: Likewise.
8678 * sdbout.c: Likewise.
8679 * sibcall.c: Likewise.
8680 * ssa.c: Likewise.
8681 * ssa-ccp.c: Likewise.
8682 * ssa-dce.c: Likewise.
8683 * stmt.c: Likewise.
8684 * stor-layout.c: Likewise.
8685 * system.h: Likewise.
8686
aea9695c
RK
8687Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8688
a8765ae7
RK
8689 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
8690 if fits in bounds of base type.
8691
aea9695c
RK
8692 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
8693 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
8694 (add_bound_info, default): If can't find a context, make a
8695 SAVE_EXPR.
8696 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
8697
58bf601b
HPN
86982002-01-22 Hans-Peter Nilsson <hp@axis.com>
8699
8700 * c-typeck.c (parser_build_binary_op): If result from
8701 build_binary_op is ERROR_MARK just return error_mark_node without
8702 further processing.
8703
f982f805
JT
87042002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
8705
8706 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
8707 Split a.out-specific bits into...
8708 * config/netbsd-aout.h: ...this.
8709 * config/netbsd-elf.h: New file.
8710 * config/alpha/netbsd-elf.h: Remove.
8711 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
8712 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 8713 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
8714 (ENDFILE_SPEC): Likewise.
8715 (LINK_SPEC): Likewise.
8716 (CPP_SPEC): Likewise.
8717 (ASM_SPEC): Likewise.
8718 (LIB_SPEC): Likewise.
8719 (SWITCH_TAKES_ARG): Likewise.
8720 (TARGET_MEM_FUNCTIONS): Likewise.
8721 (CPP_PREDEFINES): Redefine.
8722 (ASM_FINAL_SPEC): Remove redefinition.
8723 (ASM_COMMENT_START): Redefine.
8724 (FUNCTION_PROFILER): Define.
8725 (TARGET_VERSION): Redefine.
8726 Comment and formatting cleanup.
8727 * config/i386/netbsd.h: Include <netbsd-aout.h>.
8728 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
8729 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
8730 big- or little-endian.
8731 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
8732 * config.gcc (*-*-netbsd*): Add definitions common to all
8733 NetBSD configs.
8734 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
8735 gnu_ld definitions. Add netbsd-elf.h to and remove
8736 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
8737 tmake_file, and don't lose previous tmake_file contents.
8738 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
8739 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
8740 gnu_ld definitions. Add netbsd-elf.h to tm_file.
8741 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
8742 (mipsel-*-netbsd*): Rename this to...
8743 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
8744 mips/little.h to tm_file for mips*el-*.
8745 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
8746 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
8747 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
8748
2e396476
JDA
87492002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
8750
8751 * pa-protos.h (reg_before_reload_operand): New function prototype.
8752 * pa.c (reg_before_reload_operand): New function implementation.
8753 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
8754 contraints to "*m".
8755
3b5708e7
FS
87562002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8757
8758 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
8759
85e79f96
JDA
87602002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
8761
8762 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
8763 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
8764 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
8765 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
8766 (ENDFILE_SPEC): Undefine.
8767 (STARTFILE_SPEC): Redefine for PA.
8768
38abadee
FS
87692002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8770
8771 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
8772
94f1d97c
DJ
87732002-01-21 Daniel Jacobowitz <drow@mvista.com>
8774
8775 * config.gcc: Add entries to supported PowerPC --with-cpu
8776 types.
8777
0333394e
JJ
87782002-01-21 Jakub Jelinek <jakub@redhat.com>
8779
8780 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
8781 true for 64-bit mode only SSE registers in 32-bit mode.
8782
e9d1b155
KH
87832002-01-21 Kazu Hirata <kazu@hxi.com>
8784
8785 * unwind-dw2.c: Fix formatting.
8786 * unwind-dw2-fde.c: Likewise.
8787 * unwind-dw2-fde.h: Likewise.
8788 * unwind-pe.h: Likewise.
8789 * varasm.c: Likewise.
8790 * varray.h: Likewise.
8791
07338cf8
HPN
87922002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
8793
8794 Remove workaround for register stack overwrite bug in mmix.
8795 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
8796 support for TARGET_REG_STACK_FILL_BUG.
8797 * config/mmix/mmix.h: Remove member has_call_without_parameters.
8798 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
8799 Delete.
8800 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
8801 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
8802 -mno-reg-stack-fill-bug-workaround.
8803 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
8804 machine member has_call_without_parameters.
8805 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
8806 -mreg-stack-fill-bug-workaround and
8807 -mno-reg-stack-fill-bug-workaround.
8808 (MMIX Options): Ditto.
8809
7192cbf1
KH
88102002-01-21 Kazu Hirata <kazu@hxi.com>
8811
8812 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
8813 as appropriate.
8814 Remove redundant code.
8815
d1552d7b
JM
88162002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
8817
8818 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
8819 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
8820 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
8821 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
8822 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
8823 out target macro definitions and non-target-specific comments
8824 mostly taken from old versions of the manual.
8825
ed168e45
KH
88262002-01-20 Kazu Hirata <kazu@hxi.com>
8827
8828 * config/h8300/h8300.h: Fix comment formatting.
8829 * config/ia64/aix.h: Likewise.
8830 * config/ia64/ia64-protos.h: Likewise.
8831 * config/ia64/ia64.c: Likewise.
8832 * config/ia64/ia64.h: Likewise.
8833 * config/ia64/ia64intrin.h: Likewise.
8834 * config/ia64/linux.h: Likewise.
8835 * config/ia64/unwind-aix.c: Likewise.
8836 * config/ia64/unwind-ia64.c: Likewise.
8837
005e3e05
KH
88382002-01-20 Kazu Hirata <kazu@hxi.com>
8839
8840 * config/h8300/h8300.c: Revise comments about shift code.
8841
64bead4c
KH
88422002-01-20 Kazu Hirata <kazu@hxi.com>
8843
8844 * config/h8300/h8300.c (function_arg): Update a comment.
8845
ed863595
KH
88462002-01-20 Kazu Hirata <kazu@hxi.com>
8847
8848 * config/h8300/h8300.md: Update the comments at the beginning
8849 of the file.
8850
5904dc87
KH
88512002-01-20 Kazu Hirata <kazu@hxi.com>
8852
8853 * config/i370/i370.c: Fix comment formatting.
8854 * config/i370/i370.h: Likewise.
8855 * config/i370/i370.md: Likewise.
8856 * config/i370/linux.h: Likewise.
8857
9702143f
RK
8858Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8859
cbafacd1
RK
8860 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
8861
9702143f
RK
8862 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
8863 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
8864 in incomplete case.
8865
6b6996b8
GS
88662002-01-20 Graham Stott <grahams@redhat.com>
8867
8868 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
8869
eab854f6
JDA
88702002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
8871
8872 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
8873
5b029315
TR
88742002-01-19 Tom Rix <trix@redhat.com>
8875
8876 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
8877
1d690052
AH
88782002-01-18 Aldy Hernandez <aldyh@redhat.com>
8879
d8086cbb 8880 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 8881
d8086cbb
RS
8882 * function.c (assign_stack_local_1): Adjust x_frame_offset with
8883 STARTING_FRAME_PHASE.
8884 (STARTING_FRAME_PHASE): New.
8885 (instantiate_virtual_regs): Check saneness of
8886 STARTING_FRAME_PHASE.
1d690052 8887
d8086cbb 8888 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 8889
4dd8c093
AO
88902002-01-19 Alexandre Oliva <aoliva@redhat.com>
8891
8892 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
8893
6f2a28d7
CR
88942002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
8895
8896 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
8897 be used for bootstrapping GCC 3.0.
8898
8763a465
KH
88992002-01-18 Kazu Hirata <kazu@hxi.com>
8900
8901 * config/h8300/h8300.md: Fix an insn length.
8902
3ef42a0c
KH
89032002-01-18 Kazu Hirata <kazu@hxi.com>
8904
8905 * bitmap.h: Fix comment formatting.
8906 * combine.c: Likewise.
8907 * cppfiles.c: Likewise.
8908 * c-pragma.h: Likewise.
8909 * c-typeck.c: Likewise.
8910 * df.c: Likewise.
8911 * dwarf2out.c: Likewise.
8912 * function.c: Likewise.
8913 * gcc.c: Likewise.
8914 * genattrtab.c: Likewise.
8915 * gthr-win32.h: Likewise.
8916 * haifa-sched.c: Likewise.
8917 * predict.c: Likewise.
8918 * rtlanal.c: Likewise.
8919 * rtl.h: Likewise.
8920 * unwind-dw2-fde.h: Likewise.
8921 * unwind-pe.h: Likewise.
8922 * vmsdbgout.c: Likewise.
8923
dd4dc3cd
RK
8924Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8925
8926 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
8927 if type_required and passed decl.
8928
5fb4cf24
AH
89292002-01-17 Aldy Hernandez <aldyh@redhat.com>
8930
d8086cbb
RS
8931 * config.gcc (cpu_type): Include altivec.h in powerpc
8932 extra_headers.
8933 Same for darwin.
5fb4cf24 8934
d8086cbb 8935 * config/rs6000/altivec.h: New.
5fb4cf24 8936
2705baf5
DE
89372002-01-17 David Edelsohn <edelsohn@gnu.org>
8938
8939 * doc/install.texi (*-ibm-aix*): Update assembler and exception
8940 handling information.
8941 * doc/trouble.texi (Interoperation): Add libstdc++ information
8942 for AIX.
8943 (Misunderstandings): Add template instantiation and static template
8944 member information for AIX.
8945
dbd680e1
JM
89462002-01-17 Jason Merrill <jason@redhat.com>
8947
821adc5e
JM
8948 * dbxout.c (dbxout_type): Support const and volatile.
8949
dbd680e1
JM
8950 * except.c (add_partial_entry): Remove backwards compatibility code.
8951 (end_protect_partials): Likewise.
8952
d0e82870
JJ
89532002-01-17 Jakub Jelinek <jakub@redhat.com>
8954
8955 * config/ia64/ia64.md (prologue_use): New.
8956 * config/ia64/ia64.c (ia64_expand_prologue): Use
8957 gen_prologue_use instead of gen_rtx_USE.
8958 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
8959 as CODE_FOR_pred_rel_mutex.
8960 (ia64_sched_reorder2): Likewise.
8961
f9f45c65
EC
89622002-01-16 Eric Christopher <echristo@redhat.com>
8963
8964 * config/mips/r3900.h: Reformat.
8965 (SUBTARGET_CPP_SIZE_SPEC): Remove.
8966 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
8967 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
8968 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
8969 * config/mips/t-elf: Remove mips3 multilib.
8970
c66c8b0e
L
89712002-01-16 H.J. Lu <hjl@gnu.org>
8972
8973 * config/mips/linux.h: Include "mips/abi64.h".
8974
5f083b72
L
89752002-01-16 H.J. Lu <hjl@gnu.org>
8976
8977 * config/mips/t-linux: New.
8978
8979 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
8980
8981 * config/mips/linux.h: Don't include "gofast.h".
8982 (INIT_SUBTARGET_OPTABS): Removed.
8983
af3c90a6
KH
89842002-01-16 Kazu Hirata <kazu@hxi.com>
8985
8986 * config/h8300/h8300-protos.h: Replace emit_a_shift with
8987 output_a_shift.
8988 * config/h8300/h8300.c: Likewise.
8989 * config/h8300/h8300.md: Likewise.
8990
a1bf0a16
KH
89912002-01-16 Kazu Hirata <kazu@hxi.com>
8992
8993 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
8994 spaces after an opcode name.
8995 (pushqi1_h8300hs): Likewise.
8996 (pushhi1_h8300hs): Likewise.
8997
88ab0d1c
KH
89982002-01-16 Kazu Hirata <kazu@hxi.com>
8999
9000 * doc/extend.texi: Replace "option" with "attribute"
9001 appropriately.
9002
51c561e3
JJ
90032002-01-16 Jakub Jelinek <jakub@redhat.com>
9004
9005 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
9006 (and:DI () (const_int -8)).
9007 (split_small_symbolic_mem_operand): Split
9008 (mem (and:DI () (const_int -8)).
9009
b8c1a6b8
JJ
90102002-01-16 Jakub Jelinek <jakub@redhat.com>
9011
9012 PR target/5309:
d8086cbb 9013 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
9014 same way as TYPE_IMUL.
9015 (ultrasparc_sched_reorder): Likewise.
9016 * config/sparc/sparc.md (type): Add comment to update
9017 ultrasparc_sched_reorder when making changes.
9018
1e4e4df2
KH
90192002-01-16 Kazu Hirata <kazu@hxi.com>
9020
9021 * doc/invoke.texi: Change the dump file name of block
9022 reordering pass from 28.bbro to 29.bbro.
9023 Mention -dk option.
9024
14d920c0
JH
9025Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
9026
9027 * i386.md (minsf splitter): Fix pasto.
9028
2e99323f
NC
90292002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
9030
9031 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
9032 to frame pointer initialisation instruction.
9033 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
9034 initialisation instruction.
ab8081c1
NC
9035 (soft_df_operand): Do not accept the IP register.
9036 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 9037
c4031a04
JJ
90382002-01-16 Jakub Jelinek <jakub@redhat.com>
9039
9040 PR target/5357:
9041 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
9042 MASK_V8 being both set.
9043
44b8152b
UW
90442002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
9045
9046 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
9047 insn for GOT register; add REG_MAYBE_DEAD notes instead.
9048 config/s390/s390.md (call, call_value): Add GOT register to
9049 CALL_INSN_FUNCTION_USAGE where needed.
9050 (call_exp, call_value_exp): New.
9051
1d6e90ac
NC
90522002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
9053
9054 * config/arm/arm.c: General formatting tidy up.
9055
90562002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
9057
9058 * calls.c (try_to_integrate): Use "(size_t)" intermediate
9059 cast and when casting an integer literal to "rtx" pointer.
9060 (expand_call): Likewise.
9061 * flow.c (try_pre_increment): Likewise.
9062 (find_use_as_address): Likewise.
9063 * integrate.c (expand_iline_function): Likewise.
9064 * regmove.c (try_auto_increment): Likewise.
9065
1d6e90ac 90662002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
9067
9068 * sched-rgn.c (passed): Use sbitmap_free.
9069 (header): Likewise.
9070 (inner): Likewise.
9071 (in_queue): Likewise.
9072 (in_stack): Likewise.
9073
31fce3c4
EC
90742002-01-15 Eric Christopher <echristo@redhat.com>
9075
9076 * flow.c (propagate_one_insn): Change to use fatal_insn.
9077
c99d986a
KH
90782002-01-15 Kazu Hirata <kazu@hxi.com>
9079
9080 * expmed.c (extract_fixed_bit_field): Remove unused code.
9081 * system.h: Poison SLOW_ZERO_EXTEND.
9082 * doc/tm.texi: Remove.
9083 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
9084 * config/arm/arm.h: Likewise.
9085 * config/avr/avr.h: Likewise.
9086 * config/clipper/clipper.h: Likewise.
9087 * config/convex/convex.h: Likewise.
9088 * config/d30v/d30v.h: Likewise.
9089 * config/dsp16xx/dsp16xx.h: Likewise.
9090 * config/elxsi/elxsi.h: Likewise.
9091 * config/fr30/fr30.h: Likewise.
9092 * config/h8300/h8300.h: Likewise.
9093 * config/i370/i370.h: Likewise.
9094 * config/i386/i386.h: Likewise.
9095 * config/m68k/m68k.h: Likewise.
9096 * config/mips/mips.h: Likewise.
9097 * config/ns32k/ns32k.h: Likewise.
9098 * config/pdp11/pdp11.h: Likewise.
9099 * config/pj/pj.h: Likewise.
9100 * config/s390/s390.h: Likewise.
9101 * config/sh/sh.h: Likewise.
9102 * config/stormy16/stormy16.h: Likewise.
9103 * config/v850/v850.h: Likewise.
9104 * config/vax/vax.h: Likewise.
9105 * config/we32k/we32k.h: Likewise.
9106
acfab996
AH
91072002-01-15 Aldy Hernandez <aldyh@redhat.com>
9108
d8086cbb
RS
9109 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
9110 (altivec_lvsl): Change constraint to b.
9111 (altivec_lvsr): Same.
9112 (altivec_lvebx): Same.
9113 (altivec_lvehx): Same.
9114 (altivec_lvewx): Same.
9115 (altivec_lvxl): Same.
9116 (altivec_lvx): Same.
9117 (altivec_stvx): Add parallel.
9118 (altivec_stvxl): Same.
9119 (altivec_stvehx): Same.
9120 (altivec_stvebx): Same.
9121 (altivec_stvebx): Same.
acfab996 9122
5e505bc9
AH
91232002-01-15 Aldy Hernandez <aldyh@redhat.com>
9124
d8086cbb 9125 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 9126
d8086cbb 9127 * config/rs6000/altivec.h: Delete.
5e505bc9 9128
d8086cbb 9129 * config/rs6000/altivec-defs.h: Add.
5e505bc9 9130
5c41fdfb
JDA
91312002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
9132
9133 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
9134 and UMOD modes.
9135
9136 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
9137 less than or equal to eight bytes.
9138
9139 * vax.md (andsi3): Remove constraints and change SET destination
9140 operand type to nonimmediate_operand.
9141 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
9142 when it is a CONST_INT.
9143
de097a2d
JM
91442002-01-15 Jason Merrill <jason@redhat.com>
9145
9146 * c-common.def (FILE_STMT): New code.
9147 * c-common.c (statement_code_p): It's a statement.
9148 * c-common.h (stmt_tree_s): Add x_last_filename.
9149 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
9150 (last_expr_filename): New macro.
9151 * c-semantics.c (begin_stmt_tree): Initialize it.
9152 (add_stmt): If the filename changed, also insert a
9153 FILE_STMT.
9154 (expand_stmt): Handle seeing one.
9155
4a913dd6
EC
91562002-01-15 Eric Christopher <echristo@redhat.com>
9157
9158 * flow.c (propagate_one_insn): Add error message and print out
9159 insn for debugging.
9160
006946e4
JM
91612002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
9162
9163 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
9164 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
9165 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
9166 TRAMPOLINE_ALIGNMENT.
9167 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
9168 to be in bits.
9169 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
9170 PCC_BITFIELD_TYPE_MATTERS.
9171 * config/interix.h (STDC_VALUE): Remove. Use
9172 STDC_0_IN_SYSTEM_HEADERS.
9173 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
9174 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
9175 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
9176
751a1458
CR
91772002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
9178
9179 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
9180 not work on this platform currently.
9181
57771fe8
JM
91822002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
9183
9184 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
9185 readonly_warning in _().
9186
0e83ceb1 91872002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 9188
0e83ceb1 9189 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 9190
8e2e89f7
KH
91912002-01-15 Kazu Hirata <kazu@hxi.com>
9192
0e83ceb1
DR
9193 * config/h8300/h8300.c (print_operand): Remove support for
9194 unused operand characters.
9195
8e2e89f7
KH
9196 * read-rtl.c: Fix formatting.
9197 * real.c: Likewise.
9198 * recog.c: Likewise.
9199 * regclass.c: Likewise.
9200 * regmove.c: Likewise.
9201 * reg-stack.c: Likewise.
9202 * reload1.c: Likewise.
9203 * rtlanal.c: Likewise.
9204
b531087a
KH
92052002-01-15 Kazu Hirata <kazu@hxi.com>
9206
9207 * config/i386/i386.c: Fix formatting.
9208
7c94ce7f
JJ
92092002-01-15 Jakub Jelinek <jakub@redhat.com>
9210
9211 * c-typeck.c (process_init_element): Don't save_expr
9212 COMPOUND_LITERAL_EXPR if just its initializer will be used.
9213
6041bf2f
DE
92142002-01-15 David Edelsohn <edelsohn@gnu.org>
9215
9216 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
9217 emit optional traceback table if optimize_size or TARGET_ELF.
9218 * config/rs6000/rs6000.md (prefetch): New.
9219
8559c8c0
AJ
92202002-01-15 Andreas Jaeger <aj@suse.de>
9221
9222 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
9223
70f122f2
KH
92242002-01-15 Kazu Hirata <kazu@hxi.com>
9225
9226 * mips-tfile.c: Fix formatting.
9227
6a7b4ca6
JH
9228Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
9229
9230 * unroll.c (final_reg_note_copy): Fix previous commit.
9231
e7afe229
KH
92322002-01-14 Kazu Hirata <kazu@hxi.com>
9233
9234 * config/h8300/h8300-protos.h: Remove the prototype for
9235 eq_operator.
9236 * config/h8300/h8300.c (eq_operator): Remove.
9237
7d378549
RH
92382002-01-14 Richard Henderson <rth@redhat.com>
9239
9240 * config/i386/i386.md (prefetch): Tidy.
9241 (prefetch_3dnow): Fix locality operand.
9242
ab093b81
RH
92432002-01-14 Richard Henderson <rth@redhat.com>
9244
9245 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
9246 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
9247
d300f51f
HPN
92482002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
9249
9250 * reload1.c (reload_combine): Pass reg_sum replacement through
9251 copy_rtx in loop performing multiple changes.
9252
655dd289
JJ
92532002-01-14 Jakub Jelinek <jakub@redhat.com>
9254
9255 * except.c (remove_unreachable_regions): New.
9256 (free_eh_status): Clear exception_handler_labels.
9257 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
9258 (find_exception_handler_labels): Don't add the same label more than
9259 once.
9260 (remove_exception_handler_label): Don't die if
9261 find_exception_handler_labels hasn't been called for the current
9262 function yet.
9263
1fba46a7
JH
9264Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
9265
9266 * toplev.c (rest_of_compilation): Rebuild jump labels after
9267 gcse.
9268
0975678f
JM
92692002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
9270
9271 * doc/extend.texi: Move documentation of X86 built-in functions
9272 here.
9273 * doc/invoke.texi: From here.
9274 * doc/sourcebuild.texi: Document location of documentation for
9275 machine built-in functions.
9276
969815c7
CF
92772002-01-13 Christopher Faylor <cgf@redhat.com>
9278
9279 * cppfiles.c (TEST_THRESHOLD): New macro.
9280 (SHOULD_MMAP): Ditto.
9281 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
9282 be used.
9283
494c950b
JH
9284Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
9285
9286 * unroll.c (final_reg_note_copy): Properly handle
9287 REG_LABEL
9288 (unroll_loops): Fix LOOP_CONDITION heuristics.
9289
69a0611f
GK
92902002-01-14 Geoffrey Keating <geoffk@redhat.com>
9291
9292 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
9293 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
9294
b90e45ae
JH
9295Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
9296
9297 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
9298 threaded loop.
9299
8377288b
TR
93002002-01-14 Tom Rix <trix@redhat.com>
9301
9302 * config/rs6000/rs6000.md: Fix typo with sradi.
9303
9f37ccb1
UW
93042002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
9305
9306 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
9307 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
9308 (clrstrdi, clrstrsi): Adapt callers.
9309
9310 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
9311
8559c8c0 9312 (movti splitter): Never use register 0 as base register.
9f37ccb1 9313
6c2d03d0
HP
93142002-01-14 Hartmut Penner <hpenner@de.ibm.com>
9315
8559c8c0
AJ
9316 * combine.c (simplify_shift_const): Always generate new rtx
9317 for shift expression instead of reusing given expression.
6c2d03d0 9318
d3e98208
RK
9319Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9320
9321 * config/alpha/alpha.c (alpha_expand_mov): Don't call
9322 alpha_legitimize_address unless mode is Pmode.
9323
9f339dde
GK
93242002-01-13 Geoffrey Keating <geoffk@redhat.com>
9325
9326 * doc/md.texi (Modifiers): Document the '*' constraint for the
9327 user.
9328
9329 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
9330 * doc/extend.texi (Function Attributes): 'interrupt' is valid
9331 for xstormy16 too.
9332
02a10130
RH
93332002-01-13 Richard Henderson <rth@redhat.com>
9334
9335 * reload.c (find_reloads): Use a hard reg destination as reload reg
9336 for an input reload of the source.
9337
61d47787
GP
93382002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9339
9340 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
9341 more generic.
9342
f0df8029
DR
9343Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
9344
9345 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
9346 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
9347
d2a37256
DR
9348 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
9349
a9e8a5ee
RK
9350Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9351
9352 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
9353
bc06712d
TR
93542002-01-12 Tom Rix <trix@redhat.com>
9355
8559c8c0 9356 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
9357 TARGET_POWERPC64.
9358
7cbe9bb7
RH
93592002-01-12 Richard Henderson <rth@redhat.com>
9360
38b29e64
RH
9361 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
9362
58605ba0
RH
9363 * doc/invoke.texi: Update Alpha options.
9364
7cbe9bb7
RH
9365 * doc/invoke.texi: Update i386 built-in function lists.
9366
9d560860
JH
9367Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
9368
9369 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
9370 referencing outside.
9371
bb93b973
RK
9372Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9373
9374 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
9375 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
9376 offsets, and change line folding.
9377 * optabs.c (expand_binop): Remove warnings.
9378 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 9379
f9f6b7df
GS
93802002-01-12 Graham Stott <grahams@redhat.com>
9381
9382 * attribs.c (handle_deprecated_attribute): constify WHAT.
9383 * diagnostic.c (warn_deprecated_use): Add braces, fixes
9384 dangling else warning and constify WHAT.
9385 * except.h (struct function, struct inline_remap): Move
9386 struct tag forward defs before all prototypes.
9387 (duplicate_eh_regions): Whitespace.
9388
4a692617
NC
93892002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
9390
9391 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
9392 MODE_BASE_REG_CLASS.
9393 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
9394
e37af218
RH
93952002-01-12 Richard Henderson <rth@redhat.com>
9396
9397 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
9398 (ix86_expand_vector_move): New.
9399 (bdesc_2arg): Remove andps, andnps, orps, xorps.
9400 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
9401 Remove old prefetch builtins. Special case the logicals removed above.
9402 (ix86_expand_builtin): Likewise.
9403 (safe_vector_operand): Use V4SFmode, not TImode.
9404 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
9405 (ix86_expand_timode_binop_builtin): New.
9406 * config/i386/i386-protos.h: Update.
9407 * config/i386/i386.h (enum ix86_builtins): Update.
9408 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
9409 Use ix86_expand_vector_move in vector move expanders.
9410 (movti_internal, movti_rex64): Add xorps alternative.
9411 (sse_clrv4sf): Rename and adjust from sse_clrti.
9412 (prefetch): Don't work so hard.
9413 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
9414 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
9415 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
9416
6f1a6c5b
RH
94172002-01-11 Richard Henderson <rth@redhat.com>
9418
9419 * config/i386/mmintrin.h: New file.
9420 * config/i386/xmmintrin.h: New file.
9421 * config.gcc (i?86-*-*): Add extra_headers.
9422 * simplify-rtx.c (simplify_unary_operation): Handle saturating
9423 truncation codes.
9424 (simplify_binary_operation): Handle saturating arithmetic codes.
9425 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
9426 not the lowpart subreg.
9427 (ix86_expand_builtin): Return a TImode dummy register instead of 0
9428 on error.
9429 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
9430
cdb574d3
MH
94312002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9432
9433 * conflict.c (conflict_graph_compute): Free regsets when finished.
9434 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 9435
cf11ac55
HB
94362002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9437
9438 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
9439 every where we allocate a register.
9440
76ac938b
MH
94412002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9442
9443 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
9444 * lcm.c (compute_earliest, compute_farthest): Likewise.
9445
a84b4898
JJ
94462002-01-11 Janis Johnson <janis187@us.ibm.com>
9447
9448 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
9449
aaef1c12
JJ
94502002-01-11 Janis Johnson <janis187@us.ibm.com>
9451
9452 * doc/rtl.texi (Insns): Fix 2 typos.
9453
5d22c1a5
JM
94542002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
9455
9456 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
9457 options. Use @table @gcctabopt for MMIX options. Add index
9458 entries for MMIX options. Start new paragraph with first
9459 heading of the machine-dependent options.
9460
3e92902c
CR
94612002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
9462
9463 PR other/5299
9464 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
9465 * combine.c (force_to_mode): Same.
9466 * reload1.c (clear_reload_reg_in_use): Same.
9467
96ae8197
NC
94682002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
9469
9470 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
9471 and 'subtargets'.
9472
9b780582
AJ
94732002-01-11 Andreas Jaeger <aj@suse.de>,
9474 Brad Lucier <lucier@math.purdue.edu>
9475
9476 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
9477 mcpu.
9478
12300dad
DR
9479Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
9480
9481 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
9482 Protect with IN_LIBGCC.
9483 (LINK_EH_SPEC): Add required trailing space.
9484
27511a9a
NP
9485Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
9486
9b780582 9487 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
9488 under the filename which contains them.
9489 (check_identifier, finish_decl_top_level,
9490 lookup_name_current_level_global, shadow_record_fields): Remove.
9491
4daeab16
AJ
94922002-01-11 Andreas Jaeger <aj@suse.de>
9493
9494 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
9495 march.
9496
40571d67
RH
94972002-01-10 Richard Henderson <rth@redhat.com>
9498
9499 * config/alpha/alpha.c (print_operand): Add 'J'.
9500 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
9501 new operand with the sequence number for the lituse. When splitting
9502 the insns, use gen_movdi_er_high_g and generate a sequence number.
9503 (gen_movdi_er_high_g): Print the sequence number if non-zero.
9504
6525c0e7
AH
95052002-01-10 Aldy Hernandez <aldyh@redhat.com>
9506
d8086cbb
RS
9507 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
9508 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
9509 stvxl.
9510 (altivec_expand_builtin): Same.
9511 (altivec_expand_stv_builtin): New.
9512
9513 * config/rs6000/rs6000.h (rs6000_builtins): Same.
9514
9515 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
9516 ("altivec_lvehx"): New.
9517 ("altivec_lvewx"): New.
9518 ("altivec_lvxl"): New.
9519 ("altivec_lvx"): New.
9520 ("altivec_stvx"): New.
9521 ("altivec_stvebx"): New.
9522 ("altivec_stvehx"): New.
9523 ("altivec_stvewx"): New.
9524 ("altivec_stvxl"): New.
6525c0e7 9525
cda94cbb
RH
95262002-01-10 Richard Henderson <rth@redhat.com>
9527
9528 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
9529 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
9530 care not to delete instructions twice.
9531
df2c9a44
ZW
95322002-01-10 Zack Weinberg <zack@codesourcery.com>
9533
9534 * toplev.c: Don't declare environ (it's not used anywhere).
9535 * configure.in: Don't check for declaration of environ.
9536 * config/i386/xm-mingw32.h: Don't #define environ.
9537 * config.in, configure: Regenerate.
9538
5dd8a9b1
ZW
95392002-01-10 Zack Weinberg <zack@codesourcery.com>
9540
9541 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
9542 * configure: Regenerate.
9543
9544 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
9545 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
9546 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
9547 alpha/xm-vms.h.
9548 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
9549 LIMITS_H_TEST here, not in m68k/x-next.
9550 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
9551 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
9552
9553 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
9554 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
9555 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
9556
9557 * config/i386/x-djgpp: Renamed i386/t-djgpp.
9558 * config/m88k/x-dolph: Renamed m88k/t-dolph.
9559 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
9560 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
9561 replacement of quadlib.asm with quadlib.c.
9562
9563 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
9564 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
9565 config/rs6000/xm-beos.h: Delete file.
9566
9567 * config.gcc: Update to match above changes.
9568
d10dd44c
KH
95692002-01-10 Kazu Hirata <kazu@hxi.com>
9570
9571 * config/h8300/h8300.h: Fix comment typos.
9572 * config/h8300/h8300.md: Likewise.
9573 * config/h8300/lib1funcs.asm: Likewise.
9574
04894c5a
DJ
95752002-01-10 Dale Johannesen <dalej@apple.com>
9576
9577 PR optimization/5269
9578 * unroll.c (precondition_loop_p): Make *increment be the correct
9579 sign when n_iterations known, to avoid confusing caller.
9580
adc9fe67
KH
95812002-01-10 Kazu Hirata <kazu@hxi.com>
9582
9583 * doc/extend.texi (deprecated): Fix a typo.
9584
b446e5a2
JH
9585Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
9586
9587 * basic-block.h (update_br_prob_note): Declare.
9588 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
9589 (try_forward_edges): Care negative frequencies and update note.
9590 (outgoing_edges_match): Tweek conditional merging heuristics.
9591 (try_crossjump_to_edge): use update_br_prob_note.
9592 * cfglayout.c (fixup_reorder_chain): Likewise.
9593 * cfrtl.c (update_br_prob_note): New.
9594 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
9595
9596 * i386.c (ix86_decompose_address): Return -1 if address contains
9597 shift.
9598 (legitimate_address_p): Require ix86_decompose_address to return 1.
9599
9600 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
9601 (cprop_insn): Likewise.
9602
a01da83b
KH
96032002-01-10 Kazu Hirata <kazu@hxi.com>
9604
9605 * toplev.c: Fix formatting.
9606 * tree.c: Likewise.
9607 * tree-dump.c: Likewise.
9608 * unroll.c: Likewise.
9609 * unwind-dw2.c: Likewise.
9610 * unwind-dw2-fde.c: Likewise.
9611 * unwind-dw2-fde-glibc.c: Likewise.
9612 * unwind-sjlj.c: Likewise.
9613
9f85bca7
JM
96142002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
9615
9616 * doc/invoke.texi: Document PDP-11 options.
9617
f48f56b1
KH
96182002-01-10 Kazu Hirata <kazu@hxi.com>
9619
9620 * config/h8300/h8300.h: Fix formatting.
9621
ead39bdf 96222002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
9623
9624 Add __attribute__ ((deprecated)).
9625 * extend.texi: Document __attribute__ ((deprecated)).
9626 * invoke.texi: Document -Wno-deprecated-declarations.
9627 * testsuite/g++.dg/other/deprecated.C: New C++ test.
9628 * testsuite/gcc.dg/deprecated.c: New C test.
9629 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
9630 (c_common_attribute_table): Add "deprecated" entry.
9631 (handle_deprecated_attribute): New function.
9632 * c-decl.c (deprecated_states): New enum.
9633 deprecated_state: State of "deprecated" handling.
9634 (start_decl): Set deprecated_state based on attributes.
9635 (grokdeclarator): Test for deprecated uses, propagate attribute.
9636 * c-typeck.c (build_component_ref): Test for deprecated fields.
9637 (build_external_ref): Test for deprecated primaries.
9638 * diagnostic.c (warn_deprecated_use) New function to issue
9639 warnings about __attribute__ ((depricated)) references.
9640 * flags.h (warn_deprecated_decl): Extern declared for
9641 -W[no-]deprecated-declarations option.
9642 * print-tree.c (print_node): Show deprecated flag status.
9643 * toplev.c (warn_deprecated_decl): Defined.
9644 (W_options): Added "deprecated-declaration".
9645 * toplev.h (warn_deprecated_use): Extern declared.
9646 * tree.h (struct tree_common): Define deprecated_flag.
9647 (TREE_DEPRECATED): New macro to access flag.
9648 * cp/call.c (build_call): Test for deprecated calls.
9649 * cp/class.c (add_implicitly_declared_members): Set global
9650 flag to tell grokdeclarator to not issue deprecated warnings.
9651 * cp/cp-tree.h: Add extern for adding_implicit_members.
9652 * cp/decl.c (deprecated_states): New enum.
9653 (start_decl): Set deprecated_state based on attributes.
9654 (grokdeclarator): Test for deprecated uses, propagate attribute.
9655 * cp/lex.c (do_identifier): Test for deprecated primaries.
9656 * cp/typeck.c (build_component_ref): Test for deprecated fields.
9657
ead39bdf 96582002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
9659
9660 Fix to assign attributes to inline member functions.
9661 * cp/decl.c (start_method): Handle attrlist.
9662
47073a38
KH
96632002-01-10 Kazu Hirata <kazu@hxi.com>
9664
9665 * combine.c (expand_field_assignment): Use subreg_lsb().
9666
d288e53d
DE
96672002-01-10 David Edelsohn <edelsohn@gnu.org>
9668
9669 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
9670 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
9671 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
9672 Recurse for any operand of AND as long as constant is non-zero.
9673
08a02ffa
KH
96742002-01-10 Kazu Hirata <kazu@hxi.com>
9675
9676 * config/h8300/h8300.md: Remove constraints from expanders.
9677
c203e7fe
KH
96782002-01-10 Kazu Hirata <kazu@hxi.com>
9679
9680 * varasm.c: Fix formatting.
9681 * varray.c: Likewise.
9682 * vmsdbgout.c: Likewise.
9683 * xcoffout.c: Likewise.
9684
bcb3bc6d
JH
9685Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
9686
9687 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 9688 update edge probabilities to match.
bcb3bc6d 9689
0a553c7e
JM
96902002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
9691
9692 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
9693 dependencies.
9694 * doc/languages.texi, doc/sourcebuild.texi: New files.
9695 * doc/configfiles.texi: Make a subsubsection. Update.
9696 * doc/configterms.texi: Add @node. Remove warning that this isn't
9697 instructions for building GCC.
9698 * doc/makefile.texi: Make a subsection.
9699 * doc/gccint.texi: Update.
9700
adc7fcb8
JH
9701Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
9702
9703 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
9704
5a4dd0b3
NP
9705Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
9706
9707 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
9708
3987b9db
JH
9709Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
9710
9711 * optabs.c (expand_fix): Look for wider integer modes first.
9712
9713 * i386.md (mov?f): Avoid the fake const double trick for medium
9714 memory model.
9715 (min?f*/max?f*): Prohibit memory operands for i387 variant.
9716 (fop_df_4): Disable for SSE compilation.
9717
ceb15948 97182002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
9719
9720 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 9721 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 9722
e1623399
RH
97232002-01-10 Richard Henderson <rth@redhat.com>
9724
9725 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
9726
c4abb293
RH
97272002-01-10 Richard Henderson <rth@redhat.com>
9728
9729 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
9730 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
9731
d2604ae9
KH
97322002-01-10 Kazu Hirata <kazu@hxi.com>
9733
9734 * combine.c (can_combine_p): Fix a comment typo.
9735
766c7ad1
ZW
97362002-01-09 Zack Weinberg <zack@codesourcery.com>
9737
9738 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
9739 empty list correctly. Change loop index $t to $f for
9740 consistency with rest of Makefile.
9741
95385cbb
AH
97422002-01-08 Aldy Hernandez <aldyh@redhat.com>
9743
9744 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
9745 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
9746
9747 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
9748 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
9749 (altivec_init_builtins): Same.
9750 (altivec_expand_unop_builtin): Return NULL_RTX on error.
9751 (altivec_expand_binop_builtin): Same.
9752 (altivec_expand_ternop_builtin): Same.
9753 (bdesc_dst): New.
9754
9755 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
9756 ("altivec_vctuxs"): Fix typo.
9757 ("altivec_vnmsubfp"): Same.
9758 ("altivec_dssall"): New.
9759 ("altivec_mfvscr"): New.
9760 ("altivec_dss"): New.
9761 ("altivec_lvsl"): New.
9762 ("altivec_lvsr"): New.
9763 ("altivec_dstt"): New.
9764 ("altivec_dstst"): New.
9765 ("altivec_dststt"): New.
9766 ("altivec_dst"): New.
9767
9768 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
9769 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
9770
e4ac76b4
RH
97712002-01-09 Richard Henderson <rth@redhat.com>
9772
9773 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
9774
c893e4a4
HPN
97752002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
9776
9777 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
9778 function.
9779 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
9780 prototype.
7387c700 9781 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 9782
f4f4d0f8
KH
97832002-01-09 Kazu Hirata <kazu@hxi.com>
9784
9785 * read-rtl.c: Fix formatting.
9786 * real.c: Likewise.
9787 * regclass.c: Likewise.
9788 * regrename.c: Likewise.
9789 * reg-stack.c: Likewise.
9790 * reload1.c: Likewise.
9791 * reload.c: Likewise.
9792 * rtl.c: Likewise.
9793
cc863bea
KH
97942002-01-09 Kazu Hirata <kazu@hxi.com>
9795
9796 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
9797 to extract items in the expr_list chain.
9798
7b4dfe3d
RH
97992002-01-09 Richard Henderson <rth@redhat.com>
9800
9801 * config/vax/vax.c (vax_rtx_cost): Never abort.
9802
1d969638
RH
9803 * config/vax/vax.h (REAL_ARITHMETIC): Define.
9804
7d5ab30e
JH
98052002-01-09 Jan Hubicka <jh@suse.cz>
9806
9807 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
9808
9503f3d1
RH
98092002-01-09 Richard Henderson <rth@redhat.com>
9810
9811 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
9812 Unify code from various alternatives.
9813
42bd17b7
RH
98142002-01-09 Richard Henderson <rth@redhat.com>
9815
9816 * regrename.c (copy_value): Ignore the copy if the source register
9817 is present in the value chain with a narrower mode.
9818
bdca3c33
HB
98192002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9820
cda94cbb
RH
9821 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
9822 for the c4x target. Also improve layout.
bdca3c33 9823
c73a5e94
RH
98242002-01-09 Richard Henderson <rth@redhat.com>
9825
9826 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
9827 * config/m32r/m32r.md (and ior xor splitters): Swap operands
9828 to match insn patterns.
9829
dd0a18c0
RH
98302002-01-09 Richard Henderson <rth@redhat.com>
9831
9832 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
9833 (copyprop_hardreg_forward_1): Likewise.
9834
1fd9ac1e
JDA
98352002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
9836
9837 * pa.md (decrement_and_branch_until_zero): Change predicate for
9838 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
9839
5cb265ec
BM
98402002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
9841
9842 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
9843 gets undefined. For Darwin.
9844
fcd8fa8b
HB
98452002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9846
9847 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
9848
bd3ab23a
MH
98492002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9850
9851 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
9852
21e16bd6
RH
98532002-01-08 Richard Henderson <rth@redhat.com>
9854
9855 * regrename.c (copy_value): Ignore overlapping copies.
9856
a5376276
RH
98572002-01-08 Richard Henderson <rth@redhat.com>
9858
9859 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
9860 as needed to avoid shared structure.
9861
18cf8dda
KH
98622002-01-08 Kazu Hirata <kazu@hxi.com>
9863
9864 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
9865 H8/300H and H8/S.
9866
16c484c7
JM
98672002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
9868
9869 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
9870 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
9871 documentation of obsolete macros.
9872 * system.h: Poison these macros.
9873 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
9874 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
9875 config/c4x/c4x.h, config/clipper/clipper.h,
9876 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
9877 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
9878 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
9879 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
9880 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
9881 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
9882 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
9883 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
9884 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
9885 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
9886 config/sparc/sparc.h, config/stormy16/stormy16.h,
9887 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
9888 definitions and commented out definitions of obsolete macros.
9889 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
9890 of MAX_INT_TYPE_SIZE.
9891
14b3e8ef
UW
98922002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
9893
9894 * config/s390/s390.c (s390_preferred_reload_class): Never
9895 return ADDR_REGS if it isn't a subset of the given class.
9896 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
9897 FP_REGS, but all superclasses as well.
9898
9899 * config/s390/s390.c (s390_function_profiler): Fix thinko.
9900
9901 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
9902 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
9903 must not be a const_int.
9904
a693284d
RH
99052002-01-08 Richard Henderson <rth@redhat.com>
9906
9907 * Makefile.in (toplev.o): Depend on options.h.
9908 (gcc.o): Depend on specs.h.
9909
b3ca30df
JJ
99102002-01-08 Jakub Jelinek <jakub@redhat.com>
9911
9912 * expr.c (store_expr): Convert VOIDmode constants back to target's
9913 mode.
9914
24dbb440
GP
99152002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9916
9917 * doc/invoke.texi: Markup gcc as @command. Refer to
9918 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
9919 of http://gcc.gnu.org/thanks.html.
9920
234e114c
DJ
99212002-01-08 Dale Johannesen <dalej@apple.com>
9922
9923 * config/rs6000/rs6000.md: Add missing int register
9924 target case to movdf_low.
9925
0d24f4d1
ZW
99262002-01-08 Zack Weinberg <zack@codesourcery.com>
9927
9928 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
9929 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
9930 (cppinit.o): Depend on except.h.
9931 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
9932 s-specs): New rules.
9933
9934 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
9935 Don't create specs.h/options.h/gencheck.h here. Remove
9936 unnecessary variable settings from last argument of AC_OUTPUT.
9937 * config.in, configure: Regenerate.
9938 * intl.c: Hardcode package name as "gcc".
9939
9940 * cppinit.c: Include except.h.
9941 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
9942 appropriate.
9943 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
9944 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
9945 (!)USING_SJLJ_EXCEPTIONS.
9946 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
9947
ed722f66
JM
99482002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
9949
9950 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
9951 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
9952 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
9953 documentation of obsolete macros.
9954 * system.h: Poison these macros.
9955 * config/d30v/d30v.h, config/ns32k/encore.h,
9956 config/stormy16/stormy16.h: Remove definitions and commented out
9957 definitions of obsolete macros.
9958
31e5e29a
NP
9959Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
9960
9961 * objc/objc-act.c (handle_class_ref): Mark the declaration of
9962 %sobjc_class_ref_%s as used - to prevent unwanted compiler
9963 warnings.
9964
bc1fa59c
UW
99652002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
9966
9967 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
9968 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
9969 to insn adjusting stack/frame pointer.
0d24f4d1 9970 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
9971 accept operands that cause the insn to be non-splittable.
9972
a8086abf
GS
99732002-01-08 Graham Stott <grahams@redhat.com>
9974
9975 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
9976 (C_TYPE_FIELDS_VOLATILE): Likewise.
9977 (C_TYPE_BEING_DEFINED): Likewise.
9978 (C_IS_RESERVED_WORD): Likewise.
9979 (C_TYPE_VARIABLE_SIZE): Likewise.
9980 (C_DECL_VARIABLE_SIZE): Likewise.
9981 (C_MISSING_PROTOTYPE_WARNED): Likewise.
9982 (C_SET_EXP_ORIGINAL_CODE): Likewise.
9983 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
9984 parenthesis.
9985 (C_DECL_ANTICIPATED): Likewise.
9986 (c_build_type_variant): Add parenthesis.
9987
3f595aa1
JM
99882002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
9989
9990 * gcc.c (option_map): Remove --version.
9991 (process_command): Handle -fversion following the GNU Coding
9992 Standards. Partially addresses PR other/704.
9993
5bc5a8f9
GS
99942002-01-08 Graham Stott <grahams@redhat.com>
9995
9996 * combine.c (combine_instructions): Fix typo.
9997
16ec4ebf
GS
99982002-01-08 Graham Stott <grahams@redhat.com>
9999
10000 * debug.h: Use "tree" and "rtx" throughout.
10001
10002 * debug.c: Likewise.
10003
4b69f385
NC
100042002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
10005
10006 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
10007 constant pool, use the pool's version of the symbol instead.
10008
57d1019b
RH
100092002-01-07 Richard Henderson <rth@redhat.com>
10010
10011 * regrename.c (find_oldest_value_reg): Ignore the value chain if
10012 the original register was copied in a mode with a fewer number of
10013 hard registers than the desired mode.
10014 (copyprop_hardreg_forward_1): Likewise.
10015 (debug_value_data): Fix loop test.
10016 * toplev.c (parse_options_and_default_flags): Reenable
10017 -fcprop-registers at -O1.
10018
100192002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 10020
0d24f4d1
ZW
10021 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
10022 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 10023
0d24f4d1
ZW
10024 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
10025 predicates.
fa066a23 10026
0d24f4d1 10027 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 10028
8f949e7e
JDA
100292002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
10030
10031 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
10032 (pa_output_function_prologue): Output local label at the beginning of
10033 the prologue when profiling.
10034 (hppa_profile_hook): Use the local label rather than the function label.
10035 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
10036
c62f2db5
AH
100372002-01-07 Aldy Hernandez <aldyh@redhat.com>
10038
0d24f4d1
ZW
10039 * config/rs6000/rs6000.c (print_operand): Remove extra space.
10040 (altivec_expand_unop_builtin): Fix thinko.
10041 (altivec_expand_binop_builtin): Same.
10042 (altivec_expand_ternop_builtin): Same.
10043 (altivec_expand_builtin): Same.
c62f2db5 10044
b5235ba7
RH
100452002-01-07 Richard Henderson <rth@redhat.com>
10046
10047 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
10048
7d8ac293
JM
100492002-01-07 Jason Merrill <jason@redhat.com>
10050
10051 * unwind-dw2.c (execute_cfa_program): Use < again.
10052
571a03b8
JJ
100532002-01-07 Jakub Jelinek <jakub@redhat.com>
10054
10055 * predict.c (combine_predictions_for_insn): Avoid division by zero.
10056
2e951384
JJ
100572002-01-07 Jakub Jelinek <jakub@redhat.com>
10058
10059 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
10060 Don't allow -1 - x -> ~x simplifications in the first pass.
10061
20e26713
AH
100622002-01-07 Aldy Hernandez <aldyh@redhat.com>
10063
0d24f4d1
ZW
10064 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
10065 arguments.
10066 (altivec_expand_binop_builtin): Same.
10067 (altivec_expand_unop_builtin): Same.
10068 (print_operand): Fix typo.
10069 (bdesc_1arg): Add vupk* variants.
20e26713 10070
0d24f4d1 10071 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 10072
0d24f4d1 10073 * rs6000.md: Add altivec_vupk* variants.
20e26713 10074
4dd57c18
JM
100752002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
10076
10077 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
10078 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
10079 and last update dates.
10080
0341c5d2
JJ
100812002-01-07 Janis Johnson <janis187@us.ibm.com>
10082
10083 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
10084
c7f3e0b0
MM
100852002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
10086
10087 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
10088 * config/avr/avr.h (CPP_SPEC): Likewise.
10089 (LINK_SPEC): Likewise.
10090 (CRT_BINUTILS_SPECS): Likewise.
10091 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
10092 * doc/invoke.texi (AVR Options): Document them.
10093
6ba4d630
JH
10094Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
10095
10096 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
10097 LABEL_NUSES.
10098
6253d571
GS
100992002-01-07 Graham Stott <grahams@redhat.com>
10100
0d24f4d1
ZW
10101 * config/i386/i386.h: Update copyright date.
10102 (HALF_PIC_PTR): Add parenthesis.
10103 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
10104 (CONSTANT_ALIGNMENT): Add parenthesis.
10105 (DATA_ALIGNMENT): Likewise.
10106 (LOCAL_ALIGNMENT): Likewise.
10107 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
10108 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
10109 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
10110 (HARD_REGNO_NREGS): Add paranethesis.
10111 (VALID_SSE_REG_MODE): Whitespace.
10112 (VALID_MMX_REG_MODE): Whitespace.
10113 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
10114 (ix86_hard_regno_mode_ok): Add parenthesis.
10115 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
10116 (RETURN_IN_MEMORY): Whitespace.
10117 (N_REG_CLASSES): Add parenthesis.
10118 (INTEGER_CLASS_P): Add parenthesis and wrap.
10119 (FLOAT_CLASS_P): Likewise.
10120 (SSE_CLASS_P): Likewise.
10121 (MMX_CLASS_P): Likewise.
10122 (MAYBE_INTEGER_CLASS_P): Likewise.
10123 (MAYBE_FLOAT_CLASS_P): Likewise.
10124 (MAYBE_SSE_CLASS_P): Likewise.
10125 (MAYBE_MMX_CLASS_P): Likewise.
10126 (Q_CLASS_P): Likewise.
10127 (GENERAL_REGNO_P): Uppercase macro parameter.
10128 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
10129 (FP_REGNO_P): Likewise.
10130 (ANY_FP_REGNO_P): Uppercase macro parameter.
10131 (SSE_REGNO_P): Likewise.
10132 (SSE_REGNO): Likewise.
10133 (SSE_REG_P): Likewise.
10134 (SSE_FLOAT_MODE_P): Likewise.
10135 (MMX_REGNO_P): Likewise.
10136 (MMX_REG_P):Likewise.
10137 (STACK_REG_P): Likewise.
10138 (NON_STACK_REG_P): Likewise.
10139 (STACK_TOP_P): Likewise.
10140 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
10141 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
10142 (SECONDARY_MEMORY_NEEDED): Likewise.
10143 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
10144 (MD_ASM_CLOBBERS): Whitespace and wrap.
10145 (MUST_PASS_IN_STACK): Whitespace and wrap.
10146 (RETURN_POPS_ARGS): Add parenthesis.
10147 (INIT_CUMULATIVE_ARGS): Likewise.
10148 (FUNCTION_ARG): Likewise.
10149 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
10150 (SETUP_INCOMING_VARARGS): Likewise.
10151 (BUILD_VA_LIST_TYPE): Add parenthesis.
10152 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
10153 parenthsis.
10154 (EXPAND_BUILTIN_VA_ARG): Likewise.
10155 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
10156 (INITIALIZE_TRAMPOLINE): Add parenthesis.
10157 (INITIAL_ELIMINATION_OFFSET): Likewise.
10158 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
10159 (REGNO_OK_FOR_BASE_P): Likewise.
10160 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
10161 (REGNO_OK_FOR_DIREG_P): Likewise.
10162 (REG_OK_FOR_INDEX_P): Whitespace.
10163 (REG_OK_FOR_BASE_P): Whitespace.
10164 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
10165 parenthesis.
10166 (FIND_BASE_TERM): Fix typo.
10167 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
10168 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
10169 (SYMBOLIC_CONST; Whitespace.
10170 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
10171 (ENCODE_SECTION_INFO): Whitespace.
10172 (FINALIZE_PIC): Remove do { ... } while (0).
10173 (PROMOTE_MODE): Wrap in do { ... } while (0).
10174 (CONST_COSTS): Whitespace.
10175 (RTX_COSTS): Add paramethesis, whitespace and wrap.
10176 (REGISTER_MOVE_COST): Add parenthesis.
10177 (MEMORY_MOVE_COST): Likewise.
10178 (EXTRA_CC_MODES): Whitespace.
10179 (SELECT_CC_MODE): Add parenthesis and whitespace.
10180 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
10181 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
10182 (ASM_OUTPUT_LABEL): Add paramethesis.
10183 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
10184 (ASM_OUTPUT_REG_POP): Likewise.
10185 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
10186 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 10187
07933f72
GS
10188 * config/i386/i386.c: Update copyright.
10189 (CHECK_STACK_LIMIT): Add parenthesis.
10190 (AT_BP): Uppercase macro parameter.
10191 (x86_64_int_parameter_registers): Constify.
10192 (x86_64_int_return_registers): Likewise.
10193 (ix86_compare_op0): Use rtx.
10194 (construct_container): Constify INTREG parameter.
10195 (function_arg): Use rtx.
10196
0b4d32c9
GS
10197 * diagnostic.h: Update copyright date.
10198 (output_buffer_state): Add parenthesis.
10199 (output_buffer_format_args): Likewise.
10200
6253d571
GS
10201 * combine.c (combine_instructions): Replace XEXP (links, 0)
10202 with link.
10203
68f3f6f1
L
102042002-01-06 H.J. Lu <hjl@gnu.org>
10205
10206 * cfgcleanup.c (thread_jump): Fix 2 typos.
10207
102082002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 10209
0d24f4d1 10210 * config.gcc: Add support for --enable-altivec.
480f7f3a 10211
13b8c631
CR
102122002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
10213
10214 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
10215
58ad89b1
JJ
102162002-01-06 Jakub Jelinek <jakub@redhat.com>
10217
10218 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
10219 __objc_class_name_*.
10220
e403b4bc
CR
102212002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
10222
10223 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
10224
e41c7831
RH
102252002-01-06 Richard Henderson <rth@redhat.com>
10226
10227 * reorg.c (emit_delay_sequence): Remove death notes, not merely
10228 nop them out. Increment label reference count for REG_LABEL.
10229 (fill_slots_from_thread): Frob label reference count around
10230 delete_related_insns.
10231
3b3b1e32
RH
102322002-01-05 Richard Henderson <rth@redhat.com>
10233
10234 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
10235 jump threading.
10236
c28abdf0
RH
102372002-01-05 Richard Henderson <rth@redhat.com>
10238
10239 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
10240 * integrate.c (output_inline_function): Likewise.
10241 * toplev.c (rest_of_compilation): Do it here instead. Move call
10242 to remove_unnecessary_notes after emitting abstract instance.
10243 Force an emitted nested function to have its parent emited as well.
10244 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
10245 for null.
10246 (rtl_for_decl_location): Do not look at reload data structures
10247 before reload has run.
10248
c4f2c499
KH
102492002-01-05 Kazu Hirata <kazu@hxi.com>
10250
10251 * cse.c: Fix formatting.
10252 * dwarf2asm.c: Likewise.
10253 * dwarf2out.c: Likewise.
10254 * explow.c: Likewise.
10255 * expmed.c: Likewise.
10256 * function.c: Likewise.
10257 * gcov.c: Likewise.
10258 * gencheck.c: Likewise.
10259 * genrecog.c: Likewise.
10260 * ggc-common.c: Likewise.
10261 * ggc-page.c: Likewise.
10262 * global.c: Likewise.
10263
cf0d9408
KH
102642002-01-05 Kazu Hirata <kazu@hxi.com>
10265
10266 * combine.c: Fix formatting.
10267
bedca03a
CR
102682002-01-05 Craig Rodrigues <crodrigu@bbn.com>
10269
10270 PR middle-end/1557
10271 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
10272
0134bf2d
DE
102732002-01-05 David Edelsohn <edelsohn@gnu.org>
10274
10275 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
10276 as 1 for __powerpc64__ as well.
10277
10278 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
10279
10280 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
10281 return it.
10282
9ca88d5a
DB
102832002-01-05 Daniel Berlin <dan@dberlin.org>
10284
10285 * lcm.c: Revert change, due to performance regression it causes on
10286 SPEC because it's slightly more conservative (sigh, I hate
10287 edge-based LCM).
0d24f4d1 10288
1c570418
JH
10289Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
10290
10291 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
10292
d83bb9f7
NB
102932002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
10294
10295 * doc/cppinternals.texi: Update.
10296
3e0f61ac
HPN
102972002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
10298
10299 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
10300 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
10301 negatives.
10302 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
10303 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
10304 kludge for pre-october-14th mmix versions to handle new-found bug
10305 with PUSHJ/PUSHGO and the register stack.
10306 * config/mmix/mmix.h (struct machine_function): Rename member
10307 has_call_value_without_parameters to has_call_without_parameters.
10308 All referers changed.
10309 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
10310 TARGET_MASK_BRANCH_PREDICT): New macros.
10311 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
10312 -mno-reg-stack-fill-bug-workaround.
10313 * config/mmix/mmix.md ("call"): Set struct machine member
10314 has_call_without_parameters.
10315
4deaa2f8
JH
10316Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
10317
10318 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
10319
9f16e871
JH
10320Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
10321
10322 * cfgcleanup.c: Include tm_p.h
10323 (mark_effect): Fix handling of hard register; fix handling of SET
10324
96eb1157
KH
103252002-01-04 Kazu Hirata <kazu@hxi.com>
10326
10327 * config/h8300/h8300.md (anonymous patterns): Check that
10328 operands are registers before using REGNO on them.
10329
48180d68
RM
103302002-01-03 Roland McGrath <roland@frob.com>
10331
10332 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
10333
b0832fe1
JJ
103342002-01-04 Jakub Jelinek <jakub@redhat.com>
10335
10336 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
10337 * c-common.h (genrtl_expr_stmt_value): Likewise.
10338 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
10339 (expand_expr_stmt_value): Add maybe_last argument.
10340 Don't warn about statement with no effect if it is the last statement
10341 in expression statement.
10342 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
10343 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
10344 expand_expr_stmt_value.
10345 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
10346 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
10347 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
10348 as maybe_last to expand_expr_stmt_value.
10349
c1e14513
JL
10350Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
10351
0d24f4d1
ZW
10352 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
10353 be passed in, do not build it.
10354 (c_begin_if_stmt): New function.
10355 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
10356 * c-common.h (c_expand_start_cond): Update prototype.
10357 (c_begin_if_stmt): Prototype new function.
10358 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
10359 * c-parse.in (if_prefix): Use c_begin_if_stmt,
10360 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 10361
b6ec437a
WC
103622002-01-04 William Cohen <wcohen@redhat.com>
10363
10364 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
10365 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
10366 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
10367 * config/pa/som.h (ASM_FILE_START): Likewise.
10368
ead39bdf 103692002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
10370
10371 * lcm.c: Include df.h.
10372 Add available_transfer_function prototype.
10373 (compute_available): Rework to use iterative dataflow framework.
10374 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
10375 with bb_info in df.h
10376 (available_transfer_function): New function.
10377
10378 * Makefile.in (lcm.o): add df.h to dependencies.
10379
551cc6fd
RH
103802002-01-04 Richard Henderson <rth@redhat.com>
10381
10382 * config/alpha/alpha.c (some_operand): Accept HIGH.
10383 (input_operand): Likewise; accept simple references to globals.
10384 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
10385 (alpha_const_double_ok_for_letter_p): Likewise.
10386 (alpha_extra_constraint): Likewise.
10387 (alpha_preferred_reload_class): Likewise. Do not force
10388 symbolic constants to memory.
10389 (alpha_legitimate_address_p): Accept simple references
10390 to small_symbolic_operand.
10391 (alpha_legitimize_address): New arg scratch. Be prepared to be
10392 called when no_new_pseudos. Emit simple symbolic references.
10393 Split integers into low, high, and rest.
10394 (alpha_expand_mov): Use alpha_legitimize_address.
10395 (some_small_symbolic_mem_operand): New.
10396 (split_small_symbolic_mem_operand): New.
10397 * config/alpha/alpha-protos.h: Update.
10398 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
10399 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
10400 (EXTRA_CONSTRAINT): Likewise.
10401 (PREFERRED_RELOAD_CLASS): Likewise.
10402 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
10403 (PREDICATE_CODES): Update.
10404 * config/alpha/alpha.md: New post-reload splitters to convert
10405 simplfied symbolic operands to the form that references $29.
10406 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
10407 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
10408
1eaea054
RH
104092002-01-03 Richard Henderson <rth@redhat.com>
10410
10411 * local-alloc.c (function_invariant_p): Update commentary.
10412
c4cc12b7
L
104132002-01-04 H.J. Lu <hjl@gnu.org>
10414
10415 * toplev.c (rest_of_compilation): Fix a typo when calling
10416 cleanup_cfg.
10417
173bf5be
KH
104182002-01-03 Kazu Hirata <kazu@hxi.com>
10419
10420 * c-common.c: Fix formatting.
10421 * diagnostic.c: Likewise.
10422 * doloop.c: Likewise.
10423 * dwarf2out.c: Likewise.
10424
187462ac
KH
104252002-01-03 Kazu Hirata <kazu@hxi.com>
10426
10427 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
10428 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
10429
5d8ebbd8
NB
104302002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
10431
10432 * cpperror.c: Update comments and copyright.
10433 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
10434 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
10435
518c1311
JDA
104362002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
10437
10438 * collect2.c (main): Use strcmp when testing for "-shared".
10439
d15a58c0
NB
104402002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
10441
10442 * cppmacro.c: Don't include intl.h. Update comments.
10443 (new_number_token): Allocate enough buffer for 64-bit unsigned
10444 integers; update prototype.
10445 * cppmain.c: Update comments.
10446
70f4f91c
WC
104472002-01-03 William Cohen <wcohen@redhat.com>
10448
10449 * function.h (struct function): Add profile.
10450 (current_function_profile): New.
10451 doc/extend.texi: Update documentation.
10452 * final.c (final_start_function): Use current_function_profile
10453 instead of profile_flag.
10454 (profile_after_prologue): Likewise.
10455 * function.c (expand_function_start): Likewise.
10456 (expand_function_start): Likewise.
c4cc12b7 10457 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
10458 (alpha_does_function_need_gp): Likewise.
10459 (alpha_expand_prologue): Likewise.
10460 * config/arm/arm.c (arm_expand_prologue): Likewise.
10461 thumb_expand_prologue: Likewise.
10462 * config/d30v/d30v.c (d30v_stack_info): Likewise.
10463 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
10464 (fr30_expand_prologue): Likewise.
10465 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
10466 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
10467 * config/i386/i386.h (FINALIZE_PIC): Likewise.
10468 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
10469 * config/i960/i960.c (i960_output_function_prologue): Likewise.
10470 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
10471 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
10472 (m32r_expand_prologue): Likewise.
10473 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
10474 (m88k_expand_prologue): Likewise.
10475 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
10476 * config/mips/mips.c (compute_frame_size): Likewise.
10477 (mips_expand_prologue): Likewise.
10478 (mips_can_use_return_insn): Likewise.
10479 * config/pa/elf.h (ASM_FILE_START): Likewise.
10480 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
10481 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
10482 * config/pa/som.h (ASM_FILE_START): Likewise.
10483 * config/romp/romp.c (romp_using_r14): Likewise.
10484 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
10485 (rs6000_stack_info): Likewise.
10486 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 10487 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
10488 * config/v850/v850.c (compute_register_save_size): Likewise.
10489
cb1ac742
JJ
104902002-01-03 Jakub Jelinek <jakub@redhat.com>
10491
10492 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
10493 gen_lowpart_common fails, use gen_lowpart_SUBREG.
10494
61d951df 104952002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 10496
61d951df
TC
10497 * darwin.c (machopic_output_possible_stub_label): Don't generate
10498 stub routines for pseudo-stubs which we've just defined.
10499
505ddab6
KH
105002002-01-03 Kazu Hirata <kazu@hxi.com>
10501
10502 * builtins.c: Fix formatting.
10503 * c-typeck.c: Likewise.
10504 * combine.c: Likewise.
10505 * expr.c: Likewise.
10506 * loop.c: Likewise.
10507
b7e30d8a
AS
105082002-01-03 Andreas Schwab <schwab@suse.de>
10509
10510 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
10511 and return true if _cpp_push_next_buffer pushed a new include
10512 file.
10513 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
10514 _cpp_pop_file_buffer did not push a new file.
10515 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
10516
ff81832f
EC
105172002-01-02 Eric Christopher <echristo@redhat.com>
10518
10519 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
10520 FIND_REG_INC_NOTE call. Update copyright.
10521 * loop.c (canonicalize_condition): Ditto.
10522 * reorg.c (delete_scheduled_jump): Ditto.
10523
8e42ace1
KH
105242002-01-03 Kazu Hirata <kazu@hxi.com>
10525
10526 * gcse.c: Fix formatting.
10527
fb2bf631
GS
105282002-01-03 Graham Stott <grahams@redhat.com>
10529
10530 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
10531 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 10532 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
10533
10534 * system.h: Move forward defs for struct tags rtx_def, union_tree,
10535 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 10536 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
10537
105382002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
10539
10540 * tree.h: Update copyright date.
10541 (IS_EXPR_CODE_CLASS): Add parenthesis.
10542 (TREE_SET_CODE): Add whitespace.
10543 (TREE_CHECK): Add parenthesis.
10544 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
10545 (CST_OR_CONSTRUCTOR_CHECK):
10546 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
10547 (TREE_SYMBOL_REFERENCED): Whitespace.
10548 (INT_CST_LT): Likewise.
10549 (INT_CST_LT_UNSIGNED): Likewise.
10550 (tree_real_cst): Unwrap comment.
10551 (tree_string): Likewise.
10552 (tree_complex): Likewise.
10553 (IDENTIFIER_POINTER): correct cast.
10554 (SAVE_EXPR_CONTEXT): Whitespace.
10555 (EXPR_WFL_FILENAME_NODE): Likewise.
10556 (EXPR_WFL_FILENAME): Remove parenthesis.
10557 (DECL_ORIGIN): Add parenthesis.
10558 (DECL_FROM_INLINE): Use NULL_TREE.
10559 (build_int_2): Whitespace.
10560 (build_type_variant): Add parenthesis.
10561
10562 * gcc/jcf-parse.c: Update copyright date.
10563 (yyparse): Constify resource_filename.
10564
f52eda29
GS
105652002-01-03 Graham Stott <grahams@redhat.com>
10566
10567 * rtl.h: Update copyright date.
10568 (RTL_CHECK1): Wrap long line.
10569 (RTL_CHECK2): Likewise.
10570 (RTL_CHECKC1): Wrap long line and whitespace.
10571 (RTL_CHECKC2): Likewise.
10572 (XWINT): Whitespace.
10573 (XINT): Likewise.
10574 (XSTR): Likewise.
10575 (XEXP): Likewise.
10576 (XVEC): Likewise.
10577 (XMODE): Likewise.
10578 (XBITMAP): Likewise.
10579 (XTREE): Likewise.
10580 (XBBDEF): Likewise.
10581 (XTMPL): Likewise.
10582 (X0WINT): Likewise.
10583 (X0INT):Likewise.
10584 (X0UINT): Likewise.
10585 (X0STR): Likewise.
10586 (X0EXP): Likewise.
10587 (X0VEC): Likewise.
10588 (X0MODE): Likewise.
10589 (X0BITMAP): Likewise.
10590 (X0TREE): Likewise.
10591 (X0BBDEF): Likewise.
10592 (X0ADVFLAGS): Likewise.
10593 (X0CSELIB): Likewise.
10594 (X0MEMATTR): Likewise.
10595 (XCWINT): Likewise.
10596 (XCINT): Likewise.
10597 (XCUINT): Likewise.
10598 (XCSTR): Likewise.
10599 (XCEXP): Likewise.
10600 (XCVEC): Likewise.
10601 (XCMODE): Likewise.
10602 (XCBITMAP): Likewise.
10603 (XCTREE): Likewise.
10604 (XCBBDEF): Likewise.
10605 (XCADVFLAGS): Likewise.
10606 (XCCSELIB): Likewise.
10607 (XC2EXP): Likewise.
10608 (INSN_UID): Likewise.
10609 (PREV_INSN): Likewise.
10610 (PATTERN): Likewise.
10611 (INSN_CODE): Likewise.
10612 (PUT_REG_NOTE_KIND): Likewise.
10613 (CODE_LABEL_NUMBER): Likewise.
10614 (NOTE_SOURCE_FILE): Likewise.
10615 (NOTE_BLOCK): Likewise.
10616 (NOTE_EH_HANDLER): Likewise.
10617 (NOTE_RANGE_INFO): Likewise.
10618 (NOTE_LIVE_INFO): Likewise.
10619 (NOTE_BASIC_BLOCK): Likewise.
10620 (NOTE_EXPECTED_VALUE): Likewise.
10621 (NOTE_LINE_NUMBER): Likewise.
10622 (LABEL_NAME): Likewise.
10623 (LABEL_NUSES): Likewise.
10624 (LABEL_ALTERNATE_NAME): Likewise.
10625 (ADDRESSOF_DECL): Likewise.
10626 (JUMP_LABEL): Likewise.
10627 (LABEL_NEXTREF): Likewise.
10628 (REGNO): Likewise.
10629 (ORIGINAL_REGNO: Likewise.
10630 (HARD_REGISTER_NUM_P): Add parenthesis.
10631 (SUBREG_REG): Whitespace.
10632 (SUBREG_BYTE): Likewise.
10633 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
10634 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
10635 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
10636 (ASM_OPERANDS_INPUT_VEC): Likewise.
10637 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
10638 (ASM_OPERANDS_INPUT): Likewise.
10639 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
10640 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
10641 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
10642 (ASM_OPERANDS_INPUT_MODE): Likewise.
10643 (ASM_OPERANDS_SOURCE_FILE): Likewise.
10644 (ASM_OPERANDS_SOURCE_LINE): Likewise.
10645 (MEM_SET_IN_STRUCT_P): Minor reformat.
10646 (TRAP_CONDITION): Whitespace.
10647 (TRAP_CODE): Likewise.
10648 (COND_EXEC_TEST): Likewise.
10649 (COND_EXEC_CODE): Likewise.
10650 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
10651 (PHI_NODE_P): Add parenthesis.
10652 (plus_constant): Whitespace and add parenthesis.
10653
e03f5d43
KH
106542002-01-03 Kazu Hirata <kazu@hxi.com>
10655
10656 * config/avr/avr.c: Fix comment typos.
10657 * config/c4x/c4x.md: Likewise.
10658 * config/dsp16xx/dsp16xx.h: Likewise.
10659 * config/dsp16xx/dsp16xx.md: Likewise.
10660 * config/i386/i386.md: Likewise.
10661 * config/ia64/ia64.c: Likewise.
10662 * config/m32r/m32r.h: Likewise.
10663 * config/m68hc11/m68hc11.md: Likewise.
10664 * config/mmix/mmix.c: Likewise.
10665 * config/mn10200/mn10200.c: Likewise.
10666 * config/romp/romp.c: Likewise.
10667 * config/sh/sh.c: Likewise.
10668 * config/stormy16/stormy16.c: Likewise.
10669 * config/stormy16/stormy16.h: Likewise.
10670 * config/stormy16/stormy16.md: Likewise.
10671
97e300e9
GS
106722002-01-03 Graham Stott <grahams@redhat.com>
10673
10674 * loop.h: Update copyright date.
0d24f4d1
ZW
10675 (LOOP_MOVABLES): Fix typo.
10676 (LOOP_REGS): Likewise.
10677 (LOOP_IVS): Likewise.
ff81832f 10678
745b26b3
GS
106792002-01-03 Graham Stott <grahams@redhat.com>
10680
10681 * cppinit.c: Update copyright date.
10682 Don't include output.h
10683 * Makefile.in: Update copyright date.
10684 Update dependency.
10685
0a379b7a
CR
106862002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
10687
10688 PR c/5226
10689 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
10690 (-pthread) Add to RS/6000 options.
10691
a8154559
KH
106922002-01-02 Kazu Hirata <kazu@hxi.com>
10693
10694 * except.c: Fix comment typos.
10695 * loop.c: Likewise.
10696 * varasm.c: Likewise.
10697 * doc/tm.texi: Fix a typo.
10698
e6ecc89b
JJ
106992002-01-02 Jakub Jelinek <jakub@redhat.com>
10700
10701 * c-typeck.c (output_init_element): Allow initializing static storage
10702 duration objects with compound literals.
10703
d1094b40
RH
107042002-01-02 Richard Henderson <rth@redhat.com>
10705
10706 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
10707 after abusing it.
10708
0c5d8c82
KG
107092002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10710
5e65297b
KG
10711 * gcc.c (default_compilers): Const-ify.
10712 * mips-tdump.c (stab_names): Likewise.
10713 * mips-tfile.c (map_coff_types, map_coff_storage,
10714 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
10715 pseudo_ops_t, pseudo_ops): Likewise.
10716 * protoize.c (default_include): Likewise
10717
0c5d8c82
KG
10718 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
10719 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
10720 Add array size in declaration.
10721 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
10722 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
10723 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
10724 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
10725 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
10726 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
10727 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
10728 emtens, make_nan): Const-ify.
10729 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
10730 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
10731
817e13c4
JM
107322002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
10733
10734 * config.gcc (ia64-*-*): Set extra_headers.
10735 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
10736 * config/alpha/t-osf: Remove.
10737 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
10738
98095e2b
DE
107392002-01-02 David Edelsohn <edelsohn@gnu.org>
10740
10741 * config/rs6000/t-aix43: Revert previous change.
10742
a4200657
JM
107432002-01-02 Jason Merrill <jason@redhat.com>
10744
10745 * c-decl.c (c_expand_body): Call outlining_inline_function when
10746 emitting an inline function out of line.
10747
54ba1f0d
RH
107482002-01-02 Richard Henderson <rth@redhat.com>
10749
10750 * dwarf2out.c (limbo_die_node): Add created_for member.
10751 (new_die): New argument created_for. Update all callers.
10752 (mark_limbo_die_list): New.
10753 (dwarf2out_init): Register limbo_die_list as a root.
10754 (dwarf2out_finish): Force insert limbo dies into their function
10755 context.
10756
323728aa
NS
107572002-01-02 Nathan Sidwell <nathan@codesourcery.com>
10758
10759 PR c++/5089
10760 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
10761
aefc5826
KH
107622002-01-02 Kazu Hirata <kazu@hxi.com>
10763
10764 * config/h8300/fixunssfsi.c: Update copyright.
10765 Fix comment typos.
10766 Fix formatting.
10767 * config/h8300/h8300.c: Update copyright.
10768 Eliminate warnings.
10769
b1c9bc51
KH
107702002-01-02 Kazu Hirata <kazu@hxi.com>
10771
10772 * config/romp/romp.c: Fix comment formatting.
10773 * config/romp/romp.h: Likewise.
10774 * config/romp/romp.md: Likewise.
10775 * config/s390/s390.c: Likewise.
10776 * config/stormy16/stormy16.c: Likewise.
10777 * config/stormy16/stormy16.h: Likewise.
10778
1574ef13
AO
107792002-01-02 Alexandre Oliva <aoliva@redhat.com>
10780
10781 * c-common.h (genrtl_expr_stmt_value): Declare.
10782 * c-semantics.c (genrtl_goto_stmt): Redirect to...
10783 (genrtl_goto_stmt_value): ... this new function. Pass new
10784 argument down to expand_expr_stmt_value, taking
10785 TREE_ADDRESSABLE into account.
10786 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
10787 STMT_EXPR as addressable, i.e., one whose result we want.
10788 * expr.c (expand_expr): Don't save expression statement value
10789 of labeled_blocks or loop_exprs.
10790 * stmt.c (expand_expr_stmt): Redirect to...
10791 (expand_expr_stmt_value): ... this new function. Use new
10792 argument to tell whether to save expression value.
10793 (expand_end_stmt_expr): Reset last_expr_type and
10794 last_expr_value if we don't have either.
10795 * tree-inline.c (declare_return_variable): Mark its use
10796 statement as addressable.
10797 * tree.h: Document new use of TREE_ADDRESSABLE.
10798 (expand_expr_stmt_value): Declare.
10799
252b88f7
TR
108002002-01-01 Tom Rix <trix@redhat.com>
10801
10802 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
10803 rs6000_emit_allocate_stack.
10804
29f7a208
JM
108052002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
10806
10807 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
10808 ${srcdir}/ginclude/ to every entry in extra_headers.
10809 * configure: Regenerate.
10810 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
10811 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
10812 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
10813 * ginclude/proto.h: Rename to config/convex/proto.h.
10814
2cc2d4bb
RK
10815Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10816
10817 * attribs.c (handle_vector_size_attribute): Use host_integerp
10818 and tree_int_cst; remove warnings.
10819 * caller-save.c (insert_restore): Add cast to get rid of warning.
10820 (insert_save): Likewise.
10821 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
10822 * regmove.c (find_matches): Add temporary var to kill a warning.
10823
f01c9bcd
DR
108242002-01-01 Douglas B Rupp <rupp@gnat.com>
10825
16b61764
DR
10826 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
10827 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
10828 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
10829 (vms-dwarf2eh.o): Add Makefile rule.
10830 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
10831 * config/alpha/vms-dwarf2eh.asm: New file.
10832
f01c9bcd
DR
10833 * gcc.c (delete_if_ordinary): Delete all versions.
10834
91312b81
HPN
108352002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
10836
10837 * config/mmix/mmix.md: Update FIXME to not mention
10838 define_constants.
10839 (MMIX_rJ_REGNUM): New define_constants constant.
10840 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
10841 "*movdicc_real"): Adjust contraints formatting.
10842 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
10843 for branch prediction.
10844 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
10845 output template.
10846 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
10847 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
10848 number. Delete related FIXMEs.
10849 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
10850 from number to MMIX_rJ_REGNUM.
10851 (TARGET_MASK_BRANCH_PREDICT): New.
10852 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
10853 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
10854 value. Add -mbranch-predict and -mno-branch-predict.
10855 (TARGET_VERSION): Drop date.
10856 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
10857 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
10858 for finding out global symbols.
10859 (mmix_asm_output_labelref): Revert condition for global symbol.
10860 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
10861 (mmix_print_operand_punct_valid_p): A '+' is valid.
10862
619acae7 10863See ChangeLog.6 for earlier changes.
This page took 1.503559 seconds and 5 git commands to generate.