]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
[multiple changes]
[gcc.git] / gcc / ChangeLog
CommitLineData
bcf2fe9c
RH
12002-04-15 Richard Henderson <rth@redhat.com>
2
3 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
4
629111c7
DM
52002-04-15 David S. Miller <davem@redhat.com>
6
7 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
8 as being CLOBBERed.
9
98ef3137
JJ
102002-04-16 Jakub Jelinek <jakub@redhat.com>
11
12 PR c/6290
13 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
14 CONST_VECTOR is { 0, ... 0 }.
15
0aa911c5
LR
162002-04-15 Loren J. Rittle <ljrittle@acm.org>
17
18 * doc/install.texi (Installing GCC: Configuration): Clarify
19 the only supported ways to configure gcc.
20
83248d49
RM
212002-04-15 Roland McGrath <roland@frob.com>
22
23 * config.gcc (alpha*-*-gnu*): New target configuration.
24 * config/alpha/gnu.h: New file for it.
25 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
26
8fe2d853
RH
272002-04-15 Richard Henderson <rth@redhat.com>
28
29 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
30 config/i386/linux-aout.h, config/i386/linux-oldld.h,
31 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
32 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
33 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
34 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
35 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
36 Define __gnu_linux__, not gnu_linux.
37 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
38
07cdae91
MM
392002-04-15 Mark Mitchell <mark@codesourcery.com>
40
41 Remove Chill front end.
42 * gcc.c (default_compilers): Remove Chill entries.
43 * ch: Remove directory.
44 * doc/frontends.texi: Remove information about Chill.
45 * doc/sourcebuild.texi: Likewise.
46 * doc/standards.texi: Likewise.
47
41823c5e
DR
482002-04-15 Douglas B Rupp <rupp@gnat.com>
49
50 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
51 (LONGLONG_STANDALONE): Define.
52
eb29ddb6
DM
532002-04-15 David S. Miller <davem@redhat.com>
54
55 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
56 Call emit_library_call with LCT_NORMAL.
57 (sparc_initialize_trampoline): Use LCT_foo instead of
58 magic constant in emit_library_call invocations.
59 (sparc64_initialize_trampoline): Likewise.
60 (sparc_profile_hook): Likewise.
61 * config/sparc/sparc.md: Likewise.
62
63 * config/sparc/sparc.c (sparc_extra_constraint_check):
64 Fix type of argument 'c'.
65 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
66 Likewise.
67
bd6bec6b
GDR
682002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
69
70 * diagnostic.h (output_buffer_state): Redefine.
71 (output_format_decoder): New macro.
72 (output_prefixing_rule): Likewise.
73 (output_line_cutoff): Likewise.
74 (diagnostic_format_decoder): Adjust.
75 (diagnostic_prefixing_rule): Likewise.
76 (diagnostic_line_cutoff): Likewise.
77 (diagnostic_state): Likewise.
78 (diagnostic_kind_count): Likewise.
79 (diagnostic_buffer): Now a macro.
80
81 * diagnostic.c (diagnostic_buffer): Remove definition.
82 (output_is_line_wrapping): Adjust.
83 (set_real_maximum_length): Likewise.
84 (output_set_maximum_length): Likewise.
85 (init_output_buffer): Likewise.
86 (lhd_print_error_function): Likewise.
87 (output_do_verbatim): Likewise.
88
ebef4e8c
NB
892002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
90
91 * cpperror.c (print_location): Don't print include chain
92 if line == 0.
93 (cpp_begin_message): Update to use DL_ macros.
94 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
95 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
96 cpp_notice, cpp_notice_from_errno): Remove.
97 (cpp_error, cpp_error_with_line): Update to take a diagnostic
98 level.
99 (cpp_errno): New.
100 * cppexp.c (CPP_ICE): Remove.
101 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
102 lex, integer_overflow, _cpp_parse_expr): Update.
103 * cppfiles.c (read_include_file, find_include_file,
104 handle_missing_header, _cpp_read_file, remap_filename): Update.
105 * cpphash.h (enum error_type): Remove.
106 (_cpp_begin_message): Update.
107 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
108 cpp_handle_option, cpp_post_options): Update.
109 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
110 skip_whitespace, parse_identifier, parse_slow, parse_string,
111 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
112 cpp_interpret_charconst): Update.
113 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
114 lex_macro_node, do_undef, glue_header_name, parse_include,
115 do_include_common, read_flag, do_line, do_linemarker, do_ident,
116 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
117 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
118 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
119 _cpp_pop_buffer, do_diagnostic): Update.
120 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
121 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
122 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
123 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
124 cpp_notice, cpp_notice_from_errno): Remove.
125 (cpp_error, cpp_error_with_line): Update to take a diagnostic
126 level.
127 (cpp_errno): New.
128 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
129 collect_args, enter_macro_context, save_parameter, parse_params,
130 _cpp_create_definition, check_trad_stringification,
131 cpp_macro_definition): Update.
132 * cppmain.c (cpp_preprocess_file): Update.
133 * fix-header.c (read_scan_file): Update.
134
c19a3859
AS
1352002-04-14 Andreas Schwab <schwab@suse.de>
136
137 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
138
10fdbed6
JD
1392002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
140
141 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
142
77660a9a
MM
1432002-04-13 Mark Mitchell <mark@codesourcery.com>
144
145 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
146 not gnu_hurd.
147
e0ff1ded
HPN
1482002-04-13 Hans-Peter Nilsson <hp@axis.com>
149
150 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
151
2341c7ea
JS
1522002-04-13 Joel Sherrill <joel@OARcorp.com>
153
154 * config/sparc/t-elf: Enable v8 multilibs. Impacts
155 sparc-elf and sparc-rtems targets.
156
d29350c0
MM
1572002-04-13 Mark Mitchell <mark@codesourcery.com>
158
159 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
160 defined, and __gnu_hurd__ wherever __GNU__ is defined.
161 * arm/linux-elf.h: Likewise.
162 * cris/aout.h: Likewise.
163 * cris/linux.h: Likewise.
164 * i370/linux.h: Likewise.
165 * i386/gnu.h: Likewise.
166 * i386/linux-aout.h: Likewise.
167 * i386/linux-oldld.h: Likewise.
168 * i386/linux.h: Likewise.
169 * i386/linux64.h: Likewise.
170 * ia64/linux.h: Likewise.
171 * m68k/linux-aout.h: Likewise.
172 * m68k/linux.h: Likewise.
173 * mips/linux.h: Likewise.
174 * pa/pa-linux.h: Likewise.
175 * pj/linux.h: Likewise.
176 * rs6000/sysv4.h: Likewise.
177 * s390/linux.h: Likewise.
178 * sh/linux.h: Likewise.
179 * sparc/linux-aout.h: Likewise.
180 * sparc/linux.h: Likewise.
181 * sparc/linux64.h: Likewise.
182 * xtensa/linux.h: Likewise.
183
fc552851
RS
1842002-04-13 Richard Sandiford <rsandifo@redhat.com>
185
186 * stmt.c (check_unique_operand_names): Expect operand names to
187 be strings rather than identifiers. Use simple_cst_equal to
188 compare them.
189 (resolve_operand_name_1): Make same identifier to string change here.
190 * c-parse.in (asm_operand): Convert a named operand into a string.
191 * cp/parse.y (asm_operand): Likewise.
192
1d405c5e
AS
1932002-04-13 Andreas Schwab <schwab@suse.de>
194
195 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
196
c740732f
MM
1972002-04-12 Mark Mitchell <mark@codesourcery.com>
198
199 Revert these changes:
200
201 2002-04-06 Mark Mitchell <mark@codesourcery.com>
202
203 PR c++/5571
204 * stor-layout.c (layout_decl): Reset the RTL for the decl.
205
3fc602a0
RH
2062002-04-12 Richard Henderson <rth@redhat.com>
207
208 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
209 (sparc*-*-solaris): Clean up header files.
210 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
211 and plan on generating 64-bit code.
212 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
213 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
214 * config/sparc/sol2-sld-64.h: Rename ...
215 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
216 for AS_SPARC64_FLAG not defined.
217 * config/sparc/sol2-gld-bi.h: New.
218 * config/sparc/sol2-sld.h: Remove.
219 * config/sparc/sol26-sld.h: New.
220 * config/sparc/sol2.h: Tidy comments.
221 * doc/install.texi: Document sparc-solaris configury changes.
222
2f15e255
RH
2232002-04-12 Richard Henderson <rth@redhat.com>
224
225 * recog.c (offsettable_address_p): Match the logic in adjust_address.
226
227 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
228 in 64-bit mode only. Use only for 32-bit or MEDLOW.
229
cc8475cb
RO
2302002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
231
232 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
233
6f133a4a
JL
234Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
235
ef1b8858 236 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
237 constrain_operands.
238
1329e600
DR
2392002-04-12 Douglas B Rupp <rupp@gnat.com>
240
241 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
242 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
243 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 244 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
245 * config/i386/t-interix (USER_H): Remove.
246
0339d239
DD
2472002-04-12 DJ Delorie <dj@redhat.com>
248
249 * integrate.c (compare_blocks): Make comparisons safe for when
250 sizeof(int) < sizeof(char *).
251 (find_block): Likewise.
252
cc4d5fec
JH
2532002-04-12 Jan Hubicka <jh@suse.cz>
254 David Edelsohn <edelsohn@gnu.org>
255
256 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
257 registers.
258 (symbol_ref_operand): New.
259 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
260 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
261
93215a1b
AS
2622002-04-12 Andreas Schwab <schwab@suse.de>
263
264 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
265 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
266 overrides the definition in config/svr4.h.
267
1d80248e
EN
2682002-04-12 Eric Norum <eric.norum@usask.ca>
269
270 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
271 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
272 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
273 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
274 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
275 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
276 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
277 definitions to config/rtems.h and make the targets more similar.
278
fa1591cb
RK
279Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
280
fa06ab5c
RK
281 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
282 POINTERS_EXTEND_UNSIGNED.
283 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
284 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
285
fa1591cb
RK
286 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
287 not specified.
288
12e85a0e
R
289Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
290
291 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
292 depends on TARGET_SHMEDIA, not TARGET_SH5.
293
1ab3e58a
HPN
2942002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
295
296 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
297 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
298
18778292
R
299Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
300
301 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
302 no r0 clobber.
303
9002507c
AS
3042002-04-12 Andreas Schwab <schwab@suse.de>
305
306 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
307
9be40833
RH
3082002-04-12 Richard Henderson <rth@redhat.com>
309
310 PR bootstrap/4191
311 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
312
313 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
314 modes spanning multiple hard regs.
315
316 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
317
3d9268b6
JDA
3182002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
319
320 * pa.c (pa_output_function_prologue): Don't accumulate the total
321 number of code bytes when using TARGET_64BIT, or gas, SOM and not
322 the portable runtime.
323 (output_deferred_plabels): Handle 64bit plabels.
324 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
325 generating pic code using the GAS assembler for object formats that
326 are not SOM (ie., ELF32 and ELF64).
327 (output_millicode_call): Check attribute type if attribute length is 28.
328 Likewise use $PIC_pcrel$0. Only call get_attr_length and
329 dbr_sequence_length once.
330 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
331 dbr_sequence_length once.
332 * pa.h (TARGET_SOM): Define if not defined.
333 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
334 with GAS and not SOM.
335 (jump, call_internal_reg, call_value_internal_reg): Likewise.
336 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
337
d360fd18
DB
3382002-04-11 David O'Brien <obrien@FreeBSD.org>
339
340 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
341 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
342 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
343 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
344 elfos.h and dbxelf.h values are fine now.
345 * config/i386/freebsd.h, config/alpha/freebsd.h
346 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
347
5b8fcab6
DB
3482002-04-11 David O'Brien <obrien@FreeBSD.org>
349
350 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
351 or set Acpu or Amachine. Reformat.
352 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
353 define.
354 (LINK_SPEC): Do not need to undef.
355 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
356 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
357 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
358 define.
359 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
360 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
361 (LINK_SPEC): Do not need to undef.
362 (DONT_USE_BUILTIN_SETJMP): Do not define.
363 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
364 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
365 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
366 Remove trailing spaces.
367 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
368 __ELF__, or set Acpu or Amachine. Reformat.
369 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
370 define.
371
fee42cc1
DB
3722002-04-11 David O'Brien <obrien@FreeBSD.org>
373
374 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
375 all other *-*-freebsd* targets.
376
77a403e4
RH
3772002-04-11 Richard Henderson <rth@redhat.com>
378
379 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
380
cf0005c6
DB
3812002-04-11 David O'Brien <obrien@FreeBSD.org>
382
383 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
384 Include {cpu}/{cpu}.h thru tm_file.
385 (alpha*-*-linux*ecoff): Remove target.
386 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
387 (LINK_SPEC): Remove, is not OS independent.
388 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
389 (LINK_SPEC): Do not need to #undef any longer.
390 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
391 any longer.
392 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
393 __ELF__.
394 (LINK_SPEC): Moved here from alpha/elf.h.
395 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
396 SUB_CPP_PREDEFINES.
397 * config/alpha/linux-ecoff.h: Remove.
398 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
399 (CPP_SPEC): Define _POSIX_SOURCE as needed.
400 (CPP_SUBTARGET_SPEC): Do not define.
401 (LINK_SPEC): Do not need to #undef any longer.
402 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
403 * config/alpha/vms.h: Likewise.
404
9be40833 4052002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
406
407 * doc/extend.texi: Remove old claim that typedefs cannot have
408 an alignment attribute.
409
010f87c4
JJ
4102002-04-11 Jakub Jelinek <jakub@redhat.com>
411
412 PR optimization/6177
413 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
414 bitpos is 0 and bitsize CONCAT size.
415
578fc63d
JJ
4162002-04-11 Jakub Jelinek <jakub@redhat.com>
417
418 PR c/6223
419 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
420
bf9b85ce
DB
4212002-04-10 David O'Brien <obrien@FreeBSD.org>
422
423 * config/alpha/freebsd.h: Minor reformatting.
424 (CPP_SPEC): Define ELF and add cpp_subtarget.
425 (ASM_SPEC): No longer needed.
426
7425707d
RH
4272002-04-11 Richard Henderson <rth@redhat.com>
428
429 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
430 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
431 (dimode mem/zero splitter): New.
432
1a05e874
HPN
4332002-04-11 Hans-Peter Nilsson <hp@axis.com>
434
435 * config/cris/cris.c (cris_override_options): Tweak error message
436 for PIC not implemented.
437
438 * config/cris/cris.h: Tweak comments related to parameter-passing.
439
440 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
441
6f3d0447
RH
4422002-04-10 Richard Henderson <rth@redhat.com>
443
444 * except.c (add_ehl_entry): Allow duplicates after landing pad
445 creation.
446
174bf2b1
DE
4472002-04-10 David Edelsohn <edelsohn@gnu.org>
448
449 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
450
03f10472
TM
4512002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
452
453 * c-decl.c (c_init_decl_processing): Move generation of
454 decls for g77_integer_type_node and friends from here ...
455 * c-common.c (c_common_nodes_and_builtins): ... to here.
456
2f460a0a
UW
4572002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
458
459 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
460 is only used as frame pointer when frame_pointer_needed is true.
461
0be5cf85
RE
4622002-04-10 Richard Earnshaw <rearnsha@arm.com>
463
464 PR target/817
465 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
466 for the fact that the pool entry uses two words.
467 (movdf_hard_insn): Similarly. Also, ADR instruction can span
468 1k bytes.
469 (movdf_soft_insn): Similarly.
470 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
471 for the fact that the pool entry uses three words.
472
bf6d4777
RS
4732002-04-10 Richard Sandiford <rsandifo@redhat.com>
474
475 * config/mips/mips.c (mips_va_arg): When using the struct version
476 of the EABI va_list, allow arguments in the register save area to
477 take up less room than a stack argument.
478
c2e9dc85
RH
4792002-04-10 Richard Henderson <rth@redhat.com>
480
481 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
482 if EXPAND_INITIALIZER.
483
bc8e8e97
RH
4842002-04-09 Richard Henderson <rth@redhat.com>
485
486 * config/alpha/alpha.md (movdi_er_maybe_g): New.
487 * config/alpha/alpha.c (alpha_expand_mov): Use it.
488
a6a063b8
AM
4892002-04-10 Alan Modra <amodra@bigpond.net.au>
490
491 PR optimization/6233
492 * rtlanal.c (pure_call_p): New function.
493 * rtl.h (pure_call_p): Declare.
494 * loop.c (prescan_loop): Use it to set has_nonconst_call.
495 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
496
7b2e1077
EC
4972002-04-09 Eric Christopher <echristo@redhat.com>
498
499 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
500 information to .comm directive.
501
d8a50944
RH
5022002-04-09 Richard Henderson <rth@redhat.com>
503
504 PR c/5078
505 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
506
6a58eee9
RH
5072002-04-09 Richard Henderson <rth@redhat.com>
508
509 * basic-block.h (flow_delete_block_noexpunge): Declare.
510 (expunge_block_nocompact): Declare.
511 * cfg.c (expunge_block_nocompact): Split out from ...
512 (expunge_block): ... here.
513 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
514 (flow_delete_block_noexpunge): Split out from ...
515 (flow_delete_block): ... here.
516 * cfgcleanup.c (delete_unreachable_blocks): Compact while
517 removing dead blocks.
518 * except.c (exception_handler_labels): Remove.
519 (exception_handler_label_map): New.
520 (struct eh_region): Add aka member.
521 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
522 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
523 (for_each_eh_label, for_each_eh_label_1): New.
524 (init_eh): Register exception_handler_label_map.
525 (free_eh_status): Use free_region.
526 (find_exception_handler_labels): Use the map, not the list.
527 (remove_exception_handler_label): Likewise.
528 (maybe_remove_eh_handler): Likewise.
529 (remove_eh_handler): Use the region aka bitmap.
530 * except.h (exception_handler_labels): Remove.
531 (for_each_eh_label): Declare.
532 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
533 * loop.c (invalidate_loops_containing_label): New.
534 (find_and_verify_loops): Use it. Use for_each_eh_label.
535 * sched-rgn.c (is_cfg_nonregular): Use
536 current_function_has_exception_handlers.
537
b47374fa
RH
5382002-04-09 Richard Henderson <rth@redhat.com>
539
540 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
541 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
542 Do not return changed status.
543 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
544 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
545 New functions that do return changed status.
546 * sbitmap.h: Update decls.
547 * gcse.c, lcm.c: Use _cg functions as needed.
548
1951818c
R
549Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
550
551 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
552 (sh64-*-elf*, sh-*-rtemself*): Likewise.
553 * config/sh/embed_bb.c: New file.
554 * config/sh/embed-elf.h: New file.
555 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
556 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
557 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
558 __PTRDIFF_TYPE__ .
559 (SUBTARGET_CPP_PTR_SPEC): Don't define.
560 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
561 Add subtarget_asm_endian_spec.
562 (ASM_SPEC): Use subtarget_asm_endian_spec.
563 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
564 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
565 (WCHAR_UNSIGNED): Define.
566 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
567 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
568 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
569 Fix value.
570 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
571 (sh_adjust_cost): Likewise.
572 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
573 __PTRDIFF_TYPE__ .
574 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
575 (WCHAR_TYPE_SIZE): Likewise.
576 (ASM_SPEC): Use subtarget_asm_endian_spec.
577 (SH_ELF_WCHAR_TYPE): #undef/ #define.
578 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
579 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
580 (MAX_WCHAR_TYPE_SIZE): Don't #define .
581 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
582 (USER_LABEL_PREFIX): Don't #undef /#define .
583 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
584 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
585 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
586 (ASM_SPEC): Likewise.
587 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
588 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
589 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
590 (LIB2FUNCS_EXTRA): Define.
591 * t-sh64 (LIB2FUNCS_EXTRA): Define.
592 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
593 (LIB1ASMFUNCS_CACHE): Define.
594 (LIB2FUNCS_EXTRA): Redefine empty.
595
34295799
RH
5962002-04-08 Richard Henderson <rth@redhat.com>
597
598 * reorg.c (get_branch_condition): Use reversed_comparison_code.
599
e8766a39
SC
6002002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
601
602 * config/m68hc11/larith.asm (__map_data_section): Fix condition
603 and optimize for size.
604 (__do_global_ctors): Fix pointer comparison.
605 (__do_global_dtors): Likewise.
606
f451b552
DM
6072002-04-09 David S. Miller <davem@redhat.com>
608
609 * config/sparc/sparc.c (sparc_extra_constraint_check): New
610 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
611 allow reloading pseudos.
612 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
613 * config/sparc/sparc-protos.h: Declare it.
614
615 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
616 unsigned comparison warning.
617 (output_restore_regs): Mark leaf_function as unused.
618
1ce7f3c2
RK
619Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
620
621 * expr.c (is_aligning_offset): New function.
622 (expand_expr, case COMPONENT_EXPR): Call it.
623
7a31a340
DM
6242002-04-08 David S. Miller <davem@redhat.com>
625
626 PR target/6082
627 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
628
629 Make init_priority work on Sparc when using GNU ld.
630 * config/sparc/linux.h, config/sparc/linux64.h,
631 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
632 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
633 * config/sparc/sol2-gld.h: New file to do the same.
634 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
635 sparc/sol2-gld.h to tm_file.
636
637 PR optimization/4328
638 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
639 * doc/md.texi: Document it.
640 * config/sparc/sparc.md (movdi_insn_sp64_novis,
641 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
642 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
643 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
644 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
645
11579f33
AJ
6462002-04-08 Andreas Jaeger <aj@suse.de>
647
648 * stmt.c (expand_asm_operands): Revert last patch from Richard
649 Henderson.
650
b57215d9
GP
6512002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
652
653 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
654 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
655
6562002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
657
658 * doc/contrib.texi (Contributors): Add David O'Brien.
659
534d0cc0
AM
6602002-04-08 Alan Modra <amodra@bigpond.net.au>
661
662 * configure.in (auto-build.h): Use target_alias and build_alias
663 when running configure.
664 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
665 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
666 * configure: Regenerate.
667
19fe522a
DM
6682002-04-07 David S. Miller <davem@redhat.com>
669
670 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
671
bf2d0b8e
JDA
6722002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
673
674 PR 5933
675 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
676 generating 32-bit pic code.
677
477cdac7
JT
6782002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
679
680 * cppinit.c (cpp_create_reader): Initialize
681 discard_comments_in_macro_exp.
682 (COMMAND_LINE_OPTIONS): Add "-CC" option.
683 (cpp_handle_option): Handle "-CC" option.
684 * cpplex.c (save_comment): If saving a C++ comment in
685 a directive, convert it to a C comment.
686 (_cpp_lex_direct): Pass second comment start character to
687 save_comment to indicate comment type.
688 * cpplib.c (_cpp_handle_directive): If processing
689 a "#define" directive and discard_comments_in_macro_exp
690 is false, re-enable saving of comments.
691 (lex_macro_node): If discard_comments_in_macro_exp is false,
692 discard any comments before the macro identifier.
693 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
694 member.
695 * cppmacro.c (cpp_get_token): If expanding a macro while
696 processing a directive, discard any comments we might encounter.
697 (parse_params): If discard_comments_in_macro_exp is false,
698 ignore comments in the macro parameter list.
699 * gcc.c (cpp_unique_options): Add "-CC" option.
700 (option_map): Map "--comments-in-macros" to "-CC".
701 * doc/cppopts.texi: Document "-CC" option.
702 * f/lang-specs.h: Add "-CC" option.
703 * testsuite/gcc.dg/cpp/maccom1.c: New test.
704 * testsuite/gcc.dg/cpp/maccom2.c: New test.
705 * testsuite/gcc.dg/cpp/maccom3.c: New test.
706 * testsuite/gcc.dg/cpp/maccom4.c: New test.
707 * testsuite/gcc.dg/cpp/maccom5.c: New test.
708 * testsuite/gcc.dg/cpp/maccom6.c: New test.
709
f1526122
JDA
7102002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
711
712 PR middle-end/6180
713 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
714
b1896e61
MM
7152002-04-06 Mark Mitchell <mark@codesourcery.com>
716
0154eaa8
MM
717 PR c++/5571
718 * stor-layout.c (layout_decl): Reset the RTL for the decl.
719
b1896e61
MM
720 PR opt/5120
721 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
722 RTX_UNCHANGING_P for the functions arguments when a tail call
723 is made.
724
b0148884
JM
7252002-04-06 Jason Merrill <jason@redhat.com>
726
727 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
728 (parse_options_and_default_flags): Set them appropriately.
729 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
730
392fc5b0
HPN
7312002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
732
733 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
734 here.
735
736 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
737 semicolon.
738
739 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
740 types come in by-reference. Fix typo in comment.
741
2d69e3cb
DM
7422002-04-05 David S. Miller <davem@redhat.com>
743
744 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
745 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
746 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
747 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
748
7492002-04-05 David S. Miller <davem@redhat.com>
750
751 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
752 are not going to emit return instructions, emit at least a nop
753 for the sake of sane backtraces.
754
5f9fb0e3
RH
7552002-04-05 Richard Henderson <rth@redhat.com>
756
757 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
758
49f37a0d
JJ
7592002-04-05 Jakub Jeilnek <jakub@redhat.com>
760
761 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
762
974a3101
AO
7632002-04-05 Alexandre Oliva <aoliva@redhat.com>
764
765 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
766 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
767 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
768
2e04a694
AS
7692002-04-05 Andreas Schwab <schwab@suse.de>
770
a40179bd 771 * c-convert.c: Include c-common.h.
2e04a694
AS
772 * Makefile.in (c-convert.o): Updated.
773
1f785b7c
JJ
7742002-04-05 Jakub Jelinek <jakub@redhat.com>
775
776 * mklibgcc.in: Use separate libgcc.map for each multilib.
777 * Makefile.in (distclean): Don't remove libgcc.map here.
778
4d2fb38b
JJ
7792002-04-05 Jakub Jelinek <jakub@redhat.com>
780
781 * Makefile.in (s-mlib): Handle --disable-multilib by separate
782 genmultilib invocation.
783
bb63e5a0
RS
7842002-04-04 Richard Sandiford <rsandifo@redhat.com>
785
786 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
787 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
788 to num_gprs for symmetry.
789 * config/mips/mips.c: Adjust accordingly.
790
8ab80eaa
NB
7912002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
792
793 * c-common.c (truthvalue_conversion): Rename, update.
794 * c-common.h (c_common_truthvalue_conversion): New.
795 * c-convert.c (convert): Update.
796 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
797 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
798 * c-typeck.c (build_binary_op, build_unary_op,
799 build_conditional_expr): Update.
800 * fold-const.c (constant_boolean_node, fold): Use langhook.
801 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
802 * langhooks.h (struct lang_hooks): New hook.
803 * stmt.c (expand_decl_cleanup): Use langhook.
804 * tree.h (truthvalue_conversion): Remove.
805objc:
806 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
807
a2e9374a
AM
8082002-04-05 Alan Modra <amodra@bigpond.net.au>
809
810 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
811 Add rules to make null object file.
812
64d08263
JB
8132002-04-04 Jim Blandy <jimb@redhat.com>
814
815 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
816 macro formal parameter names.
817
aa7634dd
DM
8182002-04-04 David S. Miller <davem@redhat.com>
819
820 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
821
ecc114f7
RH
8222002-04-04 Richard Henderson <rth@redhat.com>
823
824 PR middle-end/5099
825 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
826 Support copies into and out of memory. Don't accept allows_reg
827 and allows_mem as gospel.
828
c4484b8f
RH
8292002-04-04 Richard Henderson <rth@redhat.com>
830
831 PR opt/6165
832 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
833 (write_dependence_p): Likewise.
834
39002160
RH
8352002-04-04 Richard Henderson <rth@redhat.com>
836
837 * predict.c (estimate_bb_frequencies): Do frequency calculation
838 with a volatile temporary.
839
f53ebe71
UW
8402002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
841
842 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
843
15e0ecab
JJ
8442002-04-04 Jakub Jelinek <jakub@redhat.com>
845
846 PR c++/6119
847 * final.c (final_start_function): Don't bump profile_label_no here...
848 (final_end_function): ...but here.
849
ffd386b0
JJ
8502002-04-04 Jakub Jelinek <jakub@redhat.com>
851
852 * config/sparc/sparc.md (pic): New attribute.
853 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
854 into stack slots.
855 (split after do_builtin_setjmp_setup): New.
856
8b156b3e
JJ
8572002-04-04 Jakub Jelinek <jakub@redhat.com>
858
859 PR fortran/6106
860 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
861 change.
862
014c0998
JJ
8632002-04-04 Jakub Jelinek <jakub@redhat.com>
864
865 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
866 UNITS_PER_WORD for zero sized aggregates.
867
4d8611d9
DM
8682002-04-03 David S. Miller <davem@redhat.com>
869
870 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
871 one-character spec for this, just use %(link_gcc_c_sequence).
872
b03ad99d
DM
8732002-04-03 David S. Miller <davem@redhat.com>
874
875 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
876 handling.
877
823fbbce
JDA
8782002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
879
880 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
881 (DWARF_FRAME_RETURN_COLUMN): Move.
882 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
883 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
884 * pa.c (except.h, predict.h): Include.
885 (FRP): Delete.
886 (store_reg_modify, set_reg_plus_d): Revise prototypes.
887 (output_ascii): Add cast.
888 (store_reg_modify): Revise to add frame notes.
889 (set_reg_plus_d): Likewise.
890 (compute_frame_size): Include space for eh data registers in frame if
891 the current function calls eh_return.
892 (hppa_expand_prologue): Ensure register %r2 is saved if the current
893 function calls eh_return. Save eh data registers if the current
894 function calls eh_return. Fix code to add frame notes. Emit
895 blockage to prevent insns with frame notes being scheduled in the
896 delay slot of calls.
897 (hppa_expand_epilogue): Restore eh data registers and do final stack
898 adjustment if the current function calls eh_return. Don't add frame
899 notes.
900 (output_call): Revise for change in length of call insn. Don't do
901 return pointer adjustment for an unconditional jump in the delay slot
902 of a call when using frame notes.
903 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
904 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
905 (ARG_POINTER_CFA_OFFSET): Define.
906 * pa.md (return_external_pic): New pattern.
907 (prologue): Correct formatting. Use return_external_pic if current
908 function calls eh_return.
909 (call_internal_symref, call_value_internal_symref,
910 sibcall_internal_symref, sibcall_value_internal_symref): Change default
911 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
912 respectively.
913 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
914
915 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
916 list of targets to check using "nop" insn.
917 * configure: Rebuilt.
918
4078e224
AM
9192002-04-04 Alan Modra <amodra@bigpond.net.au>
920
921 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
922
bbd7687d
DM
9232002-04-03 David S. Miller <davem@redhat.com>
924
925 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
926 library sequence passed to the linker.
927 (LINK_COMMAND_SPEC): Use it.
928 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
929 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
930 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
931
659e5a7a
JM
9322002-04-03 Jason Merrill <jason@redhat.com>
933
934 * except.c (struct eh_status): Remove protect_list.
935 (begin_protect_partials, end_protect_partials): Remove.
936 (add_partial_entry): Remove.
937 * except.h: Remove prototypes.
938
939 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
940 expand_decl_cleanup_eh.
941
942 PR c++/5636
943 * tree.h (CLEANUP_EH_ONLY): New macro.
944 * stmt.c (expand_decl_cleanup_eh): New fn.
945 (expand_cleanups): Check CLEANUP_EH_ONLY.
946 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
947 Use expand_decl_cleanup_eh.
948 (expand_stmt): Adjust.
949 * c-common.h: Adjust prototype.
950
053d3344
HPN
9512002-04-04 Hans-Peter Nilsson <hp@axis.com>
952
953 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
954 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
955 (cris_target_asm_function_epilogue): Ditto.
956 (cris_initial_frame_pointer_offset): Ditto.
957 (cris_simple_epilogue): Ditto.
958 (cris_expand_builtin_va_arg): Variable-size types come in
959 by-reference.
960
61ab5260
DM
9612002-04-03 David S. Miller <davem@redhat.com>
962
963 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
964 little-endian.
965 (set_fast_math): Correct 'fsr' type.
966
ef4f94ac
RH
9672002-04-03 Richard Henderson <rth@redhat.com>
968
36c2272c 969 PR opt/3569
ef4f94ac
RH
970 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
971 * toplev.c (check_global_declarations): Use it.
972 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
973 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
974 (LANG_HOOKS_DECLS): Add it.
975 * langhooks.c (lhd_warn_unused_global_decl): New.
976 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
977 * c-objc-common.c (c_warn_unused_global_decl): New.
978 * c-tree.h (c_warn_unused_global_decl): Declare.
979 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
980
599bba86
NB
9812002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
982
983 * langhooks-def.h (lhd_set_decl_assembler_name,
984 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
985 (LANG_HOOKS_INITIALIZER): Update.
986 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
987 * langhooks.h (struct lang_hooks): New hook.
988 * tree.c (set_decl_assembler_name): Move to langhooks.c.
989 (lang_set_decl_assembler_name): Remove.
990 (init_obstacks): Don't set hook.
991 (decl_assembler_name): New function.
992 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
993 (decl_assembler_name): New.
994 (lang_set_decl_assembler_name): Remove.
995
cf7b8b0d
JJ
9962002-04-03 Jakub Jelinek <jakub@redhat.com>
997
998 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
999 works properly with .hidden symbols.
1000 * configure: Rebuilt.
1001 * config.in: Rebuilt.
1002 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
1003 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
1004 properly with .hidden symbols.
1005
faf6db38
JJ
10062002-04-03 Jakub Jelinek <jakub@redhat.com>
1007
1008 PR middle-end/6102
1009 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
1010 USE argument.
1011
68c17f30
RH
10122002-04-03 Richard Henderson <rth@redhat.com>
1013
1014 PR opt/4120
1015 * sched-rgn.c (sets_likely_spilled): New.
1016 (sets_likely_spilled_1): New.
1017 (add_branch_dependences): Use it.
1018
6584b4aa
RH
10192002-04-02 Richard Henderson <rth@redhat.com>
1020
1021 PR opt/4311
1022 * loop.h (LOOP_FIRST_PASS): New.
1023 * loop.c (strength_reduce): Mind it when deciding to unroll.
1024 * toplev.c (rest_of_compilation): Set it.
1025
0acf409f
DM
10262002-04-02 David S. Miller <davem@redhat.com>
1027
1028 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
1029 mems_ok_for_ldd_peep when the order of the loads being examined
1030 is reversed.
1031 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
1032 existing comment to increase comprehension of this situation.
1033
85654444
ZW
10342002-04-02 Zack Weinberg <zack@codesourcery.com>
1035
1036 * config/sh/sh.md: Don't use union real_extract.
1037
543828ca
RH
10382002-04-02 Richard Henderson <rth@redhat.com>
1039
1040 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
1041
39ed301b
DB
10422002-04-02 David O'Brien <obrien@FreeBSD.org>
1043
1044 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
1045 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
1046 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
1047 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
1048 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
1049 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
1050 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
1051 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
1052 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
1053 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
1054 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
1055 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
1056 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
1057 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
1058 Include as many configury headers via tm_file as possible. This
1059 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
1060 * config/openbsd-oldgas.h: New file.
1061 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
1062 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
1063 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
1064 config/i386/i386-coff.h, config/i386/i386-interix.h,
1065 config/i386/iscdbx.h, config/i386/linux-aout.h,
1066 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
1067 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
1068 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
1069 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
1070 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
1071 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
1072 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
1073 config/i386/vxi386.h: Do not directly include configury headers.
1074 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
1075 Directly include configury headers that are no longer automatically
1076 included by the above headers.
1077 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
1078 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
1079 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
1080 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
1081 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
1082 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
1083 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
1084 (TARGET_VERSION): Define.
1085 * config/i386/beos-elf.h, config/i386/freebsd.h,
1086 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
1087 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
1088 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
1089 config/i386/sco5.h, config/i386/sysv4.h
1090 (TARGET_VERSION): Do not need to protect.
1091 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
1092 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
1093 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
1094 config/i386/i386-interix.h, config/i386/linux-aout.h,
1095 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
1096 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
1097 (YES_UNDERSCORES): Do not define - not needed.
1098 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
1099 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
1100 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
1101 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
1102 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
1103 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
1104 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
1105 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
1106
9432c136
EB
11072002-04-02 Eric Botcazou <ebotcazou@multimania.com>
1108 Richard Henderson <rth@redhat.com>
1109
1110 PR c/5484
1111 * function.c (assign_temp): Accept either type or decl argument.
1112 Detect variables whose size is too large to fit into an integer.
1113 * stmt.c (expand_decl): Pass the decl, not the type.
1114
058b1275
DB
11152002-04-02 David O'Brien <obrien@FreeBSD.org>
1116
1117 * protoize.c: Match include directory usage with cppdefault.c.
1118
5add6d1a 11192002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 1120 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
1121
1122 * combine.c (simplify_comparison): Avoid narrowing a comparison
1123 with a paradoxical subreg when doing so would drop signficant bits.
1124
1e533e4b
SE
11252002-04-02 Steve Ellcey <sje@cup.hp.com>
1126
1127 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
1128 if POINTERS_EXTEND_UNSIGNED is defined.
1129
7a145e92
RH
11302002-04-02 Richard Henderson <rth@redhat.com>
1131
1132 PR opt/3967
1133 * local-alloc.c (contains_replace_regs): LO_SUM may contain
1134 replace regs.
1135
3a079822
RH
11362002-04-02 Richard Henderson <rth@redhat.com>
1137
1138 * doc/standards.texi: Document required freestanding libc entry points.
1139
c94ccb87
AM
11402002-04-02 Alan Modra <amodra@bigpond.net.au>
1141
1142 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
1143 associated splitter. Remove MQ constraint.
1144 (ctrdi_internal4): Correct CCmode clobber.
1145
fe660a1a
JDA
11462002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
1147
1148 * milli64.S ($$dyncall): New function.
1149 * t-linux (LIB1ASMFUNCS): Revise module list.
1150 (LIB1ASMSRC): Use pa/milli64.S.
1151
eadc0202
RH
11522002-04-02 Richard Henderson <rth@redhat.com>
1153
1154 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
1155 rename solaris_sys_varargs_h.
1156
a1471322
RK
1157Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1158
1159 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
1160 the same mode as its component.
1161
c8b94768
RH
11622002-04-02 Richard Henderson <rth@redhat.com>
1163
1164 PR opt/190
1165 * final.c (this_is_asm_operands): Export.
1166 * output.h (this_is_asm_operands): Declare.
1167 * config/i386/i386.c (print_operand): Error odd asm operands.
1168
161eb4fc
RH
11692002-04-02 Richard Henderson <rth@redhat.com>
1170
1171 PR opt/420
1172 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
1173
b88a94c6
RH
11742002-04-01 Richard Henderson <rth@redhat.com>
1175
1176 PR target/1538
1177 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
1178 * fixinc/fixincl.x: Rebuild.
1179
72e32876
RH
11802002-04-01 Richard Henderson <rth@redhat.com>
1181
1182 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
1183 (atomic_alloc, atomic_free): New.
1184 (SIZE, MASK_FOR, PTR_IN): New.
1185 (emergency_reg_state, emergency_reg_state_free): New.
1186 (emergency_labeled_state, emergency_labeled_state_free): New.
1187 (reg_state_alloced, labeled_state_alloced): New.
1188 (alloc_reg_state, free_reg_state): New.
1189 (alloc_label_state, free_label_state, free_label_states): New.
1190 (push, pop, dup_state_stack, free_state_stack): Use them.
1191 (desc_label_state): Likewise.
1192 (uw_frame_state_for): Free label states and state stack.
1193 (uw_update_reg_address): Eliminate warnings.
1194
84d76074
VM
11952002-04-01 Vladimir Makarov <vmakarov@redhat.com>
1196
1197 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 1198 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 1199
dffd7eb6
NB
12002002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
1201
1202 * c-decl.c (grokdeclarator): Update.
1203 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
1204 * c-tree.h (c_mark_addressable): New.
1205 * c-typeck.c (default_function_array_conversion, build_unary_op,
1206 build_array_ref, convert_for_assignment): Update.
1207 (mark_addressable): Rename.
1208 * calls.c (try_to_integrate, expand_call): Use langhook.
1209 * expr.c (expand_expr): Use langhook.
1210 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
1211 * langhooks.h (struct lang_hooks): New hook.
1212 * stmt.c (expand_asm_operands): Use langhook.
1213 * tree.h (mark_addressable): Remove.
1214objc:
1215 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
1216
544ef5b5
BW
12172002-04-01 Bob Wilson <bob.wilson@acm.org>
1218
9be40833
RH
1219 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
1220 in previous change.
544ef5b5 1221
bcf88f9b
BW
12222002-04-01 Bob Wilson <bob.wilson@acm.org>
1223
1224 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
1225 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
1226
ceef8ce4
NB
12272002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
1228
1229 * c-common.c (unsigned_conversion_warning, convert_and_check,
1230 unsigned_type, signed_type, shorten_compare,
1231 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
1232 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
1233 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
1234 New.
1235 * c-decl.c (grokdeclarator): Update.
1236 * c-format.c (check_format_types): Update.
1237 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
1238 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
1239 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
1240 * convert.c (convert_to_integer): Use new hooks.
1241 * expmed.c (make_tree): Use new hooks.
1242 * expr.c (store_expr): Use new hooks.
1243 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
1244 all_ones_mask_p, unextend, fold): Use new hooks.
1245 * langhooks.h (struct lang_hooks_for_types): New hooks.
1246 * tree.h (signed_or_unsigned_type, signed_type,
1247 unsigned_type): Remove.
1248objc:
1249 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
1250 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
1251
1d9ad0e0
RH
12522002-03-31 Richard Henderson <rth@redhat.com>
1253
1254 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
1255 (desc_frgr_mem): Fix reference to f16-f31.
1256
d544bc39
KG
12572002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1258
1259 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
1260 RTVEC_ELT): Const-ify.
d8750784
KG
1261 * varray.h (VARRAY_CHECK): Const-ify.
1262 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
1263 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 1264
b18101c7
NB
12652002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
1266
1267 * diagnostic.c: Include langhooks-def.h.
1268 * Makefile.in (diagnostic.o): Update.
1269
48a7a235
NB
12702002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
1271
1272 * c-common.c (c_unsafe_for_reeval): Rename.
1273 * c-common.h (c_unsafe_for_reeval): Rename.
1274 * c-decl.c (finish_incomplete_decl): Rename.
1275 (c_init_decl_processing): Don't set langhook.
1276 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
1277 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
1278 * c-objc-common.c (c_objc_common_init): Don't set langhook.
1279 * c-tree.h (finish_incomplete_decl): Rename.
1280 * langhooks-def.h (lhd_unsafe_for_reeval): New.
1281 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
1282 (LANG_HOOKS_INITIALIZER): Update.
1283 * langhooks.c (lhd_unsafe_For_reeval): New.
1284 * langhooks.h (struct langhooks): New hooks.
1285 * toplev.c (incomplete_decl_finalize_hook): Remove.
1286 (wrapup_global_declarations): Update.
1287 * tree.c (lang_unsafe_for_reeval): Remove.
1288 (unsafe_for_reeval): Update.
1289 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
1290 Remove.
1291objc:
1292 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
1293 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
1294
7cb32822
NB
12952002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
1296
1297 * diagnostic.c (print_error_function): Remove.
1298 (default_print_error_function): Rename.
1299 (report_error_function): Update.
1300 * diagnostic.h (print_error_function): Remove.
1301 (default_print_error_function): Remove.
1302 * langhooks-def.h (struct diagnostic_context): Predeclare.
1303 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
1304 (LANG_HOOKS_INITIALIZER): Update.
1305 * langhooks.h (struct diagnostic context): Predeclare.
1306 (struct lang_hooks): New hook.
1307
1db02437
FS
13082002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1309
1310 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
1311 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
1312 !flag_pic.
1313 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
1314 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
1315 of PIC_OFFSET_TABLE_REGNUM thruout.
1316 * config/rs6000/rs6000.md: Likewise.
1317 * config/rs6000/darwin.h: Likewise.
1318
3bf1e984
RK
1319Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1320
1321 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
1322 unsigned HOST_WIDE_INT, not unsigned int.
1323
0864c526
JJ
13242002-03-31 Jakub Jelinek <jakub@redhat.com>
1325
1326 PR middle-end/6096, middle-end/6098, middle-end/6099
1327 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
1328 CODE_LABELs.
1329 (fill_slots_from_thread): Likewise.
1330
105b2084
JJ
13312002-03-31 Jakub Jelinek <jakub@redhat.com>
1332
1333 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
1334 floating fields in float regs.
1335 (function_arg_record_value_2): Likewise.
1336
db08fddf
HPN
13372002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
1338
1339 * config/mmix/mmix.md (define_constants): Remove misleading
1340 FIXME. Add MMIX_fp_rO_OFFSET.
1341 ("nonlocal_goto_receiver"): Don't have stack-frame address of
1342 saved rO as part of the pattern. Remove FIXME.
1343 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
1344 here, at output-time.
1345
4f31cce8
JJ
13462002-03-31 Jakub Jelinek <jakub@redhat.com>
1347
1348 PR middle-end/6100
1349 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
1350 REG_BR_PRED.
1351 (output_v9branch): Likewise.
1352
ba2b7435
AO
13532002-03-31 Alexandre Oliva <aoliva@redhat.com>
1354
1355 * gcc.c: Revert previous patch for now.
1356 * config/i386/djgpp.h: Likewise.
1357
aa66aa5f 13582002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
1359
1360 * config/mmix/crti.asm (_init): Register _fini with atexit.
1361 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
1362
41ba8a20
RH
13632002-03-31 Richard Henderson <rth@redhat.com>
1364
1365 PR target/3997
1366 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
1367 (ASM_OUTPUT_DEF_FROM_DECLS): New.
1368
adc186ef
RH
13692002-03-31 Richard Henderson <rth@redhat.com>
1370
1371 * libgcc2.c (__bb_exit_func): Make static.
1372
9be40833 1373 * config/alpha/alpha.md (trap): New.
a7648399 1374
9602f5a0
RH
13752002-03-31 Richard Henderson <rth@redhat.com>
1376
1377 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
1378 promoted argument types; build trap.
1379 (expand_builtin_trap): New.
1380 (expand_builtin): Use it.
1381 * stmt.c (expand_nl_goto_receivers): Likewise.
1382 * expr.h (expand_builtin_trap): Declare.
1383 * libfuncs.h (LTI_abort, abort_libfunc): New.
1384 * optabs.c (init_optabs): Init abort_libfunc.
1385
1a0a7539
AO
13862002-03-31 Alexandre Oliva <aoliva@redhat.com>
1387
1388 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
1389 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 1390 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
1391 shared_name in the second copy.
1392 (init_spec): Test for duplicate
1393 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
1394
b5de1a27
DM
13952002-03-30 David S. Miller <davem@redhat.com>
1396
1397 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
1398 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
1399
78414d74 14002002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 1401 Richard Henderson <rth@redhat.com>
78414d74 1402
9be40833
RH
1403 * regmove.c (combine_stack_adjustments_for_block): Avoid
1404 emitting a stack adjustment of zero bytes. Let delete_insn
1405 update bb->head.
78414d74 1406
33074e5f
RH
14072002-03-30 Richard Henderson <rth@redhat.com>
1408
1409 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
1410 (sparc_emitting_epilogue): New.
1411 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
1412 * config/sparc/sparc-protos.h: Update.
1413 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
1414 (TARGET_SWITCHES): Update.
1415 * config/sparc/sparc.md (return): Remove.
1416 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
1417 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
1418 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
1419 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
1420 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
1421 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
1422 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
1423 Remove MASK_EPILOGUE.
1424 * doc/invoke.texi: Update.
1425
606cc056
DB
14262002-03-30 Daniel Berlin <dan@dberlin.org>
1427
1428 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
1429 CPP will start the file for us.
7b2e1077 1430
bdbe5b8d
RH
14312002-03-30 Richard Henderson <rth@redhat.com>
1432
1433 PR target/5446
1434 * config/ia64/ia64.c (group_barrier_needed_p): Special case
1435 prologue_allocate_stack.
1436 (ia64_single_set): Use insn codes for recognition of special
1437 cases, not rtl matching.
1438 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
1439
4ab95d82
JH
1440Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
1441
1442 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
1443
89a8b315
RH
14442002-03-30 Richard Henderson <rth@redhat.com>
1445
1446 PR target/6032
1447 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
1448 or -fomit-frame-pointer with profiling.
1449 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
1450 (FUNCTION_PROFILER): Do nothing.
1451 (PROFILE_HOOK): New.
1452 * config/sparc/sparc.c (sparc_override_options): Don't check
1453 code models for profiling.
1454 (sparc_function_profiler): Remove.
1455 (sparc_profile_hook): New.
1456 * config/sparc/sparc-protos.h: Update.
1457
30984c57
JJ
14582002-03-30 Jakub Jelinek <jakub@redhat.com>
1459
1460 PR optimization/6086
1461 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
1462 of SUBREG of volatile MEM or because the MEM was mode dependent,
1463 return CLOBBER instead of unmodified SUBREG.
1464
1540f9eb
JH
1465Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
1466
89a8b315
RH
1467 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
1468 when not optimizing.
1540f9eb
JH
1469
1470 * toplev.c (rest_of_compilation): Cann mark_constant_function
1471 only when optimizing.
1472
89a8b315
RH
1473 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
1474 are NULL.
1540f9eb
JH
1475
1476 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
1477 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
1478 (try_optimize_cfg): clear all AUX fields.
1479
1480 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
1481 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
1482 (ix86_address_cost): Be prepared for SUBREGed registers.
1483 (legitimate_address_p): Accept SUBREGed registers.
1484
70d95bac
RH
14852002-03-29 Richard Henderson <rth@redhat.com>
1486
1487 PR target/5672
1488 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
1489
d3294cd9
FS
14902002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1491
1492 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
1493 for aggregate and TFmode types.
1494
a106c875
HPN
14952002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
1496
1497 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
1498
7d7a5d6f
RH
14992002-03-29 Richard Henderson <rth@redhat.com>
1500
6e2d670b 1501 PR target/5886
7d7a5d6f
RH
1502 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
1503 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
1504
30c99a84
RH
15052002-03-29 Richard Henderson <rth@redhat.com>
1506
6e2d670b 1507 PR target/6041
30c99a84
RH
1508 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
1509 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
1510 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
1511 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
1512 conditional.
1513 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
1514
02a566dc
DJ
15152002-03-29 Dale Johannesen <dalej@apple.com>
1516
1517 * loop.c (combine_movables): Do allow combination of pseudos.
1518
bc3a44db
LR
15192002-03-29 Loren J. Rittle <ljrittle@acm.org>
1520
1521 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
1522 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
1523 No functional change except ...
1524 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
1525 * doc/install.texi (*-*-freebsd*): Document port configuration.
1526
b0c48229
NB
15272002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
1528
1529 * Makefile.in (convert.o, calls.o, expmed.o): Update.
1530 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
1531 Use new hooks.
1532 * builtin-types.def (BT_PTRMODE): Update.
1533 * c-common.c (type_for_size): Rename c_common_type_for_size.
1534 (type_for_mode): Similarly.
1535 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
1536 Use new hook.
1537 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
1538 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
1539 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
1540 Redefine.
1541 * c-typeck.c (common_type, comptypes, default_conversion):
1542 Use new hooks.
1543 * calls.c: Include langhooks.h.
1544 (emit_library_call_value_1): Use new hooks. Avoid redundant
1545 calls.
1546 * convert.c: Include langhooks.h
1547 (convert_to_pointer, convert_to_integer): Use new hooks.
1548 * except.c (init_eh): Similarly.
1549 * expmed.c: Include langhooks.h.
1550 (expand_mult_add): Use new hooks.
1551 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
1552 try_casesi): Similarly.
1553 * fold-const.c (optimize_bit_field_compare, make_range,
1554 decode_field_reference, fold_truthop, fold): Similarly.
1555 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
1556 put_var_into_stack): Similarly.
1557 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
1558 LANG_HOOKS_TYPE_FOR_SIZE): New.
1559 (LANG_HOOKS_TYPES_INITIALIZER): Update.
1560 * langhooks.h (lang_hooks_for_types): New hooks.
1561 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
1562 * tree.c (get_unwidened, get_narrower): Similarly.
1563 * tree.h (type_for_mode, type_for_size): Remove.
1564 * varasm.c (force_const_mem): Use new hooks.
1565 * utils2.c (nonbinary_modular_operation): Update.
1566objc:
1567 * objc-act.c (handle_impent): Update.
1568 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
1569 Redefine.
1570
e206a74f
SE
15712002-03-29 Steve Ellcey <sje@cup.hp.com>
1572
1573 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
1574 * config/ia64/ia64.c (basereg_operand): New.
1575 * config/ia64/ia64-protos.h (basereg_operand): Declare.
1576 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
1577
7d9b6378
HPN
15782002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
1579
1580 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
1581 unwind information when frame_pointer_needed.
1582 (mmix_assemble_integer): Tweak wording in comment.
1583
f1e639b1
NB
15842002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
1585
1586 * Makefile.in (except.o): Update.
1587 * except.c: Include langhooks.h.
1588 (init_eh): Use langhook.
1589 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
1590 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
1591 (LANG_HOOKS_INITIALIZER): Update.
1592 * langhooks.h (lang_hooks_for_types): New.
1593 (struct lang_hooks): Add it.
1594 * tree.c (make_lang_type_fn, make_lang_type): Remove.
1595 * tree.h (make_lang_type_fn, make_lang_type): Remove.
1596config:
1597 * alpha/alpha.c: Include langhooks.h.
1598 (alpha_build_va_list): Use langhook.
1599 * d30v/d30v.c: Include langhooks.h.
1600 (d30v_build_va_list): Use langhook.
1601 * i386/i386.c: Include langhooks.h.
1602 (ix86_build_va_list): Use langhook.
1603 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
1604 * s390/s390.c: Include langhooks.h.
1605 (s390_build_va_list): Use langhook.
1606 * stormy16/stormy16.c: Include langhooks.h.
1607 (stormy16_build_va_list): Use langhook.
1608
f17f9332
JJ
16092002-03-29 Jakub Jelinek <jakub@redhat.com>
1610
1611 PR c++/5964
1612 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
1613 attributes.
1614 (length): Compute variable length for branches/calls/jumps here.
1615 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
1616 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
1617 define branch_type attribute.
1618 (divsi3_sp32): Maximum length is 6 not 7.
1619 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
1620 call_address_untyped_struct_value_sp32,
1621 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
1622 * config/sparc/sparc.c (empty_delay_slot): New function.
1623 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
1624 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
1625
0a0440c9
JJ
16262002-03-29 Jakub Jelinek <jakub@redhat.com>
1627
1628 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
1629 nonzero_bits if not needed.
1630 (nonzero_bits) [XOR]: Likewise.
1631 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
1632 reg_last_set_mode and mode are both MODE_INT, but not equal.
1633 (record_value_for_reg): Compute reg_last_set_nonzero_bits
1634 in nonzero_bits_mode for MODE_INT modes.
1635
c9045f47
RH
16362002-03-28 Richard Henderson <rth@redhat.com>
1637
1638 PR target/5715
1639 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
1640 to GAS. Correct drift between alternatives.
1641
f8ed1958
RH
16422002-03-28 Richard Henderson <rth@redhat.com>
1643
1644 PR target/6087
1645 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
1646
54e20385
LR
16472002-03-28 Alexandre Oliva <aoliva@redhat.com>
1648
1649 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
1650 emulation to the linker.
1651
16522002-03-28 Loren J. Rittle <ljrittle@acm.org>
1653
1654 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
1655 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
1656
8bc52806
JL
1657Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
1658
1659 * combine.c (simplify_and_const_int): Make sure to apply mask
1660 when force_to_mode returns a constant integer. PR3311.
1661
279dccc5
JDA
16622002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
1663
1664 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
1665
62aaa62c
GP
16662002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1667
1668 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
1669 and Objective-C Dialect Options.
1670
b8de5050
RH
16712002-03-28 Richard Henderson <rth@redhat.com>
1672
1673 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
1674 comparison should be done vs !=0 not >0 return code. Tidy cases.
1675
619708cc
RH
16762002-03-28 Richard Henderson <rth@redhat.com>
1677
1678 * c-decl.c (finish_function): New arg can_defer_p. Pass it
1679 on to c_expand_body.
1680 * c-tree.h (finish_function): Update decl.
1681 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
1682
b1d874d7
JH
1683Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
1684
1685 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
1686
f5eb5fd0
JH
1687Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
1688
1689 * rtlanal.c: Include flags.h
1690 (may_trap_p): Do not mark FP operations if trapping
1691 if !flag_trapping_math
1692 * Makefile.in (rtlanal.o): Add dependency on flag.h
1693 * ifcvt.c (noce_operand_ok): Avoid the lameness.
1694
81b4c798
ZW
16952002-03-27 Zack Weinberg <zack@codesourcery.com>
1696
1697 * mips.md: Use dconst1, not 1.0, as first argument of
1698 REAL_VALUE_LDEXP. Don't use union real_extract.
1699
55a2ea2a
AM
17002002-03-28 Alan Modra <amodra@bigpond.net.au>
1701
1702 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
1703 rather than $target. Heed program_prefix and
1704 program_transform_name. Search for gas in cross-compiler case too.
1705 "test -x" rather than "test -f".
1706 (gcc_cv_ld): Likewise.
1707 (gcc_cv_nm): Heed program_prefix and program_transform_name.
1708 (gcc_cv_objdump): Likewise.
1709 * configure: Regenerate.
1710
7ffb4fd2
NB
17112002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
1712
1713 * Makefile.in (attribs.o): Update.
1714 * attribs.c: Include langhooks.h.
1715 (decl_attributes): Use langhook.
1716 * c-decl.c (insert_default_attributes): Rename.
1717 * c-tree.h (c_insert_default_attributes): New.
1718 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
1719 (LANG_HOOKS_INITIALIZER): Update.
1720 * langhooks.h (struct lang_hooks): New hook.
1721 * tree.h (insert_default_attributes): Remove.
1722objc:
1723 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
1724
e4dbaed5
AS
17252002-03-27 Andreas Schwab <schwab@suse.de>
1726
1727 * config/i386/i386.c (classify_argument): Also check for
1728 QUAL_UNION_TYPE.
1729
18b467f1
RO
17302002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1731
1732 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
1733 any more.
1734
d337d653
JH
1735Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
1736
1737 * i960.md (ret): Set PC.
1738 (nonlocal_goto): Fix expander.
1739 * builtins.c (epxand_builin_longjmp): Check that we've emitted
1740 some jump or call.
1741
218aa620
JH
1742Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
1743
1744 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
1745 of libcall regions.
1746
e27a4eaf
ZD
1747Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1748
1749 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
1750 assigning to BLOCK_FOR_INSN directly.
1751
8a12f34c
JH
1752Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
1753
1754 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
1755
c9d892a8
NB
17562002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
1757
1758 * c-common.c (c_expand_expr): Fix prototype.
1759 * c-common.h (c_expand_expr): Always declare, update.
1760 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
1761 * c-objc-common.c (c_objc_common_init): No global hook.
1762 * expr.c (expand_expr): Use langhook.
1763 * expr.h (enum expand_modifier): Conditionally declare.
1764 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
1765 (LANG_HOOKS_INITIALIZER): Update.
1766 * langhooks.c (lhd_expand_expr): New.
1767 * langhooks.h (struct lang_hooks): New hook.
1768 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
1769 (lang_independent_init): Don't default hook.
1770objc:
1771 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
1772
6dad5a56
RH
17732002-03-27 Richard Henderson <rth@redhat.com>
1774
1775 PR target/6054
1776 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
1777 TARGET_CONST_GP. Simplify conditions.
1778
59f96879
RH
17792002-03-27 Richard Henderson <rth@redhat.com>
1780
1781 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
1782 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
1783 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
1784
f3f1190d
DS
17852002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
1786
1787 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
1788 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
1789 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
1790 Remove unnecessary masks.
1791 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
1792 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
1793 -mwindows, -mdll switches and their negations.
1794
31c816cf
NB
17952002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
1796
1797 * gcc-common.c (lang_mark_false_label_stack): Remove.
1798 * ggc.h (lang_mark_false_label_stack): Similarly.
1799
7b2e1077 18002002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
1801
1802 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
1803
1804 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
1805 or __rtems_ is defined.
1806
1ef9531b
RH
18072002-03-26 Richard Henderson <rth@redhat.com>
1808
1809 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
1810 if a non-trivial load was emitted.
1811 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
1812 in high+extra+low case.
1813
300d4093
RH
18142002-03-26 Richard Henderson <rth@redhat.com>
1815
1816 * config.gcc (sparc*-solaris): Use float_format=sparc.
1817
b3689904
RH
18182002-03-26 Richard Henderson <rth@redhat.com>
1819
1820 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
1821 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
1822 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
1823 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
1824 (WINT_TYPE_SIZE): Fix at 32.
1825
1eefb6c1
RH
18262002-03-26 Richard Henderson <rth@redhat.com>
1827
1828 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
1829 until after eh landing pad generation.
1830 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
1831 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
1832
361ea006
RH
18332002-03-26 Richard Henderson <rth@redhat.com>
1834
1835 * expr.h (ADD_PARM_SIZE): One more convert for INC.
1836
1de38a88
PE
18372002-03-26 Phil Edwards <pme@gcc.gnu.org>
1838
1839 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
1840 and warning switches.
1841 (cc1_options): Likewise.
1842
d7e60e95 18432002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 1844
d7e60e95
HB
1845 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
1846 Restore more of the signal context. Set no_reg_stack_frame.
1847 * config/ia64/unwind-ia64.c (unw_state_record):
1848 Add no_reg_stack_frame, comments.
1849 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
1850 (uw_update_context): Adjust bsp when unwinding from leaf,
1851 but not signal frame.
1852
7032923b
DE
18532002-03-26 David Edelsohn <edelsohn@gnu.org>
1854
1855 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
1856
8be56275
BW
18572002-03-26 Bob Wilson <bob.wilson@acm.org>
1858
1859 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
1860
56fbb855
RE
18612002-03-26 Richard Earnshaw <rearnsha@arm.com>
1862
1863 PR target/5621
1864 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
1865 "Add a pool_range attribute", which was lost during the ARM/Thumb
1866 merge.
1867
3437320b
BW
18682002-03-26 Bob Wilson <bob.wilson@acm.org>
1869
1870 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
1871 a register into the MAC16 accumulator.
1872
173028e5
AC
18732002-03-26 Andrew Cagney <ac131313@redhat.com>
1874
1875 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
1876 (Warning Options): Document -Wswitch-enum.
1877 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
1878 -Wswitch.
1879 (warn_switch_enum): Define variables.
1880 * flags.h (warn_switch_enum): Declare variables.
1881 * stmt.c (expand_end_case_type): When warn_switch_enum /
1882 -Wswitch-enum, perform switch checks.
1883 Fix PR c/5044.
7b2e1077 1884
e14365a7
RE
18852002-03-26 Richard Earnshaw <rearnsha@arm.com>
1886
1887 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
1888 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
1889 (reload_muladdsi_compare0_scratch): Delete.
1890
46fc709d
LR
18912002-03-26 Loren J. Rittle <ljrittle@acm.org>
1892
1893 * doc/install.texi (*-*-freebsd*): Update.
1894
f36dea3c
RH
18952002-03-26 Richard Henderson <rth@redhat.com>
1896
8e5fe23f
RH
1897 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
1898 (SUB_PARM_SIZE): Cast DEC to ssizetype.
1899
1900 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
1901 types from the normal argument frame.
1902
f36dea3c
RH
1903 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
1904 variable sized objects by reference.
1905 (sparc_va_arg): Receive them by reference too.
1906
1447dc69
HP
19072002-03-26 Hartmut Penner <hpenner@de.ibm.com>
1908
1909 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 1910 code to not restoring global registers.
1447dc69 1911
4f0ade92
NB
19122002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
1913
1914 * Makefile.in (ggc-common.o): Update.
1915 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
1916 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
1917 * c-tree.h (c_mark_tree): New.
1918 * ggc-common.c: Include langhooks.h.
1919 (gcc_mark_trees): Use new langhook.
1920 * ggc-callbacks.c: Delete file.
1921 * ggc.h (lang_mark_tree): Remove.
1922 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
1923 (LANG_HOOKS_INITIALIZER): Update.
1924 * langhooks.h (struct lang_hooks): New hook.
1925objc:
1926 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
1927
caba570b
ZW
19282002-03-25 Zack Weinberg <zack@codesourcery.com>
1929
1930 * doc/cpp.texi: Exclude entire Top node from printed manual.
1931 Move option index after directive index. Insert page breaks
1932 before GFDL and concept index. Index environment variables
1933 with command line options.
1934 * doc/cppenv.texi: Use @vtable for environment variable list.
1935 Add paragraph explaining semantics of empty elements in path
1936 variables. Exclude a cross-reference to Fishkill from the
1937 manpage. Remove an unnecessary cross-reference of the entry
1938 right above the referer. Don't use @anchor in text that goes
1939 into manpage.
1940 * doc/cppopts.texi: Cross-reference the environment variables
1941 section, not the specific environment variable, for consistency.
1942
6b2e80b7
RH
19432002-03-25 Richard Henderson <rth@redhat.com>
1944
1945 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
1946 anywhere in the block. Don't refer to insns that have been
1947 removed from the chain. Iterate backward through the new insns.
1948 Don't refer to edges that have been removed.
1949
67e469d7
AM
19502002-03-26 Alan Modra <amodra@bigpond.net.au>
1951
1952 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
1953 test for overflow of constant.
1954
f2356393
RE
19552002-03-25 Richard Earnshaw <rearnsha@arm.com>
1956
1957 PR target/2623
1958 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
1959 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
1960 these patterns on arm_archv4.
1961
355426ab
DS
19622002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
1963
1964 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
1965 int".
1966
15e5ad76
ZW
19672002-03-25 Zack Weinberg <zack@codesourcery.com>
1968
1969 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
1970 float_handled, float_handler, float_signal, set_float_handler,
1971 and do_float_handler. Set handler for SIGFPE to crash_signal.
1972 * toplev.h: Don't prototype do_float_handler.
1973
1974 * c-lex.c: Fold parse_float into lex_number. Make warning
1975 about portability of hex float constants more informative, and
1976 don't issue it on top of a syntax error.
1977 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
1978 their callers.
1979 * real.h: Define REAL_VALUE_ABS here...
1980 * simplify-rtx.c: ... not here. Fold check_fold_consts,
1981 simplify_unary_real, simplify_binary_real, and
1982 simplify_binary_is2orm1 into their callers.
1983 * tree.c: Fold build_real_from_int_cst_1 into caller.
1984
1985 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
1986
1987 * tsystem.h: Include float.h here...
1988 * libgcc2.c: ... not here.
1989
56ae9405
NC
19902002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
1991
1992 Fixes for: PR bootstrap/3591, target/5676
1993 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
1994 defined. Do not disable exceptions or rtti.
1995 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
1996 mcore.h. Disable exceptions and rtti, since they are not
1997 supported by EPOC.
1998
c88770e9
NB
19992002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
2000
2001 * c-decl.c (maybe_build_cleanup): Remove.
2002 * expr.c (expand_expr): Use langhook.
2003 * langhooks-def.h (lhd_return_null_tree,
2004 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
2005 (LANGHOOKS_INITIALIZER): Update.
2006 * langhooks.c (lhd_return_null_tree): New.
2007 * langhooks.h (struct lang_hooks): New hook.
2008 * tree-inline.c (initialize_inlined_parameters): Use langhook.
2009 * tree.h (maybe_build_cleanup): Remove.
2010
2ed1f154
JJ
20112002-03-25 Jakub Jelinek <jakub@redhat.com>
2012
2013 * regrename.c (build_def_use): Move recog_memoized
2014 before extract_insn.
2015
6ddae612
JJ
20162002-03-25 Jakub Jelinek <jakub@redhat.com>
2017
2018 PR target/6043
2019 * expr.c (emit_group_store): Handle storing into CONCAT.
2020
ea475b23
JJ
20212002-03-25 Jakub Jelinek <jakub@redhat.com>
2022
2023 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
2024 corresponding MATCH_DUP.
2025
e7d482b9
RH
20262002-03-24 Richard Henderson <rth@redhat.com>
2027
cd39fc13
RH
2028 * unroll.c (unroll_loop): Zero label_map.
2029
e7d482b9
RH
2030 * gcse.c: Include except.h.
2031 * Makefile.in (gcse.o): Update.
2032
1bd6476f
RH
20332002-03-24 Richard Henderson <rth@redhat.com>
2034
2035 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
2036 Do resolve_unique_section before shared data clause.
2037
2e6c150a
RH
20382002-03-24 Richard Henderson <rth@redhat.com>
2039
2040 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
2041
b29afcf8
RH
20422002-03-24 Richard Henderson <rth@redhat.com>
2043
15e5ad76 2044 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
2045 generated in the middle of a block. Do global life update if
2046 zapped EH edges.
2047
05ed1296
RH
20482002-03-24 Richard Henderson <rth@redhat.com>
2049
2050 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
2051
3ddbb8a9
NB
20522002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
2053
2054 preprocessor/3951
15e5ad76 2055 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
2056 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
2057 (init_dependency_output): Don't make no_output decision here.
2058
740b77b6
AC
20592002-03-24 Andrew Cagney <ac131313@redhat.com>
2060
2061 * stmt.c (check_for_full_enumeration_handling): Remove tests of
2062 warn_switch. Update description.
2063 (expand_end_case_type): Call check_for_full_enumeration_handling
2064 when warn_switch.
2065
7590cfd0
SC
20662002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2067
2068 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
2069 (m68hc11_split_move): Call it to see if the source and destination
2070 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 2071 source an offsetable memory operand and generate an add.
7590cfd0 2072
2e3d3481
SC
20732002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2074
2075 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
2076 register for operand 2.
2077 ("*subsi3_zero_extendqi"): Likewise.
2078 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
2079 bits so that it is compatible with a pop.
2080 ("*andhi3_gen"): Likewise.
2081 ("xorhi3"): Likewise.
2082
2784528c
NB
20832002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
2084
2085 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
2086 -pedantic here...
2087 (cpp_post_options): ... not here.
2088
aaf93206
NB
20892002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
2090 Aldy Hernandez <aldyh@redhat.com>
2091
2092 Removal of separate preprocessor cpp0.
2093
2094 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
2095 cpp0, install-common): Update.
2096 * c-common.c (flag_preprocess_only): New.
2097 (c_common_init): Preprocess for -E.
2098 * c-common.h (flag_preprocess_only): New.
2099 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
2100 * c-objc-common.c (c_init_decl_processing): Exit quickly
2101 for NULL return from c_common_init.
2102 * cpplib.h (cpp_preprocess_file): New.
2103 * cppmain.c (main, general_init, pfile, progname): Remove.
2104 (do_preprocessing): Rename cpp_preprocess_file, don't call
2105 cpp_finish. Don't close stdout here.
2106 (setup_callbacks): Update prototype.
2107 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
2108 Update.
2109 * tradcpp.c (main): Ignore -quiet.
2110objc:
2111 * lang-specs.h (default_compilers): Preprocess with cc1obj.
2112
c6e6f5c1
RH
21132002-03-24 Richard Henderson <rth@redhat.com>
2114
2115 PR optimization/5742
2116 * machmode.def: Add inner mode field to complex modes.
2117 * config/mips/mips.c (mips_function_value): Always define. Add
2118 new argument to handle libcalls.
2119 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
2120 (FUNCTION_VALUE): Likewise.
2121 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
2122 * config/mips/mips-protos.h: Update.
2123
d88e57d1
RH
21242002-03-23 Richard Henderson <rth@redhat.com>
2125
2126 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
2127 * config/sparc/sparc-protos.h: Update.
2128 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
2129
6dfaf9ba
RH
21302002-03-23 Richard Henderson <rth@redhat.com>
2131
2132 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
2133 _start or _init begins the text segment.
2134
0c769cf8
DE
21352002-03-23 David Edelsohn <edelsohn@gnu.org>
2136
2137 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
2138 not HOST_WIDEST_INT.
2139 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
2140
64e92a26
RE
21412002-03-23 Richard Earnshaw <rearnsha@arm.com>
2142
2143 PR java/5489
2144 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
2145 operand argument to output_return_instruction.
15e5ad76 2146 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
2147 const_true_rtx then just return.
2148 (arm_print_operand, case 'D'): If the operand is const_true_rtx
2149 then abort.
2150
d6961341
AC
21512002-03-23 Andrew Cagney <ac131313@redhat.com>
2152
2153 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
2154 (Warning Options): Document -Wswitch-default.
2155 * toplev.c (W_options): Add -Wswitch-default. Update comment on
2156 -Wswitch.
2157 (warn_switch_default): Define variable.
2158 (warn_switch): Update comment.
2159 * flags.h (warn_switch_default): Declare variable.
2160 (warn_switch): Update comment.
2161 * stmt.c (expand_end_case): Check for and, when
2162 warn_switch_no_default, warn of a missing default case.
15e5ad76 2163
d4c5ac1f
AM
21642002-03-23 Alan Modra <amodra@bigpond.net.au>
2165
bbaa9790
AM
2166 * real.h (N): Special case 128 bit doubles.
2167
d4c5ac1f
AM
2168 * combine.c (simplify_comparison): When widening modes, ignore
2169 sign extension on CONST_INTs.
2170
84bf8c2c
BW
21712002-03-22 Bob Wilson <bob.wilson@acm.org>
2172
2173 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
2174 passed to adjust_address. Fix comment formatting.
2175
2176
b216cd4a
ZW
21772002-03-22 Zack Weinberg <zack@codesourcery.com>
2178
2179 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
2180 Always make REAL_VALUE_TYPE a struct containing an array of
2181 HOST_WIDE_INT, not a double. Tidy up the code deciding how
2182 big it is. Don't declare or use union real_extract.
2183
2184 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
2185 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
2186 (print_operand), config/arm/arm.c (output_move_double),
2187 config/arm/arm.md (consttable_4, consttable_8),
2188 config/romp/romp.c (output_fpops), config/s390/s390.h
2189 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
2190 (xtensa_output_literal): Don't use union real_extract.
2191
2192 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
2193 (sfmode_constant_to_ulong), config/ns32k/merlin.h
2194 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
2195 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
2196 (PRINT_OPERAND): Don't use local version of union
2197 real_extract.
2198
2199 * config/convex/convex.c (check_float_value), config/vax/vax.c
2200 (vax_float_literal), config/m88k/m88k.md (divdf3),
2201 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
2202 config/pdp11/pdp11.c (output_move_quad): Don't do host
2203 arithmetic on target floating point quantities.
2204
2205 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
2206 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
2207
2208 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
2209 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
2210
2211 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
2212 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
2213 INFINITY.
2214 * print-rtl.c (print_rtx): Disable code which needs
2215 floating-point emulator.
2216 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
2217 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
2218 depending on HOST_FLOAT_FORMAT to be defined properly.
2219
2220 * config/1750a/1750a.c (get_double, float_label): Delete.
2221 (print_operand): Delete huge commented-out chunk. Use
2222 REAL_VALUE_TO_DECIMAL.
2223 * config/1750a/1750a-protos.h: Delete prototypes of deleted
2224 functions.
2225 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
2226 IEEE_FLOAT_FORMAT.
2227 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
2228 Use REAL_VALUE_TO_DECIMAL as ELF version does.
2229 * config/m88k/m88k.c (real_power_of_2_operand,
2230 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
2231 real_extract out of the union; run the input through
2232 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
2233 from that into the union.
2234 * config/pdp11/pdp11.c (output_move_double): Rearrange
2235 parentheses to make automatic indenter happy.
2236
2237 * doc/tm.texi (Cross-compilation): Rename node to "Floating
2238 Point" and rewrite to describe current situation. Also adjust
2239 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
2240 match code.
2241 * doc/rtl.texi: Adjust cross reference.
2242
a8cacfd2
BW
22432002-03-22 Bob Wilson <bob.wilson@acm.org>
2244
2245 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
2246 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
2247 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
2248 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
2249 prevent use of sp as a reload register.
2250 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
2251 non_acc_reg_operand.
2252 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
2253 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
2254 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
2255 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
2256
d4e6133f
NB
22572002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
2258
b216cd4a
ZW
2259 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
2260 * cpplex.c (unterminated): Delete.
2261 (parse_string): No string literal may extend over multiple
2262 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
2263 * cppmain.c (scan_translation_unit): Strings are single-line.
2264
b216cd4a 2265 * doc/cpp.texi: Update to match.
d4e6133f 2266
65e6c005
JJ
22672002-03-22 Jakub Jelinek <jakub@redhat.com>
2268
2269 PR optimization/5854
2270 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
2271 Shut up warnings.
2272 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
2273 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
2274 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
2275 const0 if scratch register was not allocated.
2276 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
2277 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
2278 with GEN_INT (...).
2279 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
2280 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
2281 with GEN_INT (...) everywhere. Remove constraints in define_split
2282 patterns.
2283 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
2284 require scratch register for setting 0 into regs/non-pushable memory.
2285
7f48c9e1
AO
22862002-03-22 Alexandre Oliva <aoliva@redhat.com>
2287
2288 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
2289 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
2290
909de5da
PE
22912002-03-22 Phil Edwards <pme@gcc.gnu.org>
2292
2293 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
2294 * cppinit.c (cpp_create_reader): On by default.
2295 (cpp_handle_option): Handle -W[no-]endif-labels.
2296 (cpp_post_options): Also enable if -pedantic.
2297 * cpplib.c (do_else): Use it.
2298 (do_endif): Likewise.
2299 * doc/cppopts.texi: Document new option.
2300 * doc/invoke.texi: Document new option.
2301
d8bf17f9
LB
23022002-03-22 Lars Brinkhoff <lars@nocrew.org>
2303
2304 * config/i386/i386.c, config/i386/i386.md: Change all occurences
2305 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
2306
70e0ccd0
AO
23072002-03-22 Alexandre Oliva <aoliva@redhat.com>
2308
2309 * flow.c (calculate_global_regs_live): Clear aux fields of
2310 ENTRY and EXIT.
2311
68882f0f
JJ
23122002-03-22 Jakub Jelinek <jakub@redhat.com>
2313
2314 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
2315 REG or MEM subregs, pass rtx * instead of rtx to it.
2316 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
2317 rtx * instead of rtx to alter_subreg.
2318 * config/m32r/m32r.c (gen_split_move_double): Likewise.
2319 * config/pj/pj.c (pj_output_rval): Likewise.
2320
648fe28b
RH
23212002-03-22 Richard Henderson <rth@redhat.com>
2322
2323 PR target/3177
2324 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
2325 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
2326 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
2327 (ia64_expand_prologue): Look at int_regs, not words, for number
2328 of incomming int regs.
2329
e8dcd824
AM
23302002-03-22 Andrew MacLeod <amacleod@redhat.com>
2331
2332 * expr.c (expand_expr): A RESULT_DECL is part of a call.
2333
96327cdc
JH
2334Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
2335
2336 * toplev.c (flag_loop_optimize, flag_crossjumping):
2337 New static variables.
2338 (rest_of_compilation): Conditionalize crossjumping and
2339 loop optimizer.
2340 (parse_options_and_default_flags): Default loop_optimize and
2341 crossjumping.
2342 (lang_independent_options): Add -fcrossjumping and -floop-optimize
2343 * invoke.texi (crossjumping, loop-optimize): Document.
2344
bc185257
RS
23452002-03-22 Richard Sandiford <rsandifo@redhat.com>
2346
2347 * real.c (eiisneg): Move outside #ifdef NANS.
2348
0a2ed1f1
JH
2349Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
2350
2351 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
2352 frequencies match; avoid match on different loop depths.
2353 (try_crossjump_to_bb): Kill tests that no longer brings time
2354 savings.
2355 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
2356 updating code.
2357 (split_edge): Likewise.
2358
2359 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
2360 variable.
2361
2362 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
2363 * cfgrtl.c: Include insn-config.h
2364 (split_block) Dirtify block in presence of conditional execution
2365
4d72536e
RS
23662002-03-22 Richard Sandiford <rsandifo@redhat.com>
2367
2368 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
2369 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
2370 (function_arg): Constify CUMULATIVE_ARGS.
2371 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
2372 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
2373 (UNITS_PER_DOUBLE): New macro.
2374 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
2375 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
2376 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
2377 fp_regs and stack_words.
2378 (EABI_FLOAT_VARARGS_P): New macro.
2379 * config/mips/mips.c (struct mips_arg_info): New.
2380 (mips_arg_info): New function.
2381 (function_arg_advance): Use it. Add adjustment instructions here
2382 rather than in function_arg.
2383 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
2384 for VOIDmode at the beginning of the function.
2385 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
2386 (function_arg_pass_by_reference): Likewise.
2387 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
2388 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
2389 (mips_va_start): Likewise. Use the new stack_words field of
2390 CUMULATIVE_ARGS to set up overflow area. Reformat.
2391 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
2392 doubles and other types, aligning the overflow pointer for non-doubles
2393 too. Remove some code duplication. Replace hard-coded constants.
2394
e6f884cd
RS
23952002-03-22 Richard Sandiford <rsandifo@redhat.com>
2396
2397 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
2398 (CLASS_UNITS): Undefine.
2399 (CLASS_MAX_NREGS): Use FP_INC.
2400 * config/mips/mips.c (compute_frame_size): Likewise.
2401 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
2402
10cf9bde
NB
24032002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
2404
2405 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
2406 prototype, and handle lexing numbers and identifiers.
2407 (parse_identifier): Update to new form of parse_slow.
2408 (parse_number): Fast path only, use parse_slow otherwise.
2409 (_cpp_lex_direct): Update calls to parse_number.
2410
fbc2782e
DD
24112002-03-21 DJ Delorie <dj@redhat.com>
2412
2413 * bb-reorder.c (make_reorder_chain_1): Protect against
2414 when redundant edges are omitted.
2415 * predict.c (dump_prediction): Likewise.
2416
fba39eaf
RH
24172002-03-21 Richard Henderson <rth@redhat.com>
2418
2419 PR target/5996
2420 * fixinc/inclhack.def (solaris_stdio_tag): New.
2421 * fixinc/fixincl.x: Regenerate.
2422
eba80994
EB
24232002-03-21 Eric Botcazou <ebotcazou@multimania.com>
2424
2425 PR c/5597
2426 * c-typeck.c (process_init_element): Flag non-static
2427 initialization of a flexible array member as illegal.
2428
2a78758b
AM
24292002-03-22 Alan Modra <amodra@bigpond.net.au>
2430
2431 * config/rs6000/t-linux64: New.
2432 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
2433 t-ppccomm. Use t-rs6000 and t-linux64.
2434 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
2435 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
2436 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
2437 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 2438
2cb921f4
AH
24392002-03-21 Aldy Hernandez <aldyh@redhat.com>
2440
eba80994
EB
2441 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
2442 flag_really_no_inline instead of optimize == 0.
2cb921f4 2443
eba80994 2444 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 2445
eba80994 2446 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 2447
eba80994 2448 * flags.h (flag_really_no_inline): New.
2cb921f4 2449
659e5a7a 2450 * c-common.c (c_common_post_options): Initialize
eba80994 2451 flag_really_no_inline.
2cb921f4 2452
eba80994 2453 * toplev.c (flag_really_no_inline): New.
2cb921f4 2454
239b8b9d
JJ
24552002-03-21 Jakub Jelinek <jakub@redhat.com>
2456
2457 * config/avr/avr.md (length): Fix length computation for
2458 conditional branches.
2459
43577e6b
NB
24602002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
2461
2462 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
2463 sdbout.o, profile.o): Update.
2464 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
2465 langhook.
2466 * c-common.h (gettags): Move here from tree.h.
2467 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
2468 insert_block, getdecls, kept_level_p, global_bindings_p): New.
2469 * dbxout.c (dbxout_init): Use getdecls langhook.
2470 * expr.c (expand_expr): Use insert_block langhook.
2471 * fold-const.c: Include langhooks.h.
2472 (fold_range_test, fold_binary_op_with_conditional_arg,
2473 fold): Use global_bindings_p langhook.
2474 * integrate.c (expand_inline_function): Use insert_block langhook.
2475 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
2476 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
2477 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
2478 LANG_HOOKS_GETDECLS): New.
2479 (LANG_HOOKS_INITIALIZER): Update.
2480 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
2481 langhook.
2482 * langhooks.h (struct lang_hooks_for_decls): New.
2483 (struct lang_hooks): Update.
2484 * profile.c: Include langhooks.h.
2485 (output_func_start_profiler): Use new langhooks.
2486 * sdbout.c: Include langhooks.h.
2487 (sdbout_init, sdbout_finish): Use getdecls langhook.
2488 * stmt.c: Include langhooks.h.
2489 (expand_fixup, fixup_gotos): Use new langhooks.
2490 * stor-layout.c: Include langhooks.h.
2491 (variable_size): Use global_bindings_p langhook.
2492 * toplev.c (compile_file): Use getdecls langhook.
2493 * tree-inline.c (remap_block): Use insert_block langhook.
2494 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
2495 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
2496
5b19b10c
RH
24972002-03-21 Richard Henderson <rth@redhat.com>
2498
2499 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
2500 constants in .data when -fpic.
2501
e05af335
GP
25022002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2503
2504 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
2505 where appropriate.
2506
60ffc997
TT
25072002-03-21 Tom Tromey <tromey@redhat.com>
2508
2509 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
2510
75897075
RK
2511Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2512
a73afd69 2513 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 2514
75897075
RK
2515 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
2516
312687cf
EB
25172002-03-21 Eric Botcazou <ebotcazou@multimania.com>
2518 Richard Henderson <rth@redhat.com>
2519
2520 PR c/5354
2521 * c-common.c (c_expand_expr): Preserve result of a statement
2522 expression if needed.
2523
f0e1f482
JJ
25242002-03-21 Jakub Jelinek <jakub@redhat.com>
2525
2526 PR bootstrap/4195
2527 * genrecog.c (maybe_both_true_mode): Remove.
2528 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
2529 * machmode.def (Pmode): Likewise.
2530
c14b9960
JW
2531Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
2532
2533 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
2534 (nonlocal_mentioned_p_1): New function.
2535 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
2536 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
2537 (mark_constant_function): Recognize pure functions.
2538 * rtl.h (global_reg_mentioned_p): New prototype.
2539 * rtlanal.c (global_reg_mentioned_p,
2540 global_reg_mentioned_p_1): New function.
2541
aaa4d130
RO
25422002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2543
2544 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
2545 UNIX assert.h.
2546 * fixinc/fixincl.x: Regenerate.
2547
e5c4bd1b
JM
25482002-03-20 Jason Merrill <jason@redhat.com>
2549
2550 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
2551
852b81bb
MM
25522002-03-20 Michael Meissner <meissner@redhat.com>
2553
2554 * doc/invoke.texi (Optimize Options): Document that -O2 sets
2555 -fstrict-aliasing.
2556
86d8c251
BW
25572002-03-20 Bob Wilson <bob.wilson@acm.org>
2558
2559 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
2560 ".literal_position" directive before the constant pool.
2561
0a39c350
GP
25622002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2563
2564 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
2565 Add Craig Rodrigues.
2566 Add Brad Lucier to testers.
2567
71a83373
JJ
25682002-03-20 Jakub Jelinek <jakub@redhat.com>
2569
2570 PR target/4792
2571 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
2572 to if_then_else.
2573 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
2574 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
2575 instead of insn_extract.
2576
a29b099d
JJ
25772002-03-20 Jakub Jelinek <jakub@redhat.com>
2578
2579 PR bootstrap/4192
71a83373 2580 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
2581
2582 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
2583 stmt if some case has been output.
2584
048b1c95
JJ
25852002-03-20 Jakub Jelinek <jakub@redhat.com>
2586
2587 PR c/5972
2588 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
2589 movsfcc_1, movdfcc_1): Add %O2.
2590 * config/i386/i386.c (print_operand): Handle %ON.
2591 Print . before float condition codes in Sun as cmov syntax.
2592 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
2593 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
2594 no longer true.
2595
f4864588
PB
25962002-03-20 Philip Blundell <pb@nexus.co.uk>
2597
2598 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
2599 return instruction if PC was popped.
2600
3a307de4
BW
26012002-03-20 Bob Wilson <bob.wilson@acm.org>
2602
2603 * config/xtensa/xtensa.md: Remove unused type attributes.
2604 (adddi_carry, subddi_carry): Change type attribute to "multi".
2605
048b1c95 26062002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
2607
2608 PR optimization/5999, middle-end/5731
2609 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
2610 multiplications by reciprocals.
2611
7afff7cf
NB
26122002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
2613
2614 * Makefile.in: Update.
2615 * c-common.c: Include langhooks.h.
2616 (inline_forbidden_p): Use new hook.
2617 * diagnostic.c: Include langhooks.h.
2618 (format_with_decl, announce_function,
2619 default_print_error_function): Use new hook.
2620 * dwarf2out.c (dwarf2_name): Use new hook.
2621 * function.c: Include langhooks.h.
2622 (init_function_start): Use new hook.
2623 * langhooks-def.h (lhd_decl_printable_name): New.
2624 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
2625 (LANGHOOKS_INITIALIZER): Update.
2626 * langhooks.c (lhd_decl_printable_name): New.
2627 * langhooks.h (struct lang_hooks): New hook.
2628 * toplev.c (decl_name, decl_printable_name): Remove.
2629 (open_dump_file): Use new hook.
2630 (process_options): Remove old hook.
2631 * tree.h (decl_printable_name): Remove.
2632objc:
2633 * objc-act.c (objc_init): Remove old hook.
2634 (objc_printable_name): Export.
2635 * objc-act.h (objc_printable_name): New.
2636 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
2637
f78ce0b7
JB
26382002-03-19 Jim Blandy <jimb@redhat.com>
2639
2640 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
2641 the start_source_file debug hook, not the current line number.
2642
15b5aef3
RH
26432002-03-19 Richard Henderson <rth@redhat.com>
2644
2645 * flow.c (EH_USES): Provide default.
2646 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
2647 * doc/tm.texi (EH_USES): New.
2648
2649 * config/ia64/ia64.c (ia64_eh_uses): New.
2650 * config/ia64/ia64-protos.h: Update.
2651 * config/ia64/ia64.h (EH_USES): New.
2652
02a7a3fd
RH
26532002-03-19 Richard Henderson <rth@redhat.com>
2654
2655 * varasm.c (output_constant_def): Fix stupid typo.
2656
93f82d60
RH
26572002-03-19 Richard Henderson <rth@redhat.com>
2658
2842be05 2659 PR 5879
93f82d60
RH
2660 * except.c (current_function_has_exception_handlers): New.
2661 * except.h: Declare it.
2662 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
2663 Combine tests that disable all sibcalls for the function.
2664
ed4fbfa0
OH
26652002-03-19 Olivier Hainque <hainque@act-europe.fr>
2666
2667 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
2668 for INTEGER_CST.
2669
ebf0e888
RH
26702002-03-19 Richard Henderson <rth@redhat.com>
2671
1e82682b 2672 PR 5977, 5991
ebf0e888
RH
2673 * config/ia64/ia64.c: Revert 2002-03-01 patch.
2674 * config/ia64/ia64.h (INIT_EXPANDERS): New.
2675
e37b38d7
JB
26762002-03-19 Jim Blandy <jimb@redhat.com>
2677
2678 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
2679 name, even if the replacement list contains no tokens, as required
2680 by Dwarf.
2681
2a4ea326
JM
26822002-03-19 Jason Merrill <jason@redhat.com>
2683
f9d09ae5
JM
2684 * varasm.c (globalize_decl): Get the name from the RTL, not
2685 DECL_ASSEMBLER_NAME.
2686
2a4ea326
JM
2687 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
2688
99b96edb
BW
26892002-03-19 Bob Wilson <bob.wilson@acm.org>
2690
2691 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
2692 subdi_carry): Define.
2693
3774b567
DE
26942002-03-19 David Edelsohn <edelsohn@gnu.org>
2695
2696 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
2697 about -fpic/-fPIC if extra_warnings set.
2698
21ef78aa
DE
26992002-03-19 David Edelsohn <edelsohn@gnu.org>
2700
2701 * expr.c (expand_expr): Sign-extend CONST_INT generated from
2702 TREE_STRING_POINTER.
0c2fdcdf 2703 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 2704
91d4b3fd
RK
2705Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2706
2707 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
2708 in favor of SP if FRAME_POINTER_REQUIRED is false.
2709
2496c7bd
LB
27102002-03-19 Lars Brinkhoff <lars@nocrew.org>
2711
2712 * emit-rtl.c (gen_int_mode): New function.
2713 * rtl.h: Prototype for it.
2714 * combine.c (make_extraction, simplify_comparison), expmed.c
2715 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
2716 (convert_modes, store_field), optabs.c (expand_fix),
2717 simplify-rtx.c (neg_const_int, simplify_unary_real),
2718
2719 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
2720 Use it instead of GEN_INT (trunc_int_for_mode (...)).
2721
f735a153
JJ
27222002-03-19 Jakub Jelinek <jakub@redhat.com>
2723
2724 PR c/5656
2725 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
2726 convert_parm_for_inlining.
2727 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
2728 Define.
2729 * langhooks-def.h: Likewise.
2730 * objc/objc-lang.c: Likewise.
2731 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
2732 function.
2733 * tree-inline.c (initialize_inlined_parameters):
2734 Call convert_parm_for_inlining lang hook if needed.
2735 * c-typeck.c (c_convert_parm_for_inlining): New function.
2736 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
2737
1929c971
MM
27382002-03-18 Mark Mitchell <mark@codesourcery.com>
2739
b216cd4a 2740 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
2741 can be destroyed after expanding the argument.
2742 (expand_call): Likewise.
2743
c79ca0ac
EC
27442002-03-15 Eric Christopher <echristo@redhat.com>
2745
2746 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
2747 Fix register preference on last change.
2748 * config/mips/mips.c (mips_return_in_memory): New function.
2749 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
2750 * config/mips/mips-protos.h: Declare.
2751 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
2752 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
2753
07e2e444
AO
27542002-03-18 Alexandre Oliva <aoliva@redhat.com>
2755
1bfbbbcf
AO
2756 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
2757 a register too.
2758 (anddi3, iorsi3): Likewise.
2759
c066429e
AO
2760 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
2761 use %gprel for symbols that are going to be placed in linkonce
2762 sections.
2763
07e2e444
AO
2764 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
2765 RETURN_ADDRESS_POINTER_REGNUM to $ra.
2766 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
2767 not needed. Disregard leaf_function_p().
2768 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
2769 mips16 frame pointer.
2770 * config/mips/mips.md (store ra): Only to small SP offsets.
2771 2001-08-22 Graham Stott <grahams@redhat.com>
2772 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
2773 return a REG rtx for the return address register.
2774
eb8e00ea
BW
27752002-03-18 Bob Wilson <bob.wilson@acm.org>
2776
2777 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
2778 constant-pool addresses as "mode-dependent".
2779 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
2780
cbb92744
JJ
27812002-03-18 Jakub Jelinek <jakub@redhat.com>
2782
2783 PR target/5740
2784 * expr.c (emit_group_load): Use extract_bit_field if
2785 needed for CONCAT arguments.
2786
657d9449
RE
27872002-03-18 Richard Earnshaw <rearnsha@arm.com>
2788
91f3a802 2789 PR target/4863
657d9449
RE
2790 * arm.md (tablejump): Make this a define_expand. For PIC add the
2791 offset to the base of the table.
2792 (thumb_tablejump): Matcher for Thumb tablejump insn.
2793 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
2794 as the difference of two labels.
2795 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
2796 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
2797 tables in the code.
2798 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
2799 * arm.c (get_jump_table_size): If the table is not in the text
2800 section, return zero.
c79ca0ac 2801
5d5603e2
BS
28022002-03-18 Bernd Schmidt <bernds@redhat.com>
2803
2804 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
2805 of gen_rtx_SUBREG.
2806 (arm_reload_out_hi): Use gen_lowpart instead of
2807 gen_rtx_SUBREG to access QImode components.
2808 * config/arm/arm.md: Disable zero_extend split for QImode
2809 subregs in BIG_ENDIAN mode.
2810 (storehi_bigend): Match use of least significant byte.
2811 (storeinthi): Remove extraneous SUBREG.
66c17b64 2812 Add missing construction of operands[2].
5d5603e2
BS
2813 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
2814 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
2815 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
2816
df15fbc7
AH
28172002-03-18 Aldy Hernandez <aldyh@redhat.com>
2818
2496c7bd
LB
2819 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
2820 any_operand.
df15fbc7 2821
b83b7fa3
RH
28222002-03-17 Richard Henderson <rth@redhat.com>
2823
2824 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
2825 explicitly.
2826
6f7c00fe
HPN
28272002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
2828
2829 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
2830 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
2831
155038f2
KG
28322002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2833
720d42fa
KG
2834 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
2835
155038f2
KG
2836 * predict.c (estimate_bb_frequencies): Delete unused variables.
2837
e6542f4e
RH
28382002-03-17 Richard Henderson <rth@redhat.com>
2839
2840 * config/ia64/ia64.c (ia64_attribute_table): Move before
2841 targetm definition. Make static.
2842
52dabb6c
NB
28432002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
2844
2845 * c-common.h (yyparse, c_common_parse_file): New.
2846 * c-lang.c: Include c-common.h.
2847 (LANG_HOOKS_PARSE_FILE): Redefine.
2848 * c-lex.c: Include c-common.h.
2849 (yyparse): Rename c_common_parse_file. Call yyparse.
2850 * c-parse.in (yyparse): Remove macro.
2851 * c-tree.h (yyparse_1): Remove.
2852 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
2853 (LANG_HOOKS_INITIALIZER): Update.
2854 * langhooks.h (struct lang_hoooks): New hook parse_file.
2855 * toplev.c (compile_file): Use parse_file hook.
2856 * tree.h (yyparse): Remove.
e6542f4e 2857 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 2858
b5ffe606
HPN
28592002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
2860
ba82f58b
HPN
2861 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
2862 float_truncate, not fix.
2863 ("*truncdfsf2_real"): Ditto.
2864 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
2865
b5ffe606
HPN
2866 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
2867
c8d1b2b7
AO
28682002-03-16 Alexandre Oliva <aoliva@redhat.com>
2869
cfb773f9
AO
2870 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
2871 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
2872 where appropriate. Make the second reference to
2873 leaf_function_p a function call, as intended. Reindented.
2874
4dffef52
AO
2875 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
2876 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
2877
4f5bd6d7
AO
2878 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
2879 add register to non-constant into sp.
2880
c8d1b2b7
AO
2881 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
2882 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
2883 (mips16_gp_pseudo_rtx): Lose.
2884 (INIT_EXPANDERS): Deleted.
2885 * config/mips/mips.c (mips_init_machine_status): New.
2886 (mips_free_machine_status): New.
2887 (mips_mark_machine_status): New.
2888 (override_options): Set them.
2889 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
2890 (struct machine_function): ... new. Replaced all references.
2891 (mips_add_gc_roots): Don't mark them.
2892 (embedded_pic_fnaddr_reg): New, extracted from...
2893 (embedded_pic_offset): ... here.
2894 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
2895 (movsi): Likewise.
2896
b3124fac
NB
28972002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
2898
2899 * cppinit.c: Revert -MD removal.
2900
121449b6
SC
29012002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2902
2903 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
2904 soft registers by default for 68HC12.
2905 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
2906 when compiling with -fomit-frame-pointer.
2907 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
2908 (expand_epilogue): Likewise.
2909 (m68hc11_gen_rotate): Use exg when rotating by 8.
2910
840e2ff1
SC
29112002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2912
2913 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
2914 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
2915 (splits): Remove unused add splits.
2916 ("*addhi3_68hc12"): Tune constraints.
2917 ("addhi_sp"): Try to use X instead of Y in all cases and if the
2918 constant fits in 8-bits and D is dead use abx/aby instructions.
2919 ("*addhi3"): Remove extern declaration of ix_reg.
2920 ("*subsi3"): Optimize and provide new split.
2921 ("subhi3"): Cleanup.
2922 ("*subhi3_sp"): Avoid saving X if we know it is dead.
2923 (arith splits): For 68hc12 save the address register on the stack
2924 and do the arithmetic operation with a pop.
2925
3c9a5efe
SC
29262002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2927
2928 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
2929 allocating QImode in address registers.
2930 ("*movqi_m68hc11"): Likewise.
2931
e41f3392
JH
2932Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
2933
2934 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
2935
576786b0
NB
29362002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
2937
2938 * cppinit.c (print_help): Display -MD and -MMD.
2939 Don't display usage string. Update assertion syntax and
2940 typo.
2941 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
2942 (cpp_handle_option): Update.
2943
1ac458d4
CD
29442002-03-15 Chris Demetriou <cgd@broadcom.com>
2945
2946 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
2947 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
2948 and define it so that regardless of target CPU size,
2949 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
2950 of "int" rather than "long."
2951
1fcd592b
RH
29522002-03-15 Richard Henderson <rth@redhat.com>
2953
2954 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
2955 size as a tree.
2956
a0df6910
SC
29572002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2958
2959 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
2960 ("tstqi" split): Avoid using memory for tstqi on address register.
2961 (splits): Remove constraints.
2962 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
2963 ("cmpdf", "cmpsf"): Remove since not used.
2964 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
2965 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
2966
015a2e59
SC
29672002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2968
2969 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
2970 ("neghi2"): Tighten constraints.
2971 ("one_cmplsi2"): Optimize and simplify split.
2972 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
2973
cd28557c
SC
29742002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2975
2976 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
2977 and split of AND operation to clear the upper bits.
2978 ("*logicalsi3_zextqi"): Likewise.
2979 ("*logicallhi3_zexthi_ashift8"): Likewise.
2980 ("*logicalsi3_silshr16"): Likewise.
2981 ("logicalsi3_silshl16"): Likewise.
2982 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
2983
932657df
SC
29842002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2985
2986 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
2987 (m68hc11_indirect_p): New function.
2988 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
2989 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
2990 TARGET_M6812.
2991 (asm_print_register): Likewise.
2992 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
2993 (m68hc11_indirect_p): Declare.
2994 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
2995 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
2996 (TARGET_SWITCHES): New option -mrelax.
2997 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
2998 destination.
2999 ("iorsi3", "xorsi3"): Likewise.
3000 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
3001 ("*andhi3_mem"): New to handle destination in memory with bclr
3002 and a scratch register.
3003 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
3004 ("*andhi3_const"): New when operand2 is constant.
3005 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
3006 ("*andhi3_gen"): Cleanup of the old "andhi3".
3007 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
3008 ("xorqi3"): Update constraints.
3009
fdffea1a
SC
30102002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3011
3012 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
3013 for reg_equiv_memory_loc when the operand is a register that does
3014 not get a hard register (stack location).
3015 (tst_operand): After reload, accept all memory operand.
3016 (symbolic_memory_operand): Fix detection of symbolic references.
3017 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
3018 accept symbols and any constant.
3019
6272bc68
SC
30202002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3021
3022 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
3023 note on the insn that sets the soft frame register.
3024 (must_parenthesize): ix and iy are also reserved names.
3025 (print_operand_address): One more place where parenthesis are required
3026 to avoid confusion with register names.
3027 (m68hc11_gen_movhi): Allow push of stack pointer.
3028 (m68hc11_check_z_replacement): Fix handling of parallel with a
3029 clobber.
3030 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
3031 the replacement register is.
3032 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
3033 and D8_REGS classes.
3034 (MODES_TIEABLE_P): All modes are tieable except QImode.
3035
1d2d9def
SC
30362002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3037
3038 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
3039 (___subdi3): Likewise.
3040 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
3041 (__map_data_section): Optimize 68hc11 case.
3042
a0ccf503
SC
30432002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3044
3045 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
3046 than a shift to avoid adding a register with itself.
3047 (m68hc11_memory_move_cost): Take into account NO_REGS.
3048 (m68hc11_register_move_cost): Update and use memory move cost
3049 for soft registers.
3050 (m68hc11_address_cost): Make cost of valid offset not 0 so that
3051 it gives more opportunities to cse to optimize.
3052 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
3053 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
3054
6e4ae815
MM
30552002-03-15 Mark Mitchell <mark@codesourcery.com>
3056
3057 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
3058 * c-common.def (CLEANUP_STMT): New tree node.
3059 * c-common.h (CLEANUP_DECL): New macro.
3060 (CLEANUP_EXPR): Likewise.
3061 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
3062 * expr.c (expand_expr): Tidy.
3063 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
3064 * tree-inline.c (initialize_inlined_parameters): Clean up
3065 new local variables.
3066
a42519be
JJ
30672002-03-15 Jakub Jelinek <jakub@redhat.com>
3068
3069 PR bootstrap/4128
3070 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
3071 before movrXX only, use reg_overlap_mentioned_p.
3072 Only special case NE if just one insn can be generated.
3073
15409448
JM
30742002-03-15 Jason Merrill <jason@redhat.com>
3075
3076 * varasm.c (assemble_variable): Call resolve_unique_section before
3077 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
3078 of error_mark_node.
3079
3a4edb44
RE
30802002-03-15 Richard Earnshaw <rearnsha@arm.com>
3081
3082 PR target/5170
3083 * arm.md (split pattern for thumb shiftable immediates): Add comment
3084 explaining non-obvious test.
3085
32defa36
RE
30862002-03-15 Richard Earnshaw <rearnsha@arm.com>
3087
3088 PR target/5712
3089 * arm.md (movaddr, movaddr_insn): Delete.
3090
5cc90635
JM
30912002-03-15 Jason Merrill <jason@redhat.com>
3092
3093 * toplev.c (wrapup_global_declarations): Clarify variable handling.
3094 -fkeep-static-consts doesn't apply to comdats.
3095
ecb0eece
RH
30962002-03-14 Richard Henderson <rth@redhat.com>
3097
3098 * c-decl.c: Include c-pragma.h.
3099 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
3100 (finish_function): Tidy.
3101 * c-pragma.c: Include c-common.h.
3102 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
3103 (handle_pragma_weak): Use them.
3104 (init_pragma): Register pending_weaks.
3105 * c-pragma.h (maybe_apply_pragma_weak): Declare.
3106 * print-tree.c (print_node): Print DECL_WEAK.
3107 * varasm.c (mark_weak_decls): Remove.
3108 (remove_from_pending_weak_list): Remove.
3109 (add_weak): Remove.
3110 (asm_emit_uninitialised): Call globalize_decl for weak commons.
3111 (weak_decls): Make a tree_list.
3112 (declare_weak): Cons weak_decls directly.
3113 (globalize_decl): Remove weak_decls elements directly.
3114 (weak_finish): Simplify weak_decls walk. Don't weaken unused
3115 symbols. Don't pretend to handle aliases.
3116 (init_varasm_once): Update weak_decls registry.
3117 * Makefile.in: Update dependencies.
3118
98d2b17e
RH
31192002-03-14 Richard Henderson <rth@redhat.com>
3120
3121 PR target/5312
3122 * config/ia64/ia64.c: Include tm_p.h last.
3123 (gen_nop_type): Remove duplicate definition.
3124 (cycle_end_fill_slots): Set sched_data for second L slot.
3125 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
3126 (nop_cycles_until): Fix typos.
3127
f2f4927e
JJ
31282002-03-15 Jakub Jelinek <jakub@redhat.com>
3129
3130 PR optimization/5891
3131 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
3132
5025a549
DM
31332002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
3134
3135 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
3136 descriptors correctly.
3137
03e9dbc9
MM
31382002-03-14 Michael Meissner <meissner@redhat.com>
3139
3140 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
3141 100, allowing MAX_UNROLLED_INSNS to be overridden.
3142
3143 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
3144 --param.
3145
3146 * unroll.c (params.h): Include.
3147 (MAX_UNROLLED_INSNS): Delete, now in params.h.
3148
3149 * doc/invoke.texi (--param max-unroll-insns): Document.
3150
3151 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
3152
12249385
RE
31532002-03-14 Richard Earnshaw <rearnsha@arm.com>
3154
3155 * arm.md: Fix warnings about constraints in peepholes and splits.
3156
f0cce04a
ZW
31572002-03-14 Zack Weinberg <zack@codesourcery.com>
3158
3159 * cpphash.h (struct lexer_state): Remove line_extension member.
3160 * cpplib.c (dequote_string, do_linemarker): New functions.
3161 (linemarker_dir): New data object.
3162 (DIRECTIVE_TABLE): No longer need to interpret #line in
3163 preprocessed source. Delete obsolete comment about return
3164 values of handlers.
3165 (end_directive, directive_diagnostics, _cpp_handle_directive):
3166 Don't muck with line_extension.
3167 (directive_diagnostics): No need to issue warnings for
3168 linemarkers here.
3169 (_cpp_handle_directive): Issue warnings for linemarkers here,
3170 when appropriate. Dispatch linemarkers to do_linemarker, not
3171 do_line.
3172 (do_line): Code to handle linemarkers split out to do_linemarker.
3173 Convert escape sequences in filename argument, both places.
3174
3175 * cppmacro.c (quote_string): Rename cpp_quote_string and
3176 export. All callers changed.
3177 * cpplib.h (cpp_quote_string): Prototype.
3178 * cppmain.c (print_line): Call cpp_quote_string on to_file
3179 before printing it.
3180
3181 * doc/cpp.texi: Document that escapes are now interpreted in
3182 #line and in linemarkers, and that non-printing characters are
3183 converted to octal escapes when linemarkers are generated.
3184
3185Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
3186
3187 * emit-rtl.c (try_split): Use delete_insns.
3188 * recog.c (split_all_insns): Fix terminating condition.
3189
c882c7ac
RE
31902002-03-14 Richard Earnshaw <rearnsha@arm.com>
3191 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
3192
3193 PR target/5828
3194 * arm.c (arm_output_epilogue): Fix floating-point register save
3195 adjustment when using a frame pointer.
3196
3f26edaa
RS
31972002-03-14 Richard Sandiford <rsandifo@redhat.com>
3198
3199 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
3200 * config/mips/mips.c (compute_frame_size): Retrofit them here.
3201 (save_restore_insns, mips_expand_epilogue): And here.
3202 (build_mips16_call_stub): And here.
3203 (mips_function_value): Use the new macros to decide whether a single
3204 or complex float can be returned in floating-point registers. Return
3205 a parallel rtx in the complex case.
3206
1e3881c2
JH
3207Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
3208
3209 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
3210 call after liveness analysis.
3211
3212 * recog.c (split_insn): Use delete_insn_and_edges.
3213
3214 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
3215 instructions to have branch prediction notes.
3216 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
3217
200ef634
GK
32182002-03-14 Geoffrey Keating <geoffk@redhat.com>
3219
3220 * configure.in: Don't pass -Wno-long-long to a ADA compiler
3221 that doesn't support it.
3222 * configure: Regenerate.
3223
0b82d204
JJ
32242002-03-13 Jakub Jelinek <jakub@redhat.com>
3225
3226 PR target/5626
3227 * config/sparc/sparc.md (normal_branch, inverted_branch,
3228 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
3229 inverted_fp_branch): Adjust calls to output_cbranch.
3230 Set length attribute.
3231 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
3232 output_v9branch. Set length attribute.
3233 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
3234 predicates.
3235 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
3236 (output_cbranch): Likewise. Handle far branches.
3237 (output_v9branch): Handle far branches.
3238 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
3239 Adjust prototypes.
3240 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
3241 noov_compare64_op predicates.
3242
7a8de19b
JM
32432002-03-13 Jason Merrill <jason@redhat.com>
3244
3245 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
3246 into the function and constify it.
3247 * gthr-dce.h, gthr-solaris.h: Likewise.
3248
2a55fd42
DE
32492002-03-13 David Edelsohn <edelsohn@gnu.org>
3250
3251 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
3252 * config/rs6000/rs6000.c (rs6000_va_arg): Use
3253 std_expand_builtin_va_arg if not ABI_V4.
3254
19c5b1cf
JM
32552002-03-13 Jason Merrill <jason@redhat.com>
3256
3257 * varasm.c (globalize_decl): New fn.
3258 (assemble_start_function): Use it.
3259 (asm_emit_uninitialized): Use it.
3260 (assemble_alias): Use it.
3261 (assemble_variable): Use it.
3262
2a15f5e1
HPN
32632002-03-13 Hans-Peter Nilsson <hp@axis.com>
3264
3265 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 3266 2002-03-12 internal visibility change.
2a15f5e1
HPN
3267 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
3268 visibility into SYMBOL_REF_FLAG.
3269
c0a3eeac
UW
32702002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
3271
3272 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
3273 VOIDmode operand. Add compile-time optimization for constant results.
3274
a1652cee
JM
32752002-03-12 Jason Merrill <jason@redhat.com>
3276
3277 * c-typeck.c (convert_for_assignment): Don't allow conversions
3278 between pointers and references. Only allow lvalues to convert to
3279 reference.
3280
c52a375d
HP
32812002-03-13 Hartmut Penner <hpenner@de.ibm.com>
3282
f0cce04a
ZW
3283 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
3284 before prologue, to avoid scheduling problems.
c52a375d 3285
e387e99b
JJ
32862002-03-13 Jakub Jelinek <jakub@redhat.com>
3287
3288 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
3289 (ELIMINABLE_REGS): Add sfp->sp.
3290 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
3291
32922002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
3293
3294 PR optimization/5892
3295 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
3296
4061c1a3
JJ
32972002-03-13 Jakub Jelinek <jakub@redhat.com>
3298
3299 * loop.c (basic_induction_var): Don't call convert_modes if mode
3300 classes are different.
3301
5b43fed1
RH
33022002-03-12 Richard Henderson <rth@redhat.com>
3303
9f53e965
RH
3304 PR optimization/5901
3305 * function.c (reposition_prologue_and_epilogue_notes): Position
3306 the markers after/before the last/first insn not deleted.
3307
33082002-03-12 Richard Henderson <rth@redhat.com>
3309
3310 PR optimization/5878
5b43fed1
RH
3311 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
3312 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
3313 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
3314
3315 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
3316 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
3317 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
3318
3319 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
3320 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
3321 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
3322 also. Don't set it if not flag_pic.
3323 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
3324 to be INVALID_REGNUM when not used.
3325
4e9bb42b
AH
33262002-03-13 Aldy Hernandez <aldyh@redhat.com>
3327
5b43fed1
RH
3328 * expmed.c (store_bit_field): Reset alias set for memory.
3329 (extract_bit_field): Same.
4e9bb42b 3330
2f9834e8
KG
33312002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3332
3333 * c-common.c (c_tree_code_type, c_tree_code_length,
3334 c_tree_code_name, add_c_tree_codes): Delete.
3335 * c-common.h (add_c_tree_codes): Delete.
3336 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
3337 Define.
3338 * c-objc-common.c (c_objc_common_init): Don't call
3339 add_c_tree_codes, instead set lang_unsafe_for_reeval.
3340 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
3341 objc_tree_code_name, add_objc_tree_codes): Delete.
3342 (objc_init): Don't call add_objc_tree_codes.
3343 * objc/objc-lang.c (tree_code_type, tree_code_length,
3344 tree_code_name): Define.
3345 * toplev.c (lang_independent_init): Don't set
3346 tree_code_length[IDENTIFIER_NODE].
3347 * tree.c (tree_code_type, tree_code_length, tree_code_name):
3348 Delete definitions, moved to language front-ends.
3349 * tree.def (IDENTIFIER_NODE): Hardwire the length.
3350 * tree.h (tree_code_type, tree_code_length, tree_code_name):
3351 Const-ify.
3352 (tree_code_length): Change type to unsigned char.
3353
36ad2436
RH
33542002-03-12 Richard Henderson <rth@redhat.com>
3355
3356 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
3357 internal visibility change.
3358
0ae02efa
BW
33592002-03-12 Bob Wilson <bob.wilson@acm.org>
3360
3361 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
3362 validize_mem() instead of change_address to avoid clobbering
3363 memory attributes.
3364
35bb2bee
NB
33652002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
3366
3367 * c-lex.h (position_after_whitespace): Remove.
3368
62ae2529
JJ
33692002-03-12 Jakub Jelinek <jakub@redhat.com>
3370
3371 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
3372 (lex_string): Use unsigned char pointers.
3373
6a45951f
UW
33742002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
3375
3376 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
3377 is not a valid memory_operand.
3378
e2fb85da
BW
33792002-03-12 Bob Wilson <bob.wilson@acm.org>
3380
3381 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
3382 * config/xtensa/lib1funcs.asm: Fix copyright to include
3383 special case for libgcc files.
3384 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
3385 (__divsi3): Likewise.
3386 (__umodsi3): Likewise.
3387 (__modsi3): Likewise.
3388 * config/xtensa/lib2funcs.S: Fix copyright to include
3389 special case for libgcc files.
3390
5b8619f8
TR
33912002-03-12 Tom Rix <trix@redhat.com>
3392
3393 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 3394 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
3395 (ignore_library): Same.
3396
089c8f97
BW
33972002-03-12 Bob Wilson <bob.wilson@acm.org>
3398
3399 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
3400
958c70ff
BW
34012002-03-12 Bob Wilson <bob.wilson@acm.org>
3402
3403 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
3404 to function_section before writing out the constant pool.
3405
a65c591c
DE
34062002-03-12 David Edelsohn <edelsohn@gnu.org>
3407
3408 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
3409 zero_constant.
3410 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
3411
34122002-03-12 Alan Modra <amodra@bigpond.net.au>
3413
3414 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
3415 (adddi3): Likewise.
3416 (movdf): Likewise.
3417 (movdi): Likewise.
3418 (cmpsi splitter): Likewise.
3419 (modsi3): Fail if <= 0.
3420 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
3421 redundant test when HOST_BITS_PER_WIDE_INT != 32.
3422 (reg_or_sub_cint64_operand): Likewise.
3423 (num_insns_constant_wide): Optimize sign extension.
3424 (rs6000_legitimize_address): Likewise.
3425
17720332
AM
34262002-03-12 Andrew MacLeod <amacleod@redhat.com>
3427
3428 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
3429 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
3430
cd49f073
AM
34312002-03-12 Andrew MacLeod <amacleod@redhat.com>
3432
3433 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
3434 address calculation.
3435
6a4e49c1
UW
34362002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
3437
3438 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
3439 scratch register to DImode / TImode.
3440 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
3441 register used does not overlap the target.
3442
54b6670a
KG
34432002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3444
3445 * Makefile.in (debug.o): Depend on debug.h.
3446 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
3447 * debug.c (do_nothing_debug_hooks): Likewise.
3448 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
3449 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
3450 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
3451 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
3452 * dwarfout.c (dwarf_debug_hooks): Likewise.
3453 * integrate.c (output_inline_function): Likewise.
3454 * objc/objc-act.c (synth_module_prologue): Likewise.
3455 * sdbout.c (sdb_debug_hooks): Likewise.
3456 * toplev.c (debug_hooks): Likewise.
3457 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
3458
2465bf76
KG
34592002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3460
3461 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
3462 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
3463 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
3464 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
3465 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
3466 * defaults.h (POINTER_SIZE): Define.
3467 * doc/tm.texi (POINTER_SIZE): Document default.
3468
53f3e9ca
KG
34692002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3470
3471 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
3472
44d3eb5b
RH
34732002-03-11 Richard Henderson <rth@redhat.com>
3474
3475 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
3476 if rebuild_label_notes_after_reload.
3477
4a085d2e
HPN
34782002-03-12 Hans-Peter Nilsson <hp@axis.com>
3479
3480 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
3481 emit pic register load if "internal" visibility.
3482 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
3483 (cris_expand_builtin_va_arg): Do all computations on trees.
3484
bc204393
RH
34852002-03-11 Richard Henderson <rth@redhat.com>
3486
3487 * rtlanal.c: Include recog.h.
3488 (keep_with_call_p): Fix thinko.
3489 * Makefile.in (rtlanal.o): Update dependencies.
3490
6b8b9d7b
CM
34912002-03-11 Chris Meyer <cmeyer@gatan.com>
3492
3493 * genflags.c (gen_insn): Use IS_VSPACE.
3494 * genoutput.c (output_insn_data): Likewise.
3495 (process_template): Likewise.
3496
6c40858f
RH
34972002-03-11 Richard Henderson <rth@redhat.com>
3498
3499 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
3500
40adaa27
NB
35012002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
3502
3503 * Makefile.in: Update.
6c40858f 3504 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 3505 Update documentation.
6c40858f
RH
3506 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
3507 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 3508
049b03f4
ZW
35092002-03-11 Zack Weinberg <zack@codesourcery.com>
3510
3511 * Makefile.in: Give texi2pod its input file as a command line
3512 argument, not on stdin.
3513
61eece67
DN
35142002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
3515 Daniel Berlin <dan@dberlin.org>
3516
3517 C++ alias analysis improvement.
f0cce04a 3518 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
3519 classes too.
3520
a65c591c
DE
35212002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
3522
ff080aba
UW
3523 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
3524
1682dbb1
DR
35252002-03-11 Douglas B Rupp <rupp@gnat.com>
3526
fa2d765a
DR
3527 * toplev.c (vms_fopen): Remove, not needed.
3528
6f1fd286
DR
3529 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
3530
b230e057
DR
3531 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
3532
cb9a8e97
DR
3533 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
3534 for FP, already done later.
3535
1682dbb1
DR
3536 * toplev.c (debug_args): Add entry for VMS_DEBUG.
3537 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
3538
3fcaac1d
RS
35392002-03-11 Richard Sandiford <rsandifo@redhat.com>
3540
3541 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
3542 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
3543 LARGEST_EXPONENT_IS_NORMAL for the given mode.
3544 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
3545 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
3546 (ediv, emul, eldexp, esqrt): Likewise.
3547 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
3548 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
3549 (saturate): New function.
3550 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
3551 (make_nan): Use a saturation value instead of a NaN if
3552 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
3553 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
3554 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
3555 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
3556 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
3557 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
3558 !ROUND_TOWARDS_ZERO.
3559 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
3560 (ROUND_TOWARDS_ZERO): Document.
3561
d25558be
AJ
35622002-03-11 Andreas Jaeger <aj@suse.de>
3563
3564 * cfg.c (dump_flow_info): Remove unused variable.
3565
c71f9ae7
HPN
35662002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
3567
3568 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
3569 computations on trees.
3570
561c9153
RH
35712002-03-10 Richard Henderson <rth@redhat.com>
3572
932b4e3e 3573 PR 5693:
561c9153
RH
3574 * reload.c (copy_replacements_1): New.
3575 (copy_replacements): Use it to recurse through the rtx.
3576
26b738be
RH
35772002-03-10 Richard Henderson <rth@redhat.com>
3578
3579 * loop.c (strength_reduce): Compute number of iterations as
3580 unsigned HOST_WIDE_INT.
3581
8d8a083e
RH
35822002-03-10 Richard Henderson <rth@redhat.com>
3583
3584 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
3585 to move away from the end of the block.
3586
32810ba3
NB
35872002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
3588
3589 PR preprocessor/5899
3590 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 3591
2b03d201
KG
35922002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3593
f90c544c
KG
3594 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
3595
2b03d201
KG
3596 * attribs.c (decl_attributes): Fix signed/unsigned warning.
3597
3ec1b4cb
HPN
35982002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
3599
3600 * config/mmix/mmix.c: Improve comments.
3601 (mmix_target_asm_function_prologue): Drop variable
3602 empty_stack_frame. Don't allocate unused slot above fp.
3603 (mmix_target_asm_function_epilogue): Mirror prologue changes.
3604 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
3605 brace in first column.
3606 (enum reg_class): Ditto.
3607 (FIRST_PARM_OFFSET): Now 0.
3608 (USER_LABEL_PREFIX): Remove #if 0:d definition.
3609
27e486c5
KG
36102002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3611
3612 * combine.c (make_extraction): Fix error in last change.
3613
0139adca
KG
36142002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3615
3616 * c4x.c (c4x_fp_reglist): Const-ify.
3617 * cris.c (cris_print_operand): Likewise.
3618 * i386.c (ix86_va_arg): Likewise.
3619 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
3620 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
3621 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
3622 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
3623 * mcore.h (regno_reg_class): Likewise.
3624 * mips.c (gen_int_relational): Likewise.
3625 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
3626 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 3627 * pdp11.c (move_costs): Likewise.
0139adca
KG
3628 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
3629 * s390.c (s390_branch_condition_mnemonic, regclass_map):
3630 Likewise.
3631 * s390.h (regclass_map): Likewise.
3632 * sh.c (shift_amounts): Likewise.
a4334c36 3633 * sh.md (rotlsi3): Likewise.
0139adca 3634
889b90a1
GK
36352002-03-09 Geoffrey Keating <geoffk@redhat.com>
3636
3637 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
3638 (ne0+5): Use new clobber to generate proper shift pattern.
3639 Patch by Michael Matz <matz@kde.org>.
3640
2877e0ae
AS
36412002-03-09 Andreas Schwab <schwab@suse.de>
3642
3643 * gcc.c (validate_all_switches): Also handle `%W{...}'.
3644
79b51cd7
GK
36452002-03-09 Geoffrey Keating <geoffk@redhat.com>
3646
3647 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
3648
e0f1be5c
JJ
36492002-03-09 Jakub Jelinek <jakub@redhat.com>
3650
3651 PR middle-end/5877
3652 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
3653 even for non-representable constants.
3654
0a7ec763
RK
3655Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3656
93fe8e92
RK
3657 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
3658 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
3659 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
3660 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
3661 (pop_function_context): Compute MAY_SHARE parameter for
3662 fixup_var_refs.
3663 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
3664 (gen_mem_addressof): Call fixup_var_refs with new parm.
3665
0a7ec763
RK
3666 * combine.c (make_extraction): Don't make extension of CONST_INT.
3667
a85cd407
AO
36682002-03-09 Alexandre Oliva <aoliva@redhat.com>
3669
9445b814
AO
3670 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
3671 in o32 and o64 ABIs.
3672 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
3673 but getting fixed-size structs passed in registers regardless of
3674 padding in o32 and o64 ABIs.
3675
a85cd407
AO
3676 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
3677 offset before loading address of argument passed by transparent
3678 reference.
3679
c51fbe40
JDA
36802002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
3681
3682 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
3683
918e70dd
AO
36842002-03-09 Alexandre Oliva <aoliva@redhat.com>
3685
3686 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
3687 marker such that registers after it are saved.
3688
3070dd00
KG
36892002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3690
3691 * sparc.c (arith_4096_operand): Fix error in last change.
3692
e25d11b0
AO
36932002-03-08 Alexandre Oliva <aoliva@redhat.com>
3694
3695 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
3696 defaults for MEABI.
3697
41daaf0e
AH
36982002-03-08 Aldy Hernandez <aldyh@redhat.com>
3699
5b43fed1
RH
3700 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
3701 vectors.
41daaf0e 3702
fa139b00
AH
37032002-03-08 Aldy Hernandez <aldyh@redhat.com>
3704
5b43fed1 3705 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 3706
c51d95ec
JH
3707Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
3708
3709 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
3710 removed; fix return value.
3711 * combine.c (combine_instructions): Dirtify blocks where we failed to
3712 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
3713 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
3714
3b25fbfe
KG
37152002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3716
3717 * gcse.c (insert_insn_end_bb): Fix typo in last change.
3718
189ae0f4
JH
3719Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
3720
3721 * recog.c (peephole2_optimize): Re-distribute EH edges.
3722
24965e7a
NB
37232002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
3724
3725 * expr.c (expand_expr): Use unsave lang hook.
3726 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
3727 (LANG_HOOKS_INITIALIZER): Update.
3728 * langhooks.h (struct lang_hooks): New hook unsave.
3729 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
3730 (unsave_expr_1): Remove unused lang_unsave_expr_now.
3731 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
3732 (unsave_expr_now): Remove.
3733 * tree.h (unsave_expr_now, lang_unsave,
3734 lang_unsave_expr_now): Remove.
3735 (lhd_unsave): New.
3736
1e4e95d6
AJ
37372002-03-08 Andreas Jaeger <aj@suse.de>
3738
3739 * flow.c (propagate_block_delete_insn): Remove unused variable.
3740
054ef905
KH
37412002-03-08 Kazu Hirata <kazu@hxi.com>
3742
3743 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
3744 insn length for memory load/store.
3745
5304400d 37462002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 3747
5304400d
CR
3748 * doc/install.texi (--with-libiconv-prefix): Document.
3749
81034129
MB
37502002-03-08 Michael Y. Brukman <myb2@cornell.edu>
3751
3752 * doc/sourcebuild.texi: Fix typo.
3753
71db7d03
JJ
37542002-03-08 Jakub Jelinek <jakub@redhat.com>
3755
3756 PR c/3711
3757 * builtins.c (std_expand_builtin_va_arg): Do all computations on
3758 trees.
3759
127c1ba5
RK
3760Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3761
3762 * rtl.c (copy_most_rtx): Move from here ...
3763 * emit-rtl.c (copy_most_rtx): ... to here.
3764
8a13c092
AO
37652002-03-08 Alexandre Oliva <aoliva@redhat.com>
3766
5faae4f7
AO
3767 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
3768 SUBTARGET_CPP_SIZE_SPEC.
3769 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
3770
8a13c092
AO
3771 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
3772
4ec59de2
MH
37732002-03-07 Matt Hiller <hiller@redhat.com>
3774
3775 * gensupport.c (first_dir_md_include): Renamed from include;
3776 change all references.
3777 (last_dir_md_include): Renamed from last_include; change all
3778 references.
3779 (init_md_reader): Unconditionally initialize base_dir whether or
3780 not filename is a relative path.
3781
12f61e77
AO
37822002-03-07 Alexandre Oliva <aoliva@redhat.com>
3783
95356058
AO
3784 * config/fp-bit.c (_unord_f2): Compile it in even if
3785 US_SOFTWARE_GOFAST is enabled.
3786
12f61e77
AO
3787 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
3788 NULL_RTX. Set all HFmode operations as NULL_RTX.
3789 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
3790 NULL_RTX, try reversing the comparison and the operands.
3791
6d7a1c4c
UW
37922002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
3793
3794 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
3795 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
3796 and MATCH_OP_DUP.
3797
66d54344
JH
3798Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
3799
3800 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
3801
068473ec
JH
3802Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
3803
3804 * basic-block.h (fixup_abnormal_edges): Declare.
3805 * reload1.c (fixup_abnormal_edges): New function.
3806 * reg-stack.c (convert_regs): Use it.
3807
3808 * gcse.c (insert_insn_end_bb): Handle trapping insns.
3809
3810 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
3811
71925bc0
RS
38122002-03-07 Richard Sandiford <rsandifo@redhat.com>
3813
3814 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
3815 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
3816 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
3817 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
3818 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
3819 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
3820 unless x and y could be infinite.
3821 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
3822 Check that the common type of both arguments is a real, even for
3823 targets without unordered comparisons. Allow an integer argument
3824 to be compared against a real.
3825 (expand_tree_builtin): Use expand_unordered_cmp.
3826 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
3827 * cse.c (fold_rtx): Likewise. Fix indentation.
3828 * fold-const.c (fold_real_zero_addition_p): New.
3829 (fold): Use it, and the new HONOR_... macros.
3830 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
3831 * jump.c (reversed_comparison_code_parts): After searching for
3832 the true comparison mode, use HONOR_NANS to decide whether it
3833 can be safely reversed.
3834 (reverse_condition_maybe_unordered): Remove IEEE check.
3835 * simplify-rtx.c (simplify_binary_operation): Use the new macros
3836 to decide which simplifications are valid. Allow the following
3837 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
3838 and (a - -b) to (a + b).
3839 (simplify_relational_operation): Use HONOR_NANS.
3840 * doc/tm.texi: Document the MODE_HAS_... macros.
3841
145d3bf2
RE
38422002-03-07 Richard Earnshaw <rearnsha@arm.com>
3843
3844 * combine.c (simplify_comparison): If simplifying a logical shift
3845 right and compare with constant, force the comparison to unsigned.
3846
76a773f3
AH
38472002-03-07 Aldy Hernandez <aldyh@redhat.com>
3848
5b43fed1 3849 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 3850
5b43fed1
RH
3851 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
3852 -mabi=no-altivec
3853 (alt_reg_names): Remove % for vrsave.
76a773f3 3854
ab55f58c
RH
38552002-03-06 Richard Henderson <rth@redhat.com>
3856
5ddec02e 3857 PR optimization/5844
ab55f58c
RH
3858 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
3859 if used indicates we've already emitted one copy of an operand.
3860 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
3861 (gen_split): Supply a non-null used.
3862
e16e3291
UW
38632002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
3864
5b43fed1 3865 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 3866
1e4e95d6 3867 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
3868 but simply fail if the expression is too complex to simplify.
3869 (simplify_gen_binary): Handle simplify_plus_minus failures.
3870
2ca6672b
JH
3871Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
3872
3873 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
3874 consistently call delete_trivially_dead_insns after CSE and GCSE;
3875 fix DFI_life dumping; do jump threading after liveness; do crossjumping
3876 after liveness2; update comment in last crossjumping.
3877 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
3878
31d0dd4f
JL
3879Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
3880
d094b0b3
JL
3881 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
3882 after completing fast dead code elimination.
3883
31d0dd4f
JL
3884 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
3885 COMPARE operator.
1e4e95d6 3886
f2b958b1
PE
38872002-03-06 Phil Edwards <pme@gcc.gnu.org>
3888
3889 * version.c: Fix misplaced leading blanks on first line.
3890
a2877a09
JH
3891Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
3892
3893 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
3894
fe477d8b
JH
3895Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
3896
3897 * cfgcleanup.c (mentions_nonequal_regs): New function.
3898 (thread_jump): Use it.
3899 * toplev.c (rest_of_compilation): Run jump threading after
3900 liveness.
3901
2041cde4
JJ
39022002-03-06 Jakub Jelinek <jakub@redhat.com>
3903
3904 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
3905 patch.
3906
82d68d46
JH
3907Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
3908
3909 * predict.c (estimate_bb_frequencies): Do not reload the
3910 frequencies from notes.
3911
3dec4024
JH
3912Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
3913
3914 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
3915 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
3916
3917 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
3918 delete_noop_moves): Return indeger.
3919 * flow.c (ndead): New variable.
3920 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
3921 BB argument; update callers.
3922 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
3923 (life_analysis): Do not call purge_all_dead_edges.
3924 (update_life_info): Return number of deleted insns; print statistics.
3925 (update_life_info_in_dirty_blocks): likewise.
3926 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
3927 return number of insns deleted.
3928
3929 * cse.c: Include timevar.h
3930 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
3931 iterate until stabilizes; print statistics; return number of killed
3932 insns.
3933 * Makefile.in: (cse.o): Add timevar.h dependency
3934 * rtl.h (delete_trivially_dead_insns): New.
3935 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
3936 * toplev.c (rest_of_compilation): Update callers.
3937
3938 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
3939 (try_optimize_cfg): Do not update liveness.
3940 (cleanup-cfg): Loop until try_optimize_cfg and dead code
3941 removal stabilizes; use delete_trivially_dead_insns.
3942
3943 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
3944
c7544dd8
ZW
39452002-03-05 Zack Weinberg <zack@codesourcery.com>
3946
3947 * cppmain.c (setup_callbacks): Disable #pragma and #ident
3948 callbacks when processing assembly language.
3949
50b424a9
JDA
39502002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
3951
3952 * pa.h (ASM_FILE_END): Define.
3953 * som.h (ASM_FILE_END): Delete.
3954
3955 * pa.c (function_arg): Don't pass floats in general registers in
3956 indirect calls if TARGET_ELF32.
3957
6185f217
RH
39582002-03-05 Richard Henderson <rth@redhat.com>
3959
3960 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
3961
3020a4b2
DS
39622002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
3963
3964 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
3965
65649daa
JJ
39662002-03-05 Jakub Jelinek <jakub@redhat.com>
3967
3968 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
3969 -r command line. Don't hide any symbols if not building
3970 shared libgcc.
3971
5a1a3e5e
JH
3972Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
3973
3974 * cfg.c (dump_flow_info): Warn about profile mismatches.
3975 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
3976 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
3977
170c56da
JJ
39782002-03-05 Jakub Jelinek <jakub@redhat.com>
3979
3980 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
3981 wide volatile memory by parts.
3982
6d051694
JJ
39832002-03-05 Jakub Jelinek <jakub@redhat.com>
3984
3985 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
3986 is NULL.
3987
28bcfd4d
RH
39882002-03-05 Richard Henderson <rth@redhat.com>
3989
5b43fed1 3990 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 3991
75227a33
GK
39922002-03-04 Geoffrey Keating <geoffk@redhat.com>
3993
3994 * toplev.c (documented_lang_options): Document more
3995 language-specific options.
3996 * doc/invoke.texi (Warning Options): Correct documentation for
3997 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
3998 * c-decl.c (c_decode_option): Use a table to handle warning options.
3999
4f1aac42
HPN
40002002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
4001
4002 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
4003 parameter to mmix_encode_section_info.
4004 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
4005 relocatably. Always produce ELF, not mmo if linking relocatably.
4006 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
4007 first is non-zero, don't add symbol prefix.
4008 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
4009 prototype accordingly.
4010
12345543
KW
40112002-03-04 Krister Walfridsson <cato@df.lth.se>
4012
4013 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
4014
8e97db8f
JM
40152002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
4016
4017 * configure.in: Increase required makeinfo version to 4.1.
4018 * configure: Regenerate.
4019
06487868
GK
40202002-03-04 Geoffrey Keating <geoffk@redhat.com>
4021
4022 * .cvsignore: Remove *.info* and genrtl*; these files are generated
4023 elsewhere now.
4024
cff42170
JM
40252002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
4026
4027 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
4028 * doc/invoke.texi: Fix @math uses.
4029
974a7f56
JH
4030Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
4031
4032 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
4033 removal
4034
3b7d0e98
AH
40352002-03-03 Aldy Hernandez <aldyh@redhat.com>
4036
5b43fed1
RH
4037 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
4038 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 4039
5b43fed1 4040 * config/rs6000/t-ppcendian: New.
3b7d0e98 4041
65f2f288
HB
40422002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4043
4044 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
4045 nonimmediate_src_operand and nonimmediate_lsrc_operand to
4046 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
4047
8ce0a8a5
RH
40482002-03-03 Richard Henderson <rth@redhat.com>
4049
4050 * toplev.c (rest_of_decl_compilation): Revert last two changes.
4051
ba31d94e
ZW
40522002-03-03 Zack Weinberg <zack@codesourcery.com>
4053
4054 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
4055 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
4056 tree.c, config/m68k/m68k.c:
4057 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
4058 REAL_ARITHMETIC blocks unconditional. Delete some further
4059 #ifdef blocks predicated on REAL_ARITHMETIC.
4060 * flags.h, toplev.c: Delete remaining references to
4061 flag_pretend_float.
4062
4063 * doc/invoke.texi: Remove documentation of -fpretend-float.
4064 * doc/tm.texi: Describe the various REAL_* macros as provided by
4065 real.h, not by the target configuration files.
4066
4067 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
4068 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
4069 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
4070 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
4071 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
4072 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
4073 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
4074 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
4075 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
4076 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
4077 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
4078 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
4079 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
4080 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
4081 config/xtensa/xtensa.h:
4082 Do not define, undefine, or mention in comments any of
4083 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
4084 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
4085 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
4086 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
4087 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
4088 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
4089 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
4090 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
4091 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
4092
9a571cfd
KG
40932002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4094
e81dd381
KG
4095 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
4096 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
4097 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
4098 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
4099 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
4100 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
4101 Delete.
4102 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 4103 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 4104
9a571cfd
KG
4105 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
4106 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
4107 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
4108
ca7558fc
KG
41092002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4110
4111 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
4112 lieu of explicit sizeof/sizeof.
4113 * i386.c (override_options, ix86_init_mmx_sse_builtins,
4114 ix86_expand_builtin): Likewise.
4115 * mips.c (mips_add_gc_roots): Likewise.
4116 * mmix.c (mmix_output_condition): Likewise.
4117 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
4118 altivec_init_builtins): Likewise.
4119 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
4120 * cppexp.c (Nsuff, parse_number): Likewise.
4121 * cppinit.c (builtin_array_end): Likewise.
4122 * gcc.c (n_default_compilers, process_command): Likewise.
4123 * genpreds.c (output_predicate_decls): Likewise.
4124 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
4125 * lcm.c (N_ENTITIES): Likewise.
4126 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 4127
41c78c88
RH
41282002-03-03 Richard Henderson <rth@redhat.com>
4129
4130 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
4131 for types or labels.
4132
9e9b71e6
RH
41332002-03-03 Richard Henderson <rth@redhat.com>
4134
4135 * c-decl.c (start_decl): Initialized variables are not common.
4136
c26a6db8
PB
41372002-03-02 Per Bothner <per@bothner.com>
4138
4139 * gcc.c (option_map): Suport new --bootclasspath option.
4140 --CLASSPATH is now just an alias for --classpath.
4141
9e8aab55
RH
41422002-03-02 Richard Henderson <rth@redhat.com>
4143
4144 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
4145 load if "internal" visibility.
4146 * doc/extend.texi: Document visibility meanings.
4147
b3bbd220
RH
41482002-03-02 Richard Henderson <rth@redhat.com>
4149
4150 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
4151 to functions as well.
4152
b14707c3
RH
41532002-03-02 Richard Henderson <rth@redhat.com>
4154
4155 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
4156 (handle_visibility_attribute): Don't call assemble_visibility.
4157 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
4158 without asmspec. Invoke assemble_alias when needed.
4159 * varasm.c (maybe_assemble_visibility): New.
4160 (assemble_start_function, assemble_variable, assemble_alias): Use it.
4161
b2003250
RH
41622002-03-02 Richard Henderson <rth@redhat.com>
4163
4164 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
4165 invoke ENCODE_SECTION_INFO with first call flag.
4166
4167 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
4168 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 4169 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
4170 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
4171 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
4172 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
4173 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
4174 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
4175 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
4176 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
4177 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
4178 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
4179 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
4180 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
4181 config/mcore/mcore-protos.h, config/mcore/mcore.c,
4182 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
4183 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 4184 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
4185 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
4186 config/sh/sh.h, config/sparc/sparc.h,
4187 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
4188 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
4189 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
4190 FIRST argument. As needed, examine it and do nothing.
4191
ba31d94e 4192 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
4193 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
4194 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
4195
4196 * config/arm/t-pe (pe.o): Add dependencies.
4197
5c60f03d
KG
41982002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4199
4200 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
4201 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
4202 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
4203 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
4204 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
4205 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
4206 * defaults.h (BITS_PER_UNIT): Define.
4207 * doc/tm.texi (BITS_PER_UNIT): Document default value.
4208
86855e8c
KH
42092002-03-02 Kazu Hirata <kazu@hxi.com>
4210
4211 * config/h8300/h8300-protos.h: Add a prototype for
4212 compute_a_shift_length.
4213 * config/h8300/h8300.c (h8300_asm_insn_count): New.
4214 (compute_a_shift_length): Likewise.
4215 (h8300_adjust_insn_length): Do not adjust insn length of shift
4216 insns.
4217 * config/h8300/h8300.md (anonymous shift patterns): Use
4218 compute_a_shift_length.
4219
f6041ed8
RK
4220Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4221
35aa3c1c
RK
4222 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
4223 trunc_int_for_mode.
4224
f6041ed8
RK
4225 * emit-rtl.c (offset_address): Call update_temp_slot_address.
4226
27b41650
KG
42272002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4228
4229 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
4230 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
4231 * flags.h (flag_zero_initialized_in_bss): Declare.
4232 * toplev.c (flag_zero_initialized_in_bss): New flag.
4233 (lang_independent_options): Add flag_zero_initialized_in_bss.
4234 * tree.c (initializer_zerop): New function.
4235 * tree.h (initializer_zerop): Declare.
4236 * varasm.c (assemble_variable): If we can emit bss, put zero
4237 initializers in the bss section.
4238
ca734b39
AM
42392002-03-02 Alan Modra <amodra@bigpond.net.au>
4240
4241 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
4242 like more than one symbol per .weak directive.
4243
49b72306
RH
42442002-03-01 Richard Henderson <rth@redhat.com>
4245
4246 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
4247 adjust argument_pointer by pretend_args_size.
4248 (ia64_va_start): Adjust va_start address by -pretend_args_size.
4249
fbf0fe41
KH
42502002-03-01 Kazu Hirata <kazu@hxi.com>
4251
4252 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
4253
0010687d
JH
4254Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
4255
4256 * toplev.c (rest_of_compilation): Delete dead jumptables before
4257 loop.
4258 * flow.c (delete_dead_jumptables): Make global.
4259 * rtl.h (delete_dead_jumptables): Declare.
4260
9429c84c
DE
42612002-03-01 David Edelsohn <edelsohn@gnu.org>
4262
4263 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
4264 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 4265 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 4266
f0b6f9a6
KH
42672002-03-01 Kazu Hirata <kazu@hxi.com>
4268
4269 * config/h8300/h8300-protos.h: Fix formatting.
4270 * config/h8300/h8300.c: Likewise.
4271 * config/h8300/h8300.h: Likewise.
4272
bc8db8a1
KH
42732002-03-01 Kazu Hirata <kazu@hxi.com>
4274
4275 * config/h8300/h8300.c (print_operand): Support 16-bit
4276 constant addresses.
4277 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
4278
32b069d3
RH
42792002-02-28 Richard Henderson <rth@redhat.com>
4280
4281 * expmed.c (store_bit_field): Prevent generation of CONCATs;
4282 pun complex values as integers; use gen_lowpart instead of
4283 gen_rtx_SUBREG.
4284 (extract_bit_field): Likewise.
4285
79c4e63f
AM
42862002-03-01 Alan Modra <amodra@bigpond.net.au>
4287 David Edelsohn <edelsohn@gnu.org>
4288
4289 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
4290 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
4291 (SUPPORTS_WEAK): Likewise.
4292 * output.h (add_weak): Add tree param.
4293 * varasm.c (add_weak): Likewise. Save decl.
4294 (struct weak_syms): Add decl field.
4295 (mark_weak_decls): New function.
4296 (init_varasm_once): ggc_add_root mark_weak_decls.
4297 (assemble_start_function): Use ASM_WEAKEN_DECL.
4298 (assemble_variable): Likewise.
4299 (assemble_alias): Likewise.
4300 (declare_weak): Pass decl to add_weak.
4301 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
4302 (remove_from_pending_weak_list): Declare and define for
4303 ASM_WEAKEN_DECL.
4304 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
4305 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
4306 * defaults.h (SUPPORTS_WEAK): Likewise.
4307 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
4308 .weak for code sym. Do emit .size for descriptor sym.
4309 (ASM_DECLARE_FUNCTION_SIZE): Define.
4310 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
4311 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
4312 .lglobl unless TARGET_XCOFF. Formatting fixes.
4313 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
4314 .weak for code sym.
4315 (HANDLE_PRAGMA_WEAK): Remove.
4316 (ASM_WEAKEN_LABEL): Remove.
4317 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
4318
6f30f1f1
JM
43192002-03-01 Jason Merrill <jason@redhat.com>
4320
4321 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
4322 (TARGET_EXPR_CLEANUP): New macro.
4323
7879b81e
SE
43242002-02-28 Steve Ellcey <sje@cup.hp.com>
4325
4326 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
4327 to take ptr_extend into account as third type of extension.
4328 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
4329 fields used by SUBREG_PROMOTED_UNSIGNED_P.
4330 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
4331 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
4332 * calls.c (precompute_arguments): Use new macro.
4333 (expand_call): Ditto.
4334 * combine.c (nonzero_bits): Ditto.
4335 (record_promoted_value): Ditto.
4336 * expr.c (store_expr): Ditto.
4337 (expand_expr): Ditto.
4338 * function.c (assign_parms): Ditto.
4339
42d579d8
AO
43402002-02-28 Alexandre Oliva <aoliva@redhat.com>
4341
4342 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
4343 override -shared and -shared-libgcc.
4344
e0054185
DB
43452002-02-28 David O'Brien <obrien@FreeBSD.org>
4346
4347 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
4348 of "ultrasparc".
4349 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
4350 to be broken.
4351
abda4f1c
RH
43522002-02-28 Richard Henderson <rth@redhat.com>
4353
4354 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
4355 4 cycle latency from MM producers.
4356 (ia64_internal_sched_reorder): Likewise with pipeline flush.
4357
c0f08649
JJ
43582002-02-28 Jakub Jelinek <jakub@redhat.com>
4359
4360 * mklibgcc.in: Don't use GNU make extension.
4361
f79f2651
NB
43622002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
4363
4364 * c-parse.in (STATIC): New terminal.
4365 (scspec): New non-terminal. Update productions accordingly.
4366 (program): Remove bogus ifc / end ifc.
4367 (array_declarator): Simplify production using STATIC.
4368
001e3fee
JM
43692002-02-28 Jim Meyering <meyering@lucent.com>
4370
4371 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
4372 \a still means TARGET_BELL.
4373
89076bb3
RH
43742002-02-28 Richard Henderson <rth@redhat.com>
4375
4376 * haifa-sched.c (sched_emit_insn): New.
4377 (schedule_block): Use last_scheduled_insn to track last insn.
4378 * sched-int.h (sched_emit_insn): Prototype.
4379 * config/ia64/ia64.c (last_issued): Remove.
4380 (ia64_variable_issue): Don't set it.
4381 (nop_cycles_until): Use sched_emit_insn.
4382
e3aaacf4
AM
43832002-02-28 Andrew MacLeod <amacleod@redhat.com>
4384
4385 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
4386 extended constants.
4387
7f473594
KH
43882002-02-28 Kazu Hirata <kazu@hxi.com>
4389
4390 * config/h8300/h8300.c: Fix formatting.
4391 * config/h8300/h8300.h: Likewise.
4392
b96c434c
MM
43932002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
4394
4395 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
4396 which may overwrite the high byte of the frame pointer.
4397
9b420a6a
BT
43982002-02-28 Bo Thorsen <bo@suse.de>
4399
4400 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
4401 (STARTFILE_SPEC): Add 64 bit files.
4402 (ENDFILE_SPEC): Likewise.
4403
6f30f1f1 44042002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
4405
4406 * c-decl.c (finish_function): Only warn about missing return
4407 statement with -Wreturn-type.
4408
70da1d03
JH
4409Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
4410
4411 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
4412
4413 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
4414 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
4415
38c1593d
JH
4416Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
4417
4418 * basic-block.h (BB_REACHABLE): Renumber.
4419 (BB_DIRTY, BB_NEW): New flags.
4420 (clear_bb_flags): Declare.
4421 (update_life_info_in_dirty_blocks): Declare.
4422 * cfg.c (clear_bb_flags): New function.
4423 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
4424 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
4425 reorder_insns, emit_insn_after): Mark block as dirty.
4426 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
4427 (update_life_info_in_dirty_blocks): New function.
4428 * recog.c (apply_change_group): Dirtify block.
4429
4430 * cse.c (cse_insn): Reorder emitting of jump insn to keep
4431 cfg consistent.
4432 * gcse.c (delete_null_pointer_checks): Likewise.
4433
4434 * toplev.c (dump_file_index): Move cse2 after bp,
4435 add DFI_null
4436 (dump_file_info): Similary.
4437 (rest_of_compilation): Avoid most of CFG rebuilds;
4438 do first if converision after null pointer checks, do cse2
4439 after branch prediction; avoid full liveness rebuild after
4440 initializing subregs.
4441 * invoke.texi (-d options): Document -du, renumber.
4442
4443 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
4444 (notice_new_block): Do not set BB_UPDATE_LIFE.
4445 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
4446 merge_blocks_move_successor_nojumps, merge_blocks,
4447 try_crossjump_to_edge): Likewise.
4448 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
4449 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
4450 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
4451 (merge_of_block): Do not use life_data_ok.
4452 (find_if_case_1): Do not use SET_UPDATE_LIFE.
4453 (if_convert): Use BB_DIRTY mechanizm to update life.
4454 * lcm.c (optimize_mode_switching): Update
4455 update_life_info_in_dirty_blocks
4456
63e1b1c4
NB
44572002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
4458
4459 * Makefile.in (integrate.o): Update.
4460 * c-decl.c (copy_lang_decl): Rename.
4461 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
4462 * integrate.c: Include langhooks.h.
4463 (copy_decl_for_inlining): Update to use langhook.
4464 * langhooks-def.h (lhd_do_nothing_t,
4465 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
4466 (LANG_HOOKS_INITIALIZER): Update.
4467 * langhooks.c (lhd_do_nothing_t): New.
4468 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
4469 * tree.h (copy_lang_decl): Remove.
4470objc:
4471 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
4472
f472fa29
AM
44732002-02-27 Andrew MacLeod <amacleod@redhat.com>
4474
ba31d94e 4475 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
4476 POST_DEC, and POST_MODIFY.
4477
273cf2e4
ZW
44782002-02-27 Zack Weinberg <zack@codesourcery.com>
4479
4480 * c-typeck.c (digest_init): Remove unused parameter; all
4481 callers changed.
4482
4e07d762
GK
44832002-02-27 Geoffrey Keating <geoffk@redhat.com>
4484
4485 * expmed.c (expand_shift): Correctly test for low part of a
4486 subreg.
4487
6bc627b3
UW
44882002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
4489
4490 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
4491 insn UIDs with insn addresses.
4492
f458d1d5
ZW
44932002-02-27 Zack Weinberg <zack@codesourcery.com>
4494
4495 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
4496 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
4497 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
4498 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
4499 gcc.c, toplev.c: Delete code implementing -traditional mode.
4500
4501 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
4502 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
4503 Document removal of -traditional mode for compilation, and
4504 remove documentation only relevant to that mode.
4505
4506 * config/nextstep.h, config/ptx4.h, config/svr4.h,
4507 config/convex/convex.h, config/d30v/d30v.h,
4508 config/i386/dgux.h, config/i386/osf1elf.h,
4509 config/i386/osfelf.h, config/i386/osfrose.h,
4510 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
4511 config/m68k/hp310.h, config/m88k/dgux.h,
4512 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
4513 config/m88k/m88k.h, config/m88k/openbsd.h,
4514 config/mips/abi64.h, config/mips/osfrose.h,
4515 config/mips/svr4-5.h, config/mips/svr4-t.h,
4516 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
4517 config/stormy16/stormy16.h: Remove all references to
4518 -traditional from target specs. Delete all mention of the
4519 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
4520 delete a couple of commented-out definitions of
4521 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
4522 to -traditional.
4523
4524 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
4525 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
4526
e0b3a8ff
ZW
45272002-02-27 Zack Weinberg <zack@codesourcery.com>
4528
4529 * mklibgcc.in: Don't use \n in a line subject to
4530 interpretation by echo.
4531
5c6a85b7
GS
45322002-02-27 Graham Stott <grahams@redhat.com>
4533
72b05af1
GS
4534 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
4535 Constify NAME.
4536
7d104885
GS
4537 * loop.c (prescan_loop): Handle PARALLEL.
4538
8ed805d2
GS
4539 * unroll.c (loop_iterations): Return 0 if the add_val for
4540 a BIV is REG.
4541
fd478a0a
GS
4542 * final.c (output_operand_lossage): Constify PFX_STR.
4543
5c6a85b7
GS
4544 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
4545
cd98ad03
JH
4546Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
4547
4548 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
4549 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
4550
639ae55b
JH
4551Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
4552
4553 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
4554
e808ec9c
NB
45552002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
4556
4557 * cpplex.c (_cpp_lex_token): Handle directives in macro
4558 arguments.
4559 * cpplib.c (_cpp_handle_directive): Save and restore state
4560 if parsing macro args when entering a directive.
4561 * cppmacro.c (collect_args): No need to handle directives
4562 in macro arguments.
4563 (enter_macro_context, replace_args): Use the original macro
4564 definition in case it was redefined whilst collecting arguments.
4565doc:
4566 * cpp.texi: Update.
4567
f585a356
DE
45682002-02-26 David Edelsohn <edelsohn@gnu.org>
4569
4570 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
4571 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
4572 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
4573 method on AIX.
4574 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
4575 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
4576 (load_toc_v4_PIC_2): Same.
4577
45782002-02-26 Alan Modra <amodra@bigpond.net.au>
4579
4580 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
4581
d699058e
RH
45822002-02-26 Richard Henderson <rth@redhat.com>
4583
4584 * config/alpha/alpha.md (ashldi_se): Re-enable.
4585
eadccfbb
RH
45862002-02-26 Richard Henderson <rth@redhat.com>
4587
4588 * config/alpha/alpha.c (alpha_encode_section_info): Examine
4589 MODULE_LOCAL_P; improve commentary.
4590
7080ada1
ZW
45912002-02-26 Zack Weinberg <zack@codesourcery.com>
4592
4593 * doc/cpp.texi: Clarify documentation of relationship between
4594 #line and #include.
4595
b42cff6b
KH
45962002-02-26 Kazu Hirata <kazu@hxi.com>
4597
4598 * config/h8300/h8300-protos.h: Update the prototype for
4599 compute_logical_op_length. Add the prototype for
4600 compute_logical_op_cc.
4601 * config/h8300/h8300.c (compute_logical_op_length): Figure out
4602 code from operands.
4603 (compute_logical_op_cc): New.
4604 * config/h8300/h8300.md: Combine all the logical op patterns
4605 in HImode and SImode. Use compute_logical_op_cc.
4606
831c4e87
KC
46072002-02-26 Kelley Cook <kelleycook@comcast.net>
4608
4609 * config/i386/i386.c (print_operand): Don't append ATT-style
4610 length suffixs to x87 opcodes when in Intel mode.
4611
ff88fe10
RS
46122002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
4613
4614 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
4615 (init_emit_once): Update calls.
4616 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
4617 (init_syntax_once): Prototype.
4618
d4108589
JDA
46192002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
4620
4621 * pa-linux.h (LIB_SPEC): Update definition.
4622 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
4623
e013f3c7
RH
46242002-02-26 Richard Henderson <rth@redhat.com>
4625
4626 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
4627 if we emitted a stop bit.
4628
9e944a16
JJ
46292002-02-26 Jakub Jelinek <jakub@redhat.com>
4630
4631 * configure.in (libgcc_visibility): Substitute.
4632 * configure: Rebuilt.
4633 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
4634 defined symbols .hidden.
4635
47bd70b5
JJ
46362002-02-26 Jakub Jelinek <jakub@redhat.com>
4637
4638 * attribs.c (c_common_attribute_table): Add visibility.
4639 (handle_visibility_attribute): New function.
4640 * varasm.c (assemble_visibility): New function.
4641 * output.h (assemble_visibility): Add prototype.
4642 * tree.h (MODULE_LOCAL_P): Define.
4643 * crtstuff.c (__dso_handle): Use visibility attribute.
4644 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
4645 for MODULE_LOCAL_P symbols too.
4646 * config/ia64/ia64.c (ia64_encode_section_info): Handle
4647 MODULE_LOCAL_P symbols the same way as local symbols.
4648 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
4649 into .sdata/.sbss by the user.
4650 * doc/extend.texi (Function Attributes): Document visibility
4651 attribute.
4652
6d73371a
JJ
46532002-02-26 Jakub Jelinek <jakub@redhat.com>
4654
4655 PR debug/5770
4656 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
4657 STRING_CST initializer spanning the whole variable without
4658 embedded zeros.
4659 If expand_expr returned MEM, don't use it.
4660
06e224f7
AO
46612002-02-26 Alexandre Oliva <aoliva@redhat.com>
4662
4663 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
4664 generate a die for the lexical block.
4665
40367e2d
KH
46662002-02-26 Kazu Hirata <kazu@hxi.com>
4667
4668 * config/h8300/h8300-protos.h: Add a prototype for
4669 compute_logical_op_length.
4670 * config/h8300/h8300.c (compute_logical_op_length): New.
4671 * config/h8300/h8300.md (anonymous logical patterns): Use
4672 compute_logical_op_length for length.
4673
0e98f924
AH
46742002-02-26 Aldy Hernandez <aldyh@redhat.com>
4675
831c4e87
KC
4676 * dwarf2out.c (modified_type_die): Do not call type_main_variant
4677 for vectors.
4678 (gen_type_die): Same.
0e98f924 4679
831c4e87 4680 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 4681
a50cfd52
DE
46822002-02-26 Daniel Egger <degger@fhm.edu>
4683
831c4e87
KC
4684 * config/rs6000/rs6000.md: Swap define_insn attributes to
4685 fix incorrect generation of merge high instructions instead
4686 of merge low.
a50cfd52 4687
b7997284
AH
46882002-02-26 Aldy Hernandez <aldyh@redhat.com>
4689
831c4e87
KC
4690 * c-typeck.c (really_start_incremental_init): Use
4691 bitsize_zero_node for vectors.
b7997284 4692
376aec5d
AH
46932002-02-26 Aldy Hernandez <aldyh@redhat.com>
4694
831c4e87
KC
4695 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
4696 ("*set_vrsave_internal"): Same.
376aec5d 4697
3b40e71b
RH
46982002-02-25 Richard Henderson <rth@redhat.com>
4699
4700 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
4701 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
4702
232b8f52
JJ
47032002-02-25 Jakub Jelinek <jakub@redhat.com>
4704
4705 PR target/5755
4706 * config/i386/i386.c (ix86_return_pops_args): Only pop
4707 fake structure return argument if it was passed on the stack.
4708
67282790
JM
47092002-02-25 Jason Merrill <jason@redhat.com>
4710
4711 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
4712 RESULT_DECL.
4713
5c181756
AO
47142002-02-25 Alexandre Oliva <aoliva@redhat.com>
4715
4716 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
4717 link with shared_name only.
4718 * doc/invoke.texi (Link Options): Document new behavior.
4719
6786d201
AH
47202002-02-25 Aldy Hernandez <aldyh@redhat.com>
4721
831c4e87 4722 * c-typeck.c (push_init_level): Handle vectors.
6786d201 4723
7d6040e8
AO
47242002-02-25 Alexandre Oliva <aoliva@redhat.com>
4725
4726 * config/sparc/sparc.c (const64_high_operand): Zero-extend
4727 operands of SPARC_SETHI_P.
4728 (input_operand): Likewise.
4729 (sparc_emit_set_const32): Likewise.
4730 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
4731 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
4732 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
4733 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
4734 (movdi_insn_sp64_vis): Likewise.
4735 (movdi split, movdf split): Use SETHI32.
4736 * doc/md.texi: Document SPARC constraints L, M and N.
4737
b188f760
AH
47382002-02-25 Aldy Hernandez <aldyh@redhat.com>
4739
831c4e87
KC
4740 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
4741 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 4742
831c4e87
KC
4743 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
4744 gen_get_vrsave_internal.
b188f760 4745
8041889f
RK
4746Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4747
4748 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
4749
a47ed310
NB
47502002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
4751
4752 * cpplex.c (cpp_interpret_charconst): Get signedness or
4753 otherwise of wide character constants correct.
4754 * cppexp.c (lex): Get signedness of wide charconsts correct.
4755
cb8f73be
RK
4756Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4757
4758 * optabs.c (widen_operand): Only call convert_modes for
4759 promoted SUBREG if signedness matches.
4760 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
4761
2450e0b8
NB
47622002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
4763
4764 * cpplib.c (glue_header_name): Use local buffer to build up
4765 header name.
4766
70b6aaed
NB
47672002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
4768
4769 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
4770
6be580c7
KH
47712002-02-23 Kazu Hirata <kazu@hxi.com>
4772
4773 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
4774 H8/300[HS] separately.
4775 * config/h8300/h8300.md: Remove the early clobber constraint
4776 from bit field patterns.
4777
35dad9f1
KH
47782002-02-23 Kazu Hirata <kazu@hxi.com>
4779
4780 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
4781 register_operand.
4782 (mulhisi3): Likewise.
4783 (umulqisi3): Likewise.
4784 (umulhisi3): Likewise.
4785
ab8e2228
NB
47862002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
4787
4788 * cppinit.c (output_deps): Correct test for stdout output.
4789 (init_dependency_output): Cure warning.
4790
ac6f8a15
RK
4791Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4792
4793 * expr.c (store_expr): When converting expression to promoted
4794 equivalent type, allow using SUBREG_REG of TARGET as the target
4795 of the expansion of EXP.
4796 * loop.c (basic_induction_var, case SUBREG): Always look inside.
4797 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
4798 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
4799 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
4800 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
4801
f282ffb3
JM
48022002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
4803
4804 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
4805 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
4806 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
4807
44c5edc0
JJ
48082002-02-23 Jakub Jelinek <jakub@redhat.com>
4809
4810 PR optimization/5747
4811 * loop.c (scan_loop): Update reg info if move_movables created new
4812 pseudos.
4813
f98e43c0
DE
48142002-02-23 David Edelsohn <edelsohn@gnu.org>
4815
4816 * gcc.c (init_gcc_spec): Revert last change.
4817
e72247f4
DE
48182002-02-23 David Edelsohn <edelsohn@gnu.org>
4819
4820 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
4821 gpc_reg_operand constraint.
4822
48232002-02-23 Alan Modra <amodra@bigpond.net.au>
4824
4825 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
4826 Simplify comparison of `low'.
4827 (add_operand): Fix formatting.
4828 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 4829 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
4830 (rs6000_stack_info): Remove redundant test setting push_p.
4831 (output_toc): Fix formatting.
4832 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
4833 cc_reg_not_cr0_operand constraint.
4834 (booldi3, boolcdi3 splitters): Same.
4835
a5c30531
AH
48362002-02-23 Aldy Hernandez <aldyh@redhat.com>
4837
831c4e87 4838 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 4839
43710f9f
DE
48402002-02-22 David Edelsohn <edelsohn@gnu.org>
4841
4842 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
4843 gcc invoked with -shared-libgcc.
4844
3256b817
JJ
48452002-02-22 Jakub Jelinek <jakub@redhat.com>
4846
4847 PR c++/5748
4848 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
4849 decl if any of elements was TREE_USED.
4850
9e0625a3
AO
48512002-02-22 Alexandre Oliva <aoliva@redhat.com>
4852
4853 * config/sparc/sol2.h: Don't include sys/mman.h.
4854 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
4855 (arith_4096_operand): Don't throw high bits away.
4856 (const64_operand): Take sign extension of CONST_INTs into account.
4857 (const64_high_operand, sparc_emit_set_const32): Likewise.
4858 (GEN_HIGHINT64): Likewise.
4859 (sparc_emit_set_const64_quick1): Likewise.
4860 (const64_is_2insns): Likewise.
4861 (print_operand): Use trunc_int_for_mode for sign extension.
4862 * config/sparc/sparc.h (SMALL_INT32): Likewise.
4863 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
4864 chars. Assume CONST_INT is already properly sign-extended.
4865 (movdi split): Sign-extend each SImode part.
4866 (andsi3 split): Don't mask high bits off, so that result
4867 remains properly sign-extend.
4868 (iorsi3 split): Likewise.
4869 (xorsi3 split): Likewise.
4870
54fec3d5
RS
48712002-02-22 Richard Sandiford <rsandifo@redhat.com>
4872
4873 * fold-const.c (fold): Fix typo in comments.
4874
667ada9b
DN
48752002-02-21 Diego Novillo <dnovillo@redhat.com>
4876
4877 * Makefile.in (langhooks.o): Update dependencies.
4878
29ac78d5
DN
48792002-02-21 Diego Novillo <dnovillo@redhat.com>
4880
4881 * langhooks.c: Include flags.h.
4882
6aa77e6c
AH
48832002-02-21 Aldy Hernandez <aldyh@redhat.com>
4884
4885 * testsuite/gcc.dg/attr-alwaysinline.c: New.
4886
4887 * c-common.c (c_common_post_options): Set inline trees by
4888 default.
4889
4890 * doc/extend.texi (Function Attributes): Document always_inline
4891 attribute.
4892 Update documentation about inlining when not optimizing.
4893
4894 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
4895
4896 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
4897 unless DECL_ALWAYS_INLINE.
4898
4899 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
4900 unless DECL_ALWAYS_INLINE.
4901 (c_disregard_inline_limits): Disregard if always_inline set.
4902
4903 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
4904 Disregard if always_inline set.
4905 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
4906 unless DECL_ALWAYS_INLINE.
4907
4908 * attribs.c (handle_always_inline_attribute): New.
4909 (c_common_attribute_table): Add always_inline.
4910
4911 * config/rs6000/altivec.h: Add prototypes for builtins
4912 requiring the always_inline attribute.
4913
c410d49e
EC
49142002-02-21 Eric Christopher <echristo@redhat.com>
4915
4916 * expmed.c (store_bit_field): Try to simplify the subreg
4917 before generating a new one when when the mode size of
4918 value is less than maxmode.
4919
e3c8ea67
RH
49202002-02-21 Richard Henderson <rth@redhat.com>
4921
4922 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
4923 than gen_rtx_PLUS to form the sum.
4924 * explow.c (force_reg): Rearrange to not allocate new pseudo
4925 when force_operand returns a register.
4926 * expr.c (expand_assignment): Allow offset_rtx expansion to
4927 return a sum. Do not force addresses into registers.
4928 (expand_expr): Likewise.
4929 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
4930 to canonicalize arithmetic that didn't simpify.
4931 (simplify_plus_minus): New argument force; update
4932 all callers. Don't split CONST unless we can do something with it,
4933 and wouldn't lose the constness of the operands.
4934
4935 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
4936 that we generated earlier.
4937
c1a046e5
TT
49382002-02-21 Tom Tromey <tromey@redhat.com>
4939
4940 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
4941 (output_line_info): Use constant `1', with a long explanatory
4942 comment.
4943 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
4944
31fbaad4
R
4945Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
4946
4947 * jump.c (redirect_jump): If old label has no UID, don't try to
4948 delete it.
4949
a7f52356
R
4950Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
4951
4952 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
4953 If input is constant, do shifts at compile time.
4954
924fcc4e
JM
49552002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
4956
4957 * doc/extend.texi: Fix some more overfull hboxes.
4958
e5a20888
JJ
49592002-02-21 Jakub Jelinek <jakub@redhat.com>
4960
4961 PR optimization/4994
4962 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
4963 register moves.
4964
49652002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
4966
4967 PR c++/4574
4968 * expr.h (expand_and): Add mode argument.
4969 * expmed.c (expand_and): Add mode argument.
4970 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
4971 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
4972 * except.c (expand_builtin_extract_return_addr): Likewise.
4973 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
4974 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
4975 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
4976 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
4977 * config/c4x/c4x.md: Use GEN_INT (x) instead of
4978 gen_rtx (CONST_INT, VOIDmode, x).
4979
7133e992
JJ
49802002-02-21 Jakub Jelinek <jakub@redhat.com>
4981
4982 PR c/4697:
4983 * stmt.c (warn_if_unused_value): Move side effects test once more.
4984
e2ec05a6
TG
49852002-02-20 Torbjorn Granlund <tege@swox.com>
4986
4987 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 4988 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 4989
9dd791c8
AO
4990Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
4991
4992 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
4993 SUBREG or ZERO_EXTEND.
4994
7ab56274
R
4995Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
4996
4997 * sh.h (current_function_anonymous_args): Remove.
4998 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
4999 of current_function_varargs and current_function_stdarg is set.
5000 * sh.c (sh_expand_prologue): Check current_function_varargs /
5001 current_function_stdarg / TARGET_SH5 instead of
5002 current_function_anonymous_args.
5003
5004 * sh64.h (TARGET_VERSION): Define.
5005
b1765bde
DE
50062002-02-20 David Edelsohn <edelsohn@gnu.org>
5007
5008 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
5009 VRSAVE_REGNO on TARGET_ALTIVEC.
5010
50112002-02-20 Alan Modra <amodra@bigpond.net.au>
5012
5013 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
5014 bits of SImode const_int.
5015 (includes_rshift_p): Likewise.
5016 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 5017 mode.
b1765bde
DE
5018 (rs6000_output_function_epilogue): Pad traceback table to word.
5019 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
5020 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
5021 mask64_operand with correct mode.
b1765bde
DE
5022 (FUNCTION_ARG_REGNO_P): Correct parentheses.
5023
149d6f9e
JJ
50242002-02-20 Jakub Jelinek <jakub@redhat.com>
5025
5026 PR debug/4461
5027 * varasm.c (get_pool_constant_mark): New.
5028 * rtl.h (get_pool_constant_mark): Add prototype.
5029 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
5030 be represented if it has not been output.
5031
4161da12
AO
50322002-02-20 Alexandre Oliva <aoliva@redhat.com>
5033
5034 * combine.c (do_SUBST): Sanity check substitutions of
5035 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
5036 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
5037 CONST_INT into its operand.
5038 (known_cond): Likewise, for ZERO_EXTEND.
5039 * simplify-rtx.c (simplify_unary_operation): Fix condition to
5040 allow for simplification of wide modes. Reject CONST_INTs in
5041 ZERO_EXTEND when their actual mode is not given.
5042
3704ef74
AO
50432002-02-20 Alexandre Oliva <aoliva@redhat.com>
5044
5045 * c-decl.c (pushdecl): If no global declaration is found for an
5046 extern declaration in block scope, try a limbo one.
5047
7552da58
JJ
50482002-02-20 Jakub Jelinek <jakub@redhat.com>
5049
5050 PR c++/4401
5051 * c-common.c (pointer_int_sum): Moved from...
5052 * c-typeck.c (pointer_int_sum): ...here.
5053 * c-common.h (pointer_int_sum): Add prototype.
5054
00fae85d
JJ
50552002-02-20 Jakub Jelinek <jakub@redhat.com>
5056
5057 PR c++/5713
5058 * c-decl.c (duplicate_decls): Return 0 if issued error about
5059 redeclaration.
5060
4636c87e
JJ
50612002-02-20 Roger Sayle <roger@eyesopen.com>
5062 Jakub Jelinek <jakub@redhat.com>
5063
5064 PR c/4389
5065 * tree.c (host_integerp): Ensure that the constant integer is
5066 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
5067 when pos is zero or non-zero respectively. Clarify comment.
5068 * c-format.c (check_format_info_recurse): Fix host_integerp
5069 usage; the pos argument should be zero when assigning to a
5070 signed HOST_WIDE_INT.
5071
59bef189
RH
50722002-02-20 Richard Henderson <rth@redhat.com>
5073
5074 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
5075 of the operand, rather than assuming TImode.
5076 (ix86_expand_binop_builtin): Cope with commutative patterns
5077 using nonimmediate_operand for both operands.
5078 (ix86_expand_timode_binop_builtin): Likewise.
5079 (ix86_expand_store_builtin): Validate operand 1.
5080 (ix86_expand_unop1_builtin): Likewise.
5081
9338ffe6 50822002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 5083
9338ffe6
PB
5084 PR 5705
5085 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
5086
f322b423
RH
50872002-02-20 Richard Henderson <rth@redhat.com>
5088
5089 PR c/5615
5090 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
5091
d94084f7
TT
50922002-02-20 Tom Tromey <tromey@redhat.com>
5093
5094 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5095 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5096 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5097 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5098 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
5099 unconditionally.
5100
37fa124a
AM
5101Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
5102
5103 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
5104 for (const_int 0) in X not just INTVAL.
5105
6e5bb5ad
JM
51062002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
5107
5108 * doc/extend.texi: Avoid or reduce overfull hboxes.
5109
420e7dfa
DN
51102002-02-20 Diego Novillo <dnovillo@redhat.com>
5111
5112 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
5113 operations if the field does not start at a mode boundary.
5114
1b7a2af6
JS
51152001-02-20 Joel Sherrill <joel@OARcorp.com>
5116
5117 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
5118 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
5119 Also done for -Acpu and -Amachine.
5120
56cd5b95
NB
51212002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
5122
5123 * cppinit.c (init_dependency_output): Take deps output file
5124 from -o if none given with -MF. Suppress normal output.
c410d49e 5125 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
5126 * doc/cpp.texi, doc/invoke.texi: Update.
5127
042cdf71
ZW
51282002-02-19 Zack Weinberg <zack@codesourcery.com>
5129
5130 * toplev.c (output_quoted_string): Write unprintable
5131 characters with octal escapes.
5132
c1f11548
DE
51332002-02-19 David Edelsohn <edelsohn@gnu.org>
5134
5135 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
5136 really_call_used[VRSAVE_REGNO] if not Altivec.
5137
51382002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 5139
c1f11548
DE
5140 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
5141 MODE_MASK.
5142 (constant_pool_expr_1): Fix formatting.
5143 (rs6000_legitimize_reload_address): Likewise.
5144
c964d90e
RK
5145Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5146
5147 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
5148 now that we have one.
5149
ae34ac46
ZW
51502002-02-19 Zack Weinberg <zack@codesourcery.com>
5151
5152 * tree.h (struct tree_common): Remove aux. Add unused_0 at
5153 end of first block of bitfields (which was only seven bits);
5154 rename dummy to unused_1; remove comment which is no longer true.
5155
293c28ee
GS
51562002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
5157
5158 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
5159
7b8781c8
PB
51602002-02-19 Philip Blundell <pb@nexus.co.uk>
5161
0cb6c58d 5162 PR 5399
7b8781c8
PB
5163 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
5164 if generating PIC.
5165
5166 PR 5054
5167 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
5168 arm_is_longcall_p rather than inspecting call-type cookie
5169 directly.
5170 (call_value_insn) [TARGET_THUMB]: Likewise.
5171
5c464583
GS
51722002-02-19 Graham Stott <grahams@redhat.com>
5173
5174 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
5175
71c061e6
DE
51762002-02-19 David Edelsohn <edelsohn@gnu.org>
5177
5178 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
5179 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 5180 (FP_SAVE_INLINE): Delete.
71c061e6
DE
5181
5182 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
5183 * config/rs6000/eabi.asm: Remove ABI save restore routines.
5184 * config/rs6000/t-ppccomm: Build crtsavres.o.
5185 * config/rs6000/crtsavres.asm: New file.
5186
3a7731fd
PB
51872002-02-19 Philip Blundell <philb@gnu.org>
5188
5189 * config/arm/arm.c (use_return_insn): Don't reject interrupt
5190 functions.
5191 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
5192 (output_return_instruction): Allow interrupt functions to return with
5193 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
5194 (arm_expand_prologue): Subtract 4 before stacking LR in an
5195 interrupt function.
5196
14f583b8
PB
51972002-02-19 Philip Blundell <pb@nexus.co.uk>
5198
5199 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
5200 decl, not just FUNCTION_DECL.
5201 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
5202 (arm_assemble_integer): Likewise.
5203 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
5204 marked local.
c410d49e 5205
4cb7482c
MG
52062002-02-19 matthew green <mrg@eterna.com.au>
5207
5208 * config.gcc (sparc-*-netbsdelf*): Enable target.
5209 (sparc64-*-netbsd*): New target.
5210 * config/sparc/netbsd-elf.h: New file.
5211 * config/sparc/t-netbsd64: New file.
5212
2df3a718
GS
52132002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
5214
5215 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
5216
77f6c1eb
RS
52172002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
5218
5219 * doc/invoke.texi: explicitly list the style guidelines that
5220 -Weffc++ checks for.
5221
fd973d56
JH
5222Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
5223
5224 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
5225
30518e45
NB
52262002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
5227
5228 PR other/5718
5229 * gcc.c (cpp_unique_options): Treat -o as indicating object file
5230 only if not -E. If -E, pass -o through to the preprocessor.
5231
39ea5704
KH
52322002-02-19 Kazu Hirata <kazu@hxi.com>
5233
5234 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
5235 register number with an appropriate macro.
5236
7355dba7
BM
52372002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
5238
5239 * doc/rtl.texi (Constants): Close @code tag.
5240
91c8aa9e
AH
52412002-02-19 Aldy Hernandez <aldyh@redhat.com>
5242
5243 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
5244 ("mmx_uavgv4hi3"): Same.
5245 ("pmulhrwv4hi3"): Same.
5246
5247 * tree-inline.c (walk_tree): Handle vectors.
5248
5249 * c-common.c (constant_expression_warning): Handle vectors.
5250 (overflow_warning): Same.
5251
5252 * sched-deps.c (sched_analyze_2): Handle vectors.
5253
5254 * rtlanal.c (rtx_unstable_p): Handle vectors.
5255 (rtx_varies_p): Same.
5256 (count_occurrences): Same.
5257 (regs_set_between_p): Same.
5258 (modified_between_p): Same.
5259 (modified_in_p): Same.
5260 (volatile_insn_p): Same.
5261 (volatile_refs_p): Same.
5262 (side_effects_p): Same.
5263 (may_trap_p): Same.
5264 (inequality_comparisons_p): Same.
5265 (replace_regs): Same.
5266 (computed_jump_p_1): Same.
5267
5268 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
5269 argument.
5270 (inner_mode_array): New.
5271 (copy_rtx): Handle vectors.
5272 (copy_most_rtx): Same.
5273 (rtx_equal_p): Same.
5274 (get_mode_alignment): Adjust for vectors.
5275
5276 * resource.c (mark_referenced_resources): Handle vectors.
5277 (mark_set_resources): Same.
5278
5279 * reload1.c (eliminate_regs): Handle vectors.
5280 (elimination_effects): Same.
5281 (scan_paradoxical_subregs): Same.
5282
5283 * reload.c (subst_reg_equivs): Handle vectors.
5284
5285 * regrename.c (scan_rtx): Handle vectors.
5286
5287 * regclass.c (reg_scan_mark_refs): Handle vectors.
5288
5289 * recog.c (find_single_use_1): Handle vectors.
5290
5291 * local-alloc.c (equiv_init_varies_p): Handle vectors.
5292 (contains_replace_regs): Same.
5293 (memref_referenced_p): Same.
5294
5295 * integrate.c (copy_rtx_and_substitute): Handle vectors.
5296 (subst_constants): Same.
5297
5298 * genattrtab.c (attr_copy_rtx): Handle vectors.
5299 (encode_units_mask): Same.
5300 (clear_struct_flag): Same.
5301 (count_sub_rtxs): Same.
5302
5303 * gcse.c (want_to_gcse_p): Handle vectors.
5304 (oprs_unchanged_p): Same.
5305 (hash_expr_1): Same.
5306 (oprs_not_set_p): Same.
5307 (expr_killed_p): Same.
5308 (compute_transp): Same.
5309 (store_ops_ok): Same.
5310
5311 * function.c (purge_addressof_1): Do not allow paradoxical subregs
5312 of vectors.
5313 (fixup_var_refs_1): Same.
5314 (instantiate_virtual_regs_1): Same.
5315
5316 * fold-const.c (operand_equal_p): Handle vectors.
5317 (fold): Same.
5318 (rtl_expr_nonnegative_p): Same.
5319
5320 * flow.c (mark_used_regs): Handle vectors.
5321
5322 * df.c (df_uses_record): Handle vectors.
5323
5324 * cselib.c (cselib_subst_to_values): Handle vectors.
5325 (cselib_mem_conflict_p): Same.
5326 (hash_rtx): Same.
5327
5328 * cse.c (canon_reg): Handle vectors.
5329 (fold_rt): Same.
5330 (cse_process_notes): Same.
5331 (count_reg_usage): Same.
5332 (canon_hash): Same.
5333
5334 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
5335
5336 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
5337
5338 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
5339 (gen_rtx): Handle CONST_VECTOR.
5340 (gen_const_vector_0): New.
5341 (copy_rtx_if_shared): CONST_VECTORs can be shared.
5342 (reset_used_flags): Same.
5343 (copy_insn_1): Same.
5344 (initializer_constant_valid_p): Handle VECTOR_CST.
5345
5346 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
5347
5348 * doc/rtl.texi (Constants): Document const_vector.
5349 (CONST0_RTX): Update for vectors.
5350 (RTL sharing): Same.
5351
5352 * print-tree.c (print_node): Add case for VECTOR_CST.
5353
5354 * tree.h (TREE_VECTOR_CST_ELTS): New.
5355 (struct tree_vector): New.
5356 (union tree_node): Add vector node.
5357 (build_vector): Add prototype.
5358
5359 * tree.def (VECTOR_CST): New.
5360
5361 * tree.c (build_vector): New.
5362
5363 * expmed.c (make_tree): Handle CONST_VECTOR.
5364
5365 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
5366 (CONST_VECTOR_ELT): New.
5367 (CONST_VECTOR_NUNITS): New.
5368
5369 * machmode.h (GET_MODE_INNER): New.
5370 (DEF_MACHMODE): Accept 8th arg.
5371
5372 * machmode.def: Add 8th argument for vector inner mode.
5373 Add inner vector modes for vectors.
5374
5375 * rtl.def (VEC_CONST): Remove.
5376 (CONST_VECTOR): New.
5377
5378 * expr.c (clear_storage): Allow vectors.
5379 (is_zeros_p): Handle VECTOR_CST.
5380
5381 * varasm.c (output_constant_pool): Handle vectors.
5382 (rtx_const): Add veclo and vechi fields.
5383 (kind): Add RTX_VECTOR.
5384 (decode_rtx_const): Add case for vector.
5385
5386 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 5387
91c8aa9e
AH
5388 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
5389 constants. Force easy vector constants into memory.
5390 (easy_vector_constant): New.
5391 (emit_easy_vector_constant): New.
5392 (rs6000_legitimize_reload_address): Do not generate bad reloads on
5393 darwin.
5394
5395 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
5396 instruction does.
5397 ("altivec_lvxl"): Same.
5398 (altivec_lvebx): Same.
5399 (altivec_lvehx): Same.
5400 (altivec_lvewx): Same.
5401 ("*movv4si_const0"): New.
5402 ("*movv4sf_const0"): New.
5403 ("*movv8hi_const0"): New.
5404 ("*movv16qi_const0"): New.
5405
d4d6d0ce
KH
54062002-02-18 Kazu Hirata <kazu@hxi.com>
5407
5408 * config/h8300/h8300.c (notice_update_cc): Use
5409 cc_status.value2.
5410
4915d3aa
KH
54112002-02-18 Kazu Hirata <kazu@hxi.com>
5412
5413 * config/h8300/h8300.md (divmod patterns): Change the
5414 constraints for operands[1] to register_operand.
5415
82be00ee
KH
54162002-02-18 Kazu Hirata <kazu@hxi.com>
5417
5418 * config/h8300/h8300-protos.h: Remove the prototype for
5419 p_operand.
5420 * config/h8300/h8300.c (p_operand): Remove.
5421 * config/h8300/h8300.md: Replace p_operand with
5422 const_int_operand.
5423
1768c26f
PB
54242002-02-18 Philip Blundell <pb@nexus.co.uk>
5425
5426 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
5427 comment.
5428 (output_return_instruction): Allow use of LDR to unstack
5429 return addresss even for interrupt handlers or when
5430 interworking. If compiling for ARMv5, use interworking-safe
5431 return instructions by default. Remove duplicated code and
5432 lengthy "strcat" sequences.
5433
ccd84f51
FS
54342002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5435
5436 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
5437 (LINK_EH_SPEC): Define.
5438 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
5439
2c153108
UW
54402002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
5441
5442 * config/s390/s390.c (s390_emit_prologue): Do not set the
5443 frame_related flag for call-clobbered registers.
5444
e95d6b23
JH
5445Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
5446
5447 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
5448 (construct_container): Fix handling of SSE operands.
5449 (ix86_expand_builtin): Fix handling of 64bit pointers.
5450 (mmx_maskmovq_rex): New pattern.
5451
c43a12b5
JH
5452Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
5453
5454 * regrename.c (kill_set_value): Handle subregs properly.
5455
aeb85a15
DB
54562002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
5457
5458 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 5459 from objc_class_name.
aeb85a15 5460
a615ca3e
RH
54612002-02-17 Richard Henderson <rth@redhat.com>
5462
5463 * config/alpha/alpha.c (some_small_symbolic_operand,
5464 some_small_symbolic_operand_1, split_small_symbolic_operand,
5465 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
5466 Handle small SYMBOL_REFs anywhere, not just inside memories.
5467 * config/alpha/alpha-protos.h: Update.
5468 * config/alpha/alpha.h (PREDICATE_CODES): Update.
5469 * config/alpha/alpha.md (small symbolic operand splitter): Update.
5470
ddb28441
RM
54712002-02-17 Roland McGrath <roland@frob.com>
5472
5473 * config.gcc (powerpc-*-gnu-gnualtivec*,
5474 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
5475 * config/rs6000/gnu.h: New file.
5476 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
5477 Grok "gnu" in rs6000_abi_name.
5478 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
5479 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
5480 Grok -mcall-gnu analogous to -mcall-linux et al.
5481 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
5482 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
5483 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
5484
f6f8ada3
JJ
54852002-02-17 Jakub Jelinek <jakub@redhat.com>
5486
5487 PR c/3444:
5488 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
5489 shortening.
5490
e16b32fc
PT
54912002-02-17 Philipp Thomas <pthomas@suse.de>
5492
5493 * config/cris/cris.h: Undefine STARTFILE_SPEC and
5494 ENDFILE_SPEC before (re)defining them.
5495
f9477efd
KH
54962002-02-17 Kazu Hirata <kazu@hxi.com>
5497
5498 * config/h8300/h8300.c: Fix formatting.
5499 * config/h8300/h8300.h: Likewise.
5500
404ae494
PT
55012002-02-17 Philipp Thomas <pthomas@suse.de>
5502
5503 * doc/tm.texi: Explain why empty strings should not be
5504 marked for translation.
5505
a52453cc
PT
55062002-02-17 Philipp Thomas <pthomas@suse.de>
5507
5508 * final.c (output_operand_lossage): Changed to accept
5509 printf style arguments. Change calls where necessary.
5510 * output.h (output_operand_lossage): Change declaration
5511 accordingly. Update copyright.
5512 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
5513 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
5514 Update copyright date where necessary.
c410d49e 5515
a52453cc
PT
5516 * config/i386/i386.c (print_operand): Likewise. Remove use of
5517 sprintf.
5518
5519 * config/cris/cris.c (cris_operand_lossage): Likewise.
5520 Rename parameter so that exgettext recognizes it as
5521 translatable message.
5522 (LOSE_AND_RETURN): Rename parameter to msgid.
5523
1c11abc4
KH
55242002-02-17 Kazu Hirata <kazu@hxi.com>
5525
5526 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
5527 hard coded register number with an appropriate macro.
5528 (HARD_REGNO_MODE_OK): Likewise.
5529 (ARG_POINTER_REGNUM): Likewise.
5530 (STATIC_CHAIN_REGNUM): Likewise.
5531 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
5532 * config/h8300/h8300.md (define_constants): Define more
5533 register numbers.
5534
a5d17ff3
PT
55352002-02-17 Philipp Thomas <pthomas@suse.de>
5536
5537 * config/i386/i386.h: Don't mark empty strings for translation.
5538
1a7289c4
L
55392002-02-16 H.J. Lu <hjl@gnu.org>
5540
5541 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
5542
afb58288
ZW
55432002-02-16 Zack Weinberg <zack@codesourcery.com>
5544
5545 * cppinit.c (merge_include_chains): Check for brack being
5546 NULL before attempting to merge it with qtail.
5547
d2af4dbd
AC
55482002-02-16 Andrew Cagney <ac131313@redhat.com>
5549
5550 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
5551 DBX_DEBUG.
5552
2e1ed1e3
JDA
55532002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
5554
5555 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
5556
604c75b2
JDA
55572002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
5558
5559 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
5560 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
5561 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
5562
1a42b072
RK
5563Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5564
7303604f 5565 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
5566 now only if !TARGET_FIX.
5567 (*movsi_nt_vms_fix): New pattern.
5568
c2ea1ac6
DR
55692002-02-16 Douglas B Rupp <rupp@gnat.com>
5570
5571 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
5572 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
5573 (alpha_sa_mask, alpha_sa_size): Reflect above change.
5574 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
5575 (alpha_start_function, alpha_expand_epilogue): Likewise.
5576 (unicosmk_gen_dsib): Likewise.
5577
725e58b1
RK
5578Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5579
5580 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
5581
13e58269
UW
55822002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
5583
c410d49e 5584 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
5585 check_and_change_labels, s390_final_chunkify): Delete.
5586 (s390_split_branches, s390_chunkify_pool): New functions.
5587 (s390_function_prologue): Call them.
c410d49e 5588
13e58269
UW
5589 * config/s390/s390.h (S390_REL_MAX): Delete.
5590 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
5591
c410d49e 5592 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
5593 attribute calculation.
5594
5595
34d1b01d
DE
55962002-02-15 David Edelsohn <edelsohn@gnu.org>
5597
5598 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
5599 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
5600
be5cc51a
JDA
56012002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
5602
5603 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
5604 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
5605 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
5606
ee96ce90
RS
56072002-02-15 Richard Sandiford <rsandifo@redhat.com>
5608
5609 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
5610
05fa709d
RS
56112002-02-15 Richard Sandiford <rsandifo@redhat.com>
5612
5613 * reload.c (find_dummy_reload): Check that an output register
5614 is valid for its mode.
5615
4606272b
AO
56162002-02-14 Alexandre Oliva <aoliva@redhat.com>
5617
9a360704
AO
5618 * combine.c (known_cond): After replacing the REG of a SUBREG, try
5619 to simplify it.
5620
4606272b
AO
5621 * function.c (assign_parms): Demote promoted argument passed by
5622 transparent reference.
5623
e62d89a1
JS
56242001-02-14 Joel Sherrill <joel@OARcorp.com>
5625
5626 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
5627 -Acpu() and -Amachine() to eliminate warnings.
5628
6c4cf695
UW
56292002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
5630
5631 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
5632
037f11ef
KH
56332002-02-14 Kazu Hirata <kazu@hxi.com>
5634
5635 * config/h8300/h8300-protos.h: Update the prototype for
5636 const_costs.
5637 * config/h8300/h8300.c (const_costs): Treat SET as a little
5638 more expensive operation.
5639 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
5640 reference to const_costs.
5641
fdc76b09
HPN
56422002-02-14 Hans-Peter Nilsson <hp@axis.com>
5643
5644 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
5645
d76e6800
JJ
56462002-02-14 Jakub Jelinek <jakub@redhat.com>
5647
5648 PR c/5503:
5649 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
5650 use arguments from newtype.
5651
5ae590d7
EC
56522002-02-13 Eric Christopher <echristo@redhat.com>
5653
5654 * config/mips/mips.c (override_options): Add check for march/mipsX
5655 on the same command line. Fix error message in cpu processing.
5656 Remove architecture and ISA checks.
5657
b8513691
AH
56582002-02-14 Aldy Hernandez <aldyh@redhat.com>
5659
831c4e87 5660 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 5661
831c4e87 5662 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 5663
78c875e8
AH
56642002-02-14 Aldy Hernandez <aldyh@redhat.com>
5665
831c4e87
KC
5666 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
5667 alternatives.
5668 ("*movv8hi_internal1"): Same.
5669 ("*movv16qi_internal1"): Same.
5670 ("*movv4sf_internal1"): Same.
78c875e8 5671
831c4e87
KC
5672 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
5673 not push_reload for altivec modes.
78c875e8 5674
d76e6800 56752002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
5676
5677 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
5678 all RTEMS targets including removal of #includes from config/*/rtems*.h
5679 file and adding them to tm_file setting. Added xm_defines=POSIX to
5680 many targets.
5681 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
5682 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
5683 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
5684 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
5685 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
5686 config/m68k/rtemself.h: Ditto.
5687 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
5688 config/mips/rtems64.h: Ditto.
5689 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
5690 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
5691 Ditto.
5692 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
5693 config/sparc/rtemself.h: Ditto.
5694 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
5695 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
5696 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
5697 more like arm-elf.
5698 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
5699 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
5700 target made more similar to i386-elf.
5701 * config/i386/t-rtems-i386: Added soft float support and multilibs.
5702 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
5703 be similar to config/m68k/t-m68kelf.
5704 * gthr-rtems.h: Encapsulate with extern "C" for C++.
5705
8686336f
JH
5706Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
5707
5708 * regmove.c (kill_value): Handle subregs.
5709
558740bf
JH
5710Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
5711
5712 * i386.md (mul patterns): Allow memory operand to be first;
5713 add expanders where needed; fix constraints.
5714 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
5715 Allow memory operand to be the first.
5716
5717 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
5718 operands.
5719
21117a17
JJ
57202002-02-13 Jakub Jelinek <jakub@redhat.com>
5721
5722 PR c/5681:
5723 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
5724 GET_MODE (x).
5725
ec65b2e3
JJ
57262002-02-13 Jakub Jelinek <jakub@redhat.com>
5727
5728 PR optimization/5547:
5729 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
5730 all valid IA-32 address modes involving non-scaled %ebx and
5731 GOT/GOTOFF as displacement.
5732
ce50cae8
UW
57332002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
5734
5735 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
5736 after emitting ltorg insns.
5737
5738 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
5739 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
5740 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
5741 *abssf2): Fix "op_type" attribute.
5742
09eb789b
DR
57432002-02-13 Douglas B Rupp <rupp@gnat.com>
5744
2dbe67bb
DR
5745 * mkconfig.sh: Avoid using a subshell redirect.
5746 ($output.T): Change to $(output)T.
5747 (ENABLE_NLS): Remove unneeded undef.
5748
ea5b9a1f
DR
5749 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
5750 * config/alpha/x-vms (libsubdir): Define.
5751
3deb00ce
DR
5752 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
5753 register frame procedures. Optimize retrieving context.
5754
09eb789b
DR
5755 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
5756 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
5757 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
5758
1abade85
RK
5759Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5760
5761 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
5762 Make same change as for find_base_value.
5763
c283e63f
KH
57642002-02-13 Kazu Hirata <kazu@hxi.com>
5765
5766 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
5767 of QImode and SImode.
5768
86039100
KH
57692002-02-13 Kazu Hirata <kazu@hxi.com>
5770
5771 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
5772 length computation of movsi.
5773 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
5774
e1429da0
KH
57752002-02-13 Kazu Hirata <kazu@hxi.com>
5776
5777 * config/h8300/h8300.md (subqi3): Tighten the predicate for
5778 operands[2] to register_operand.
5779
aebfea10
JH
5780Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
5781
5782 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
5783
0ec4e2a8
AH
57842002-02-12 Aldy Hernandez <aldyh@redhat.com>
5785
831c4e87
KC
5786 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
5787 for altivec_lvx* and altivec_stvx*.
5788 ("*movv4si_internal"): Add constraint for loading from GPRs.
5789 ("*movv8hi_internal1"): Same.
5790 ("*movv16qi_internal1"): Same.
5791 ("*movv4sf_internal1"): Same.
0ec4e2a8 5792
831c4e87 5793 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 5794
831c4e87
KC
5795 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
5796 altivec_register_operand.
0ec4e2a8 5797
b007569d
HPN
57982002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
5799
5800 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
5801 handle SYMBOL_REF.
5802
e6834654
SS
58032002-02-13 Stan Shebs <shebs@apple.com>
5804
831c4e87
KC
5805 * c-typeck.c (digest_init): Handle vectors.
5806 (really_start_incremental_init): Same.
5807 (pop_init_level): Same.
5808 (process_init_element): Same.
e6834654 5809
831c4e87 5810 * varasm.c (output_constant): Same.
e6834654 5811
831c4e87
KC
5812 * expr.c (clear_storage): Same.
5813 (store_constructor): Same.
e6834654 5814
d9b3eb63
EC
58152002-02-12 Eric Christopher <echristo@redhat.com>
5816
5817 * explow.c (hard_function_value): Add comment explaining
5818 signed/unsigned comparison.
5819
56d44285
JJ
58202002-02-12 Jakub Jelinek <jakub@redhat.com>
5821
5822 * jump.c (never_reached_warning): Add finish argument.
5823 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
5824 real insn after end.
5825 * rtl.h (never_reached_warning): Adjust prototype.
5826 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
5827 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
5828 never_reached_warning.
5829
fc209487
GS
58302002-02-12 Graham Stott <grahams@redhat.com>
5831
5832 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
5833
1e41e866
KH
58342002-02-12 Kazu Hirata <kazu@hxi.com>
5835
5836 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
5837 logical shifts on H8/300.
5838 (shift_alg_si): Improve several shifts on H8/300.
5839 (get_shift_alg): Likewise.
5840
a36a47ad
GS
58412002-02-12 Graham Stott <grahams@redhat.com>
5842
5843 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
5844
0aacc8ed
RK
5845Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5846
5847 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
5848 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
5849
a02ac966
HPN
58502002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
5851
5852 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
5853 non-CONST_INT through default_assemble_integer.
5854 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
5855 <case 8>: Abort for CONST_DOUBLE.
5856
d6e06ddc
JDA
58572002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
5858
5859 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
5860 is specified.
5861 * config/pa/pa-linux.h (LIB_SPEC): Delete.
5862 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
5863
515342a8
AH
58642002-02-11 Andrew Haley <aph@cambridge.redhat.com>
5865
5866 * config/stormy16/stormy16.md (zero_extendqihi2): New.
5867
cddd8b72
AO
58682002-02-11 Alexandre Oliva <aoliva@redhat.com>
5869
66df7a98
AO
5870 * regrename.c (regrename_optimize): Don't accept a
5871 part-clobbered register if the replaced register is not part
5872 clobbered.
5873
841404cd
AO
5874 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
5875 take padding into account when computing the argument value.
5876
1d1ade42
AO
5877 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
5878
cddd8b72
AO
5879 * combine.c (try_combine): Apply substitutions in
5880 CALL_INSN_FUNCTION_USAGE too.
5881
5c665b88
AH
58822002-02-11 Aldy Hernandez <aldyh@redhat.com>
5883
77f6c1eb
RS
5884 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
5885 __builtin_altivec_abs*.
5886 (bdesc_abs): New.
5c665b88 5887
77f6c1eb
RS
5888 * config/rs6000/rs6000.h (rs6000_builtins): Add
5889 ALTIVEC_BUILTIN_ABS*.
5c665b88 5890
77f6c1eb
RS
5891 * config/rs6000/altivec.h: Use const char for builtins expecting
5892 literals.
5893 (vec_abs): New versions for C and C++.
5894 (vec_abss): Same.
5c665b88 5895
3494f1b4
KH
58962002-02-10 Kazu Hirata <kazu@hxi.com>
5897
5898 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
5899 using Pmode.
5900
72431aef
KH
59012002-02-10 Kazu Hirata <kazu@hxi.com>
5902
5903 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
5904 constant definition from h8300.md.
5905 (FRAME_POINTER_REGNUM): Likewise.
5906 * config/h8300/h8300.md (define_constants): Add FP_REG.
5907
87e4ee91
KH
59082002-02-10 Kazu Hirata <kazu@hxi.com>
5909
5910 * config/h8300/h8300.c (print_operand): Remove redundant code.
5911
9c188705
KH
59122002-02-10 Kazu Hirata <kazu@hxi.com>
5913
5914 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
5915 * config/h8300/h8300.c (byte_reg): Make it static.
5916
fba78abb
RH
59172002-02-10 Richard Henderson <rth@redhat.com>
5918
5919 PR c/5623
5920 * c-typeck.c (incomplete_type_error): Handle flexible array members.
5921
65739e62
RH
59222002-02-10 Richard Henderson <rth@redhat.com>
5923
5924 PR c++/5624
5925 * tree.c (append_random_chars): Don't abort if main_input_filename
5926 does not exist.
5927
247cb9df
HPN
59282002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
5929
5930 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
5931
232bd029
KH
59322002-02-10 Kazu Hirata <kazu@hxi.com>
5933
65739e62 5934 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
5935 (pushhi1): Likewise.
5936
276ef573
JDA
59372002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
5938
5939 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
5940 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
5941
617e9ee5
DB
59422002-02-09 David O'Brien <obrien@FreeBSD.org>
5943
5944 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
5945 remove MASK_VIS.
5946 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
5947
6dfa4005
KH
59482002-02-09 Kazu Hirata <kazu@hxi.com>
5949
5950 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
5951 a half of an SImode register on H8/300.
5952
749e7b80
JH
5953Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
5954
5955 * i386.md (movdi_2): Add missing '!'.
5956
ca77d87c
KH
59572002-02-09 Kazu Hirata <kazu@hxi.com>
5958
5959 * config/h8300/h8300.h: Fix formatting. Remove commented-out
5960 definitions.
5961
16c96304
KH
59622002-02-09 Kazu Hirata <kazu@hxi.com>
5963
5964 * config/h8300/h8300.md (length): Correct the distance valid
5965 for the short branch.
5966
a364bc90
KH
59672002-02-09 Kazu Hirata <kazu@hxi.com>
5968
5969 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
5970
e4ec2cac
AO
59712002-02-09 Alexandre Oliva <aoliva@redhat.com>
5972
a138247b
AO
5973 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
5974 registers in SImode.
5975 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
5976 part-clobbered.
5977
2b1fd83f
AO
5978 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
5979 patch.
d9b3eb63 5980
fa5322fa
AO
5981 Contribute sh64-elf.
5982 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
5983 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
5984 (sh_cannot_modify_jumps_p): New function.
5985 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
5986 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
5987 (sh_ms_bitfield_layout_p): New function.
5988 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
5989 Zack Weinberg <zack@codesourcery.com>
5990 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
5991 expand_simple_binop instead of expand_binop.
5992 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
5993 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
5994 use of .quad and .uaquad.
5995 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
5996 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
5997 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
5998 * config/sh/sh.md (movdi_const, movdi_const_32bit,
5999 movdi_const_16bit): Make sure all CONSTs have modes.
6000 (sym2PIC): Ditto, but by adjusting all callers.
6001 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
6002 if the prologue calls the SHmedia argument decoder or register
6003 saver.
6004 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
6005 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
6006 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
6007 (sh_expand_epilogue): Don't emit USE of return target register.
6008 (prepare_move_operands): Legitimize DImode PIC addresses.
6009 (sh_media_register_for_return): Skip tr0, used to initialize the
6010 PIC register.
6011 (sh_expand_prologue): Remove explicit USE of return register.
6012 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
6013 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
6014 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
6015 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
6016 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
6017 EXTRA_CONSTRAINT_T.
6018 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
6019 (MOVI_SHORI_BASE_OPERAND_P): New.
6020 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
6021 (EXTRA_CONSTRAINT_T): Define in terms of them.
6022 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
6023 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
6024 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
6025 alternatives supporting TARGET_REGS.
6026 (UNSPEC_GOTPLT): New constant.
6027 (movdi split): Move incrementing of LABEL_NUSES...
6028 (movdi_const, movdi_const_32bit): Here. Use
6029 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
6030 (movdi_const_16bit): New.
6031 (call, call_value) [flag_pic]: Use GOTPLT.
6032 (call_pop, call_value_pop): New expands.
6033 (call_pop_compact, call_pop_rettramp): New insns.
6034 (call_value_pop_compact, call_value_pop_rettramp): New insns.
6035 (sibcall) [flag_pic]: Use GOT.
6036 (builtint_setjmp_receiver): Remove bogus, unused expand.
6037 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
6038 (*pt, *ptb, ptrel): New insns.
6039 (sym2GOT): Handle DImode GOT.
6040 (sym2GOTPLT, symGOTPLT2reg): New expands.
6041 (sym2PIC): New expand.
6042 (shcompact_return_tramp): Use GOTPLT to return trampoline.
6043 (shcompact_return_tramp_i): Use return register explicitly.
6044 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
6045 disable flag_reorder_blocks.
6046 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
6047 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
6048 clobbers, for clarity.
6049 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
6050 restoring of r0 in macl as MAYBE_DEAD.
6051 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
6052 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
6053 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
6054 alter_subreg all over.
6055 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
6056 reload, instead of emitting instructions that would require
6057 reloading.
6058 (casesi_load_media): Add missing modes.
6059 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
6060 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
6061 as used if the argument decoder is called.
6062 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
6063 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
6064 Pmode, then extend it to DImode if necessary.
6065 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
6066 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
6067 constants in FPU-enabled SHmedia, let them be loaded from memory.
6068 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
6069 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
6070 Adjust whitespace in assembly output templates.
6071 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
6072 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
6073 mode of if_then_else.
6074 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
6075 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
6076 sh.h.
6077 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
6078 Joern Rennecke <amylaar@redhat.com>
6079 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
6080 (SUBTARGET_CPP_PTR_SPEC): New.
6081 (SUBTARGET_CPP_SPEC): Remove.
6082 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
6083 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
6084 Fix typo in previous checkin.
6085 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
6086 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
6087 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
6088 Alexandre Oliva <aoliva@redhat.com>
6089 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
6090 what single FP register can hold for SHmedia target.
6091 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
6092 Alexandre Oliva <aoliva@redhat.com>
6093 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
6094 Do not split into SUBREG.
6095 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
6096 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
6097 and added new functions as specified in SH5 ABI r9.
6098 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
6099 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
6100 8-byte boundary.
6101 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
6102 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
6103 gen_consttable_4 and gen_consttable_8. Emit multiple labels
6104 and consttable_window_ends.
6105 2001-06-03 Graham Stott <grahams@redhat,com>
6106 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
6107 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
6108 * config/sh/sh.c (print_operand): Handle floating-point pair,
6109 vector and matrix registers.
6110 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
6111 vector modes into account.
6112 * config/sh/sh.md (movv2sf): Split move between registers into
6113 movdf.
6114 (movv4sf, movv16sf): Introduce insns that get split only after
6115 reload.
6116 * config/sh/shmedia.h: Fix Copyright dates.
6117 * config/sh/ushmedia.h: Likewise. Move loop counter
6118 declarations into conditionals that uses them.
6119 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
6120 loop boundary.
6121 * config/sh/sshmedia.h: Fix Copyright dates.
6122 (sh_media_PUTCFG): Fix constraints.
6123 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
6124 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
6125 ptrmemfunc_vbit_in_delta for SH5.
6126 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
6127 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
6128 * invoke.texi: Likewise.
6129 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
6130 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
6131 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
6132 GCC_pop_shmedia_regs_nofpu): New global symbols.
6133 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
6134 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
6135 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
6136 compact function with nonlocal labels.
6137 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
6138 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
6139 (initial_elimination_offset): Account for their stack space.
6140 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
6141 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
6142 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
6143 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
6144 least one of the operands to be a register.
6145 (movv2sf): Likewise. Renamed to movv2sf_i.
6146 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
6147 prepare_move_operands() before emitting SHmedia insns.
6148 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
6149 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
6150 Don't save nor initialize r12. Don't mis-align the stack.
6151 Pad the code with a nop.
6152 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
6153 stack.
6154 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
6155 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
6156 [__SHMEDIA__]: Implement.
6157 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
6158 * config/sh/sh.md: Set latency of `pt' closer to reality.
6159 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
6160 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
6161 Set move, load and store type attributes.
6162 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
6163 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
6164 profiling.
6165 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
6166 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
6167 * config/sh/sh.c (sh_media_register_for_return): New function.
6168 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
6169 branch-target register.
6170 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
6171 * config/sh/sh.md (return_media_i): Use any call-clobbered
6172 branch-target register.
6173 (return_media): If r18 wasn't copied in the prologue, copy it
6174 here.
6175 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
6176 Clear class FP0_REGS.
6177 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
6178 from elf.h.
6179 2001-03-08 DJ Delorie <dj@redhat.com>
6180 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
6181 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
6182 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
6183 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
6184 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
6185 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
6186 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
6187 return value correctly for call_cookie.
6188 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
6189 * config/sh/crt1.asm (start): Modified so as to call
6190 ___setup_argv_and_call_main.
6191 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
6192 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
6193 SHmedia mode.
6194 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
6195 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
6196 (STRIP_NAME_ENCODING): Use it.
6197 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
6198 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
6199 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
6200 prepare_scc_operands().
6201 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
6202 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
6203 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
6204 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
6205 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
6206 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
6207 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
6208 used in shcompact_incoming_args.
6209 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
6210 change.
6211 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
6212 mode.
6213 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
6214 Adjust accordingly.
6215 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
6216 Simplify. Adjust. Add sanity check.
6217 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
6218 FPU_SINGLE_BIT.
6219 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
6220 TARGET_SHCOMPACT.
6221 (udivsi3, divsi3): Use them.
6222 (force_mode_for_call): New insn.
6223 (call, call_value, sibcall_value): Emit it before SHcompact
6224 calls.
6225 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
6226 * config/sh/sh.md (call, call_value, sibcall): Make sure the
6227 call cookie is non-NULL before taking its value.
6228 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
6229 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
6230 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
6231 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
6232 block.
6233 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
6234 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
6235 temporary for stack adjusts. Use MACL and MACH to pass
6236 arguments to shcompact_incoming_args.
6237 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
6238 clobber r1.
6239 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
6240 (nested_trampoline): Load static chain address into r1.
6241 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
6242 2001-01-07 Alexandre Oliva <aoliva@redhat.com
6243 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
6244 fp_arith_reg_operand().
6245 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
6246 * config/sh/sh.md (casesi): Sign-extend the first two operands,
6247 and use signed compares for them.
6248 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
6249 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
6250 ones properly aligned.
6251 (find_barrier): Account for extra alignment needed for 8-byte wide
6252 constants.
6253 (machine_dependent_reorg): Require a label for the second 4-byte
6254 constant after an 8-byte one.
6255 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
6256 change.
6257 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
6258 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
6259 last_float when switching float modes.
6260 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
6261 auto-increment for general-purpose registers.
6262 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
6263 result.
6264 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
6265 for stack adjust.
6266 * config/sh/sh.c (sh_builtin_saveregs): Support using all
6267 registers for varargs.
6268 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
6269 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
6270 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
6271 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
6272 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
6273 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
6274 call_cookie accordingly.
6275 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
6276 (SHCOMPACT_BYREF): Likewise.
6277 (SHCOMPACT_FORCE_ON_STACK): New macro.
6278 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
6279 (sh_builtin_saveregs): Likewise.
6280 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
6281 shcompact_incoming_args): Use new shift values. Support
6282 sequences of consecutive and non-consecutive pushes/pops.
6283 * config/sh/sh.md (return): Don't explicitly use PR_REG.
6284 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
6285 * config/sh/sh.h (TEXT_SECTION): Define.
6286 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
6287 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
6288 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
6289 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
6290 return values on FPU-enabled SHmedia.
6291 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
6292 FPU-enabled SHmedia.
6293 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
6294 value is returned in a non-FP reg and is not returned by
6295 reference.
6296 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
6297 jump_ind.
6298 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
6299 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
6300 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
6301 quad-aligned to be passed by callee-copy reference.
6302 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
6303 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
6304 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
6305 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
6306 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
6307 copying low-numbered FP regs to r7 and r8.
6308 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
6309 FP regs to general-purpose regs only if the copy was passed on the
6310 stack.
6311 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
6312 copying FP reg to r9.
6313 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
6314 copy FP regs to general-purpose regs only in outgoing calls.
6315 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 6316 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
6317 HOST_WIDE_INT.
6318 * config/sh/sh.h (struct sh_args): Document all fields.
6319 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
6320 passed partially on the stack should not consider making
6321 sibcalls.
6322 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
6323 stack_regs only for incoming calls. When passing FP args,
6324 make sure there are FP regs available before modifying
6325 call_cookie.
6326 (SHCOMPACT_BYREF): Pass double args in general-purpose
6327 registers by reference.
6328 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
6329 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
6330 attempt to generate sibcalls if the caller got any arguments
6331 by reference.
6332 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
6333 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
6334 to 8-byte boundaries.
6335 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
6336 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
6337 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
6338 stored in the stack.
6339 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
6340 for the offsets to have the ISA bit set.
6341 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
6342 invocation. Use beq instead of bgt to mark end of sequence of
6343 loads.
6344 (shcompact_incoming_args): Fix store of r2. Use beq instead of
6345 bgt to mark end of sequence of stores.
6346 * config/sh/sh.c (arith_operand): Don't check whether
6347 CONST_OK_FOR_J for now.
6348 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
6349 instead of long for conversion.
6350 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
6351 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
6352 before passing it to fprintf.
6353 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
6354 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
6355 Call set_fpscr before reading/writing SR.
6356 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
6357 Call set_fpscr.
6358 * config/sh/lib1funcs.asm: Add `.align 2' directives before
6359 SHmedia code.
6360 (FMOVD_WORKS): Define on SH5 with FPU.
6361 (set_fpscr): Define on SH5. Remove separate _fpscr_values
6362 setting.
6363 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
6364 _fpscr_values.
6365 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
6366 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
6367 address.
6368 (ia_main_table): Ditto.
6369 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
6370 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
6371 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
6372 the definitions from sh.h.
6373 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
6374 TARGET_SH5.
6375 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
6376 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
6377 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
6378 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
6379 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
6380 Increment LABEL_NUSES.
d9b3eb63 6381
fa5322fa
AO
6382 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
6383 TARGET_SH5.
6384 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
6385 defined.
6386 * config/sh/elf.h (SIZE_TYPE): Likewise.
6387 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
6388 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
6389 shcompact_incoming_args): Load switch table addresses using
6390 datalabel.
6391 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
6392 (NO_BUILTIN_SIZE_TYPE): Define.
6393 (SIZE_TYPE): Don't define.
6394 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
6395 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
6396 definition of __SH5__=32 for -m5-compact-nofpu.
6397 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
6398 ADDR_DIFF_VEC.
6399 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
6400 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
6401 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
6402 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
6403 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
6404 (INSN_LENGTH_ALIGNMENT): Likewise.
6405 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
6406 * config/sh/sh.md (call, call_value, sibcall): Simplify
6407 copying of non-branch-target register.
6408 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 6409 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
6410 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
6411 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
6412 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
6413 floating-point values as structs.
6414 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
6415 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
6416 general-purpose register.
6417 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
6418 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
6419 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
6420 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
6421 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
6422 (ENCODE_SECTION_INFO): Enclose variables and constants in
6423 DATALABEL unspecs.
6424 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
6425 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
6426 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
6427 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
6428 only for LABEL_REFs. For SYMBOL_REFs, prepend
6429 SH_DATALABEL_ENCODING to the symbol name.
6430 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
6431 convert_mode().
6432 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
6433 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
6434 UNSPEC_DATALABEL.
6435 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
6436 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
6437 (DATALABEL_REF_P): Don't require CONST.
6438 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
6439 REL label.
6440 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
6441 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
6442 right.
6443 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
6444 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
6445 Use shallow_copy_rtx and PUT_MODE to change the mode of
6446 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
6447 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
6448 on SHmedia using GENERAL_REGs.
6449 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
6450 bltu_media_i): Fix reversion of conditions.
6451 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
6452 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
6453 * config/sh/sh.c (output_far_jump): Save r13 in macl.
6454 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
6455 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
6456 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
6457 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
6458 (GCC_nested_trampoline): Likewise.
6459 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
6460 * config/sh/sh.c (gen_datalabel_ref): Define.
6461 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
6462 (INITIALIZE_TRAMPOLINE): Likewise.
6463 (TRAMPOLINE_ADJUST_ADDRESS): Define.
6464 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
6465 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
6466 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
6467 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
6468 (ic_invalidate): Adjust for SH5.
6469 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
6470 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
6471 _nested_trampoline.
6472 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
6473 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
6474 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
6475 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
6476 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
6477 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
6478 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
6479 * config/sh/sh.c (target_reg_operand): Match only target-branch
6480 registers and pseudos that aren't virtual registers.
6481 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
6482 Copy operands that don't match target_reg_operand to pseudos.
6483 (call_media, call_value_media, sibcall_media): Use
6484 target_reg_operand instead of target_operand.
6485 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 6486 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
6487 * config/sh/sh.c (target_reg_operand): Match hardware registers
6488 other than branch-target registers.
6489 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
6490 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
6491 (fpscr_values) [SH5 == 32]: Define.
6492 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
6493 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
6494 Handle function addresses coming in SUBREGs.
6495 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
6496 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
6497 shcompact_return_trampoline): Use datalabel where appropriate.
6498 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
6499 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
6500 general-purpose register to copy one branch-target register to
6501 another.
6502 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
6503 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
6504 SYMBOL_REFs with VOIDmode.
6505 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
6506 bltu_media_i): New insns.
6507 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
6508 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
6509 (INIT_CUMULATIVE_ARGS): Likewise.
6510 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
6511 * machmode.def (V16SFmode): New mode.
6512 * c-common.c (type_for_mode): Support V2SF and V16SF.
6513 * tree.c (build_common_tree_nodes_2): Likewise.
6514 * tree.h (tree_index): Likewise.
6515 * calls.c (emit_call_1): Take args_so_far. Adjust all
6516 callers. Introduce CALL_POPS_ARGS.
6517 * tm.texi (CALL_POPS_ARGS): Document.
6518 * config/sh/crt1.asm: Implement in SHmedia mode.
6519 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
6520 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
6521 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
6522 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
6523 Implement divsi and udivsi in SHmedia mode. Introduce
6524 SHcompact trampolines.
6525 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
6526 only in SHmedia64.
6527 (regno_reg_class): Rewrite.
6528 (fp_reg_names): Remove.
6529 (sh_register_names, sh_additional_register_names): New.
6530 (print_operand): Added `u'. Support SUBREGs in addresses.
6531 Add parentheses around shifted CONSTs.
6532 (output_file_start): Output .mode and .abi directives.
6533 (shiftcosts, addsubcosts, multcosts): Adjust.
6534 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
6535 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
6536 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
6537 bytes, not registers. Take into account the need for the
6538 SHcompact incoming args trampoline. Adjust all callers.
6539 (sh_expand_prologue): Take stack_regs into account. Call
6540 incoming args trampoline. Keep stack aligned as per SH5 ABI.
6541 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
6542 stack aligned as per SH5 ABI.
6543 (sh_builtin_saveregs): Support SH5 ABI.
6544 (sh_build_va_list, sh_va_start): Likewise.
6545 (initial_elimination_offset): Take alignment into account.
6546 Compute location of PR according to the SH5 stack frame.
6547 (arith_reg_operand): Reject branch-target registers.
6548 (shmedia_6bit_operand): New.
6549 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
6550 (target_reg_operand): Match DImode only. Accept SUBREGs.
6551 (target_operand): New.
6552 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
6553 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
6554 SIBCALL_REGS for SHmedia.
6555 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
6556 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
6557 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
6558 (TARGET_SWITCHES): New SH5 flags.
6559 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
6560 VALID_REGISTER_P to disable unsupported registers.
6561 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
6562 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
6563 (FUNCTION_ARG_PADDING): Define.
6564 (FASTEST_ALIGNMENT): Adjust.
6565 (SH_REGISTER_NAMES_INITIALIZER): New.
6566 (sh_register_names): Declare.
6567 (DEBUG_REGISTER_NAMES): Define.
6568 (REGISTER_NAMES): Define based on sh_register_names.
6569 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
6570 (sh_additional_register_names): Declare.
6571 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
6572 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
6573 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
6574 (REGISTER_NATURAL_MODE): Define.
6575 (FIRST_PSEUDO_REGISTER): Adjust.
6576 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
6577 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
6578 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
6579 (VECTOR_MODE_SUPPORTED_P): Define.
6580 (REG_CLASS_CONTENTS): Adjust.
6581 (SMALL_REGISTER_CLASSES): Adjust.
6582 (REG_ALLOC_ORDER): Adjust.
6583 (INDEX_REG_CLASS): Adjust.
6584 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
6585 (CONST_OK_FOR_LETTER_P): Adjust.
6586 (PREFERRED_RELOAD_CLASS): Adjust.
6587 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
6588 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
6589 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
6590 (FIRST_FP_PARM_REG): Adjust.
6591 (CALL_POPS_ARGS): Define.
6592 (FUNCTION_ARG_REGNO_P): Adjust.
6593 (struct sh_args): New fields.
6594 (GET_SH_ARG_CLASS): Adjust.
6595 (INIT_CUMULATIVE_ARGS): Adjust.
6596 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
6597 (FUNCTION_ARG_ADVANCE): Adjust.
6598 (FUNCTION_ARG): Adjust.
6599 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
6600 (FUNCTION_ARG_CALLEE_COPIES): Define.
6601 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
6602 (STRICT_ARGUMENT_NAMING): Define.
6603 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
6604 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
6605 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
6606 (SETUP_INCOMING_VARARGS): Adjust.
6607 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
6608 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
6609 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
6610 (SUBREG_OK_FOR_INDEX_P): Adjust.
6611 (EXTRA_CONSTRAINT_S): Update.
6612 (EXTRA_CONSTRAINT_T): New.
6613 (EXTRA_CONSTRAINT): Adjust.
6614 (GO_IF_LEGITIMATE_INDEX): Adjust.
6615 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
6616 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
6617 (MOVE_MAX): Adjust.
6618 (MAX_MOVE_MAX): Define.
6619 (Pmode): Adjust.
6620 (CONST_COSTS): Adjust.
6621 (REGISTER_MOVE_COST): Adjust.
6622 (BRANCH_COST): Adjust.
6623 (TEXT_SECTION_ASM_OP): Adjust.
6624 (DBX_REGISTER_NUMBER): Adjust.
6625 (ASM_OUTPUT_DOUBLE_INT): New.
6626 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
6627 (PREDICATE_CODES): Adjust.
6628 (PROMOTE_MODE): Adjust.
6629 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
6630 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
6631 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
6632 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
6633 (DR0_REG, DR2_REG, DR4_REG): Renumber.
6634 (TR0_REG, TR1_REG, TR2_REG): New.
6635 (XD0_REG): Renumber.
6636 (UNSPEC_COMPACT_ARGS): New.
6637 (type): Added pt and ptabs.
6638 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 6639 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
6640 (pt): New function unit.
6641 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
6642 Add whitespace between operands of SHmedia instructions.
6643 (movdicc): Fix.
6644 (adddi3_media, addsi3_media): Adjust constraints.
6645 (subsi3) [SHmedia]: Force operand 1 into a register.
6646 (udivsi3_i1_media, udivsi3_i4_media): New.
6647 (udivsi3): Support SHmedia.
6648 (divsi3_i1_media, divsi3_i4_media): New.
6649 (divsi3): Support SHmedia.
6650 (anddi3, iordi3, xordi3): Adjust constraints.
6651 (zero_extendhidi2, zero_extendqidi2): New.
6652 (extendsidi2, extendhidi2, extendqidi2): New.
6653 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
6654 (pop_e, pop_fpul, pop_4): Likewise.
6655 (movsi_media): Support FP and BT registers.
6656 (movsi_media_nofpu): New. Adjust splits to DImode.
6657 (lduw, ldub): Renamed to zero_extend* above.
6658 (movqi_media): Fix typo.
6659 (movdi_media): Support FP and BT registers.
6660 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
6661 (movdi_const_32bit): New.
6662 (shori_media): Require immediate operand. Use `u' for output.
6663 (movdf_media, movsf_media): Simplified.
6664 (movdf_media_nofpu, movsf_media_nofpu): New.
6665 (movdf, movsf): Adjust
6666 (movv2sf, movv2sf, movv16sf): New.
6667 (beq_media, beq_media_i): Adjust constraints. Don't use
6668 scratch BT register.
6669 (bne_media, bne_media_i): Likewise.
6670 (bgt_media, bgt_media_i): Likewise.
6671 (bge_media, bge_media_i): Likewise.
6672 (bgtu_media, bgtu_media_i): Likewise.
6673 (bgeu_media, bgeu_media_i): Likewise.
6674 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
6675 bunordered): Emit jump insn. Force operands to registers when
6676 needed.
6677 (jump_media, jump): Simplify.
6678 (call_compact, call_compact_rettramp): New.
6679 (call_value_compact, call_value_compact_rettramp): New.
6680 (call_media, call_value_media): Simplify.
6681 (sibcall_compact, sibcall_media): New.
6682 (call, call_value): Adjust for SHmedia and SHcompact.
6683 (sibcall, sibcall_value, untyped_call): Likewise.
6684 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
6685 (indirect_jump): Adjust for SHmedia.
6686 (casesi_jump_media): New.
6687 (nop): Re-enable for SHmedia.
6688 (call_site): Restrict to SH1.
6689 (casesi): Adjust for SHmedia.
6690 (casesi_shift_media, casesi_load_media): New.
6691 (return): Explicitly use PR register. Call return trampoline
6692 on SHcompact.
6693 (return_i): Explicitly use PR register.
6694 (shcompact_return_tramp, shcompact_return_tramp_i): New.
6695 (return_media): Adjust.
6696 (shcompact_incoming_args): New.
6697 (epilogue): Adjust.
6698 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
6699 (movstrsi): Disable on SH5.
6700 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
6701 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
6702 (subsf3, subsf3_media): Likewise.
6703 (mulsf3, mulsf3_media, mac_media): Likewise.
6704 (divsf3, divsf3_media): Likewise.
6705 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
6706 (floatsisf2, fux_truncsfsi2): Likewise.
6707 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
6708 constraints.
6709 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
6710 (cmpunsf_media, cmpsf): Likewise.
6711 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
6712 (abssf2, abssf2_media): Likewise.
6713 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
6714 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
6715 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
6716 (floatsidf2, fix_truncdfsi2): Likewise.
6717 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
6718 constraints.
6719 (cmpeqdf_media, cmpgtdf_media): Likewise.
6720 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
6721 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
6722 (absdf2, absdf2_media): Likewise.
6723 (extendsfdf2, extendsfdf2_media): Likewise.
6724 (truncsfdf2, truncsfdf2_media): Likewise.
6725 * config/sh/sh64.h: New file.
6726 * config/sh/t-sh64: New file.
6727 * config/sh/shmedia.h: New file.
6728 * config/sh/ushmedia.h: New file.
6729 * config/sh/sshmedia.h: New file.
6730 * configure.in: Added sh64-*-elf.
6731 * configure: Rebuilt.
6732 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
6733 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
6734 (reg_class_from_letter): Use `b' for TARGET_REGS.
6735 (print_operand): Support `%M', `%m', `AND' and
6736 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
6737 (andcosts): Adjust for SHmedia.
6738 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
6739 Likewise.
6740 (target_reg_operand): New function.
6741 * config/sh/sh-protos.h (target_reg_operand): Declare.
6742 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
6743 FP registers on SH5.
6744 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
6745 on SH4.
6746 (TARGET_REGISTER_P): New macro.
6747 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
6748 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
6749 (EXTRA_CONSTRAINT_S): New macro.
6750 (EXTRA_CONSTRAINT): Adjust.
6751 (FLOAT_TYPE_SIZE): Define to 32.
6752 (Pmode): DImode on SHmedia.
6753 (CONST_COSTS): Adjust for SHmedia literals.
6754 (PREDICATE_CODES): Added target_reg_operand.
6755 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
6756 * config/sh/sh.md: Remove all attrs from SHmedia insns.
6757 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
6758 (cmpdi): Accept SHmedia.
6759 (movdicc_false, movdicc_true): New insns.
6760 (movdicc): New expand.
6761 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
6762 no_new_pseudos.
6763 (addsi3_media): Match `S' constraint.
6764 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
6765 (negdi2): Expand for SHmedia.
6766 (one_cmpldi2): New expand.
6767 (zero_extendsidi2): Change from expand to insn.
6768 (extendsidi2): Add constraints.
6769 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
6770 LD/ST address. Fix SI immediate loading split.
6771 (movhi_media, movqi_media, lduw, ldub): New insns.
6772 (movhi, movqi): Accept SHmedia.
6773 (shori_media, movdi_media): Relax input constraints. Split
6774 symbolic constants.
6775 (movdf_media, movsf_media): New insn. New split to movdi.
6776 (movdf, movsf): Match on SHmedia.
6777 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
6778 bgeu_media): New insns and splits. New insns with `_i' suffix.
6779 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
6780 (bunordered): New expand.
6781 (jump_compact): Renamed from `jump'.
6782 (jump_media): New insn.
6783 (jump): New expand.
6784 (call_media, call_value_media): New insns.
6785 (call, call_value): Adjust.
6786 (indirect_jump_compact): Renamed from `indirect_jump'.
6787 (indirect_jump_media): New insn.
6788 (indirect_jump): New expand.
6789 (untyped_call, return): Accept SHmedia.
6790 (return_media): New insn.
6791 (prologue, epilogue, blockage): Accept SHmedia.
6792 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
6793 (sunordered): New expand.
6794 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
6795 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
6796 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
6797 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
6798 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
6799 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
6800 abssf2_media): New insns.
6801 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
6802 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
6803 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
6804 floatdidf2, floatsidf2_media, fix_truncdfdi2,
6805 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
6806 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
6807 absdf2_media): New insns.
6808 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
6809 (extendsfdf2_media, truncdfsf2_media): New insns.
6810 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
6811 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
6812 * config/sh/sh.h (CONST_OK_FOR_J): Document.
6813 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
6814 * config/sh/sh.md (adddi3): New expand.
6815 (adddi3_media, adddi3z_media): New insns.
6816 (adddi3_compact): Renamed from adddi3.
6817 (addsi3_media): Use add.l r63 to add constant zero.
6818 (subdi3): New expand.
6819 (subdi3_media): New insn.
6820 (subdi3_compact): Renamed from subdi3.
6821 (mulsidi3): New expand.
6822 (mulsidi3_media): New insn.
6823 (mulsidi3_compact): Renamed from mulsidi3.
6824 (umulsidi3): New expand.
6825 (umulsidi3_media): New insn.
6826 (umulsidi3_compact): Renamed from umulsidi3.
6827 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
6828 (ashlsi3, ashrsi3, lshrsi3): Use them.
6829 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
6830 (ashldi3, ashrdi3, lshrdi3): Use them.
6831 (zero_extendsidi2): New expand.
6832 (extendsidi2): New insn.
6833 (movsi_media): New insn. Split to movdi to load constants.
6834 (movsi): Enable for shmedia.
6835 (movdi_media): New insn. Use shori_media to load wide constants.
6836 (short_media): New insn.
6837 (movdi): Enable for shmedia.
6838 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
6839 * config/sh/sh.h (CPP_SPEC): Added `m5'.
6840 (SUBTARGET_CPP_SPEC): Added `!m5'.
6841 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
6842 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
6843 to all other SH variants.
6844 (TARGET_DEFAULT): Set to SH1_BIT.
6845 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
6846 (BITS_PER_WORD): Raise to 64 on shmedia.
6847 (MAX_BITS_PER_WORD): Change to 64.
6848 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
6849 (INT_TYPE_SIZE): Keep as 32.
6850 (UNITS_PER_WORD): Raise to 8 on shmedia.
6851 (MIN_UNITS_PER_WORD): Keep as 4.
6852 (POINTER_SIZE): Raise to 64 on shmedia.
6853 (CONST_OK_FOR_J): New macro.
6854 (CONST_OK_FOR_LETTER_P): Use it.
6855 (processor_type): Add PROCESSOR_SH5.
6856 * config/sh/sh.md: Conditionalize all expands, insns and
6857 splits to TARGET_SH1.
6858 (cpu): Added sh5.
6859 (addsi3_compact): Renamed from...
6860 (addsi3): Now an expand.
6861 (addsi3_media, subsi3_media): New insns.
6862 (subsi3): Don't negate constants with SHmedia.
6863
e4ec2cac
AO
6864 * hooks.c: New file.
6865 * hooks.h: New file.
6866 * Makefile.in (HOOKS_H): New.
6867 (TARGET_DEF_H): Added $(HOOKS_H).
6868 (OBJS): Added hooks.o.
6869 (cfgcleanup.o, bb-reorder.o): Added target.h.
6870 (hooks.o): Added dependencies.
6871 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
6872 (TARGET_INITIALIZER): this.
6873 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
6874 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
6875 * bb-reorder.c: Include target.h.
6876 (reorder_basic_blocks): Skip if cannot modify jumps.
6877 * cfgcleanup.c: Include target.h.
6878 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
6879
246a46e0
CD
68802002-02-08 Chris Demetriou <cgd@broadcom.com>
6881
831c4e87
KC
6882 * config/mips/mips.md (casesi_internal, casesi_internal_di):
6883 Protect jump delay slot instructions with .set noreorder and
6884 .set nomacro.
246a46e0
CD
6885
68862002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
6887
6888 * config/mips/mips.md (casesi_internal_di): Calculate
6889 the index into the target offset table correctly.
6890
fdf473ae
RH
68912002-02-08 Richard Henderson <rth@redhat.com>
6892
6893 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
6894 * final.c (output_addr_const): Accept and discard SUBREG.
6895 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
6896 mark them unknown instead.
6897 (simplify_subtraction): Handle RTX_UNKNOWN.
6898 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
6899
c50503ac
DE
69002002-02-08 David Edelsohn <edelsohn@gnu.org>
6901
6902 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
6903
3660d217
RH
69042002-02-08 Richard Henderson <rth@redhat.com>
6905
6906 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
6907
56547299
AJ
69082002-02-08 Andreas Jaeger <aj@suse.de>
6909
6910 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
6911 * config/i386/t-linux64: New file.
6912
1cf537c5
JJ
69132002-02-08 Jakub Jelinek <jakub@redhat.com>
6914
6915 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
6916 * c-parse.in (compstmt): Clear last_expr_type.
6917
5c7f5a5f
RH
69182002-02-07 Richard Henderson <rth@redhat.com>
6919
6920 * loop.c (strength_reduce): Sink final_value when not
6921 eliminating a biv.
6922
b1138bf3
DB
69232002-02-07 David O'Brien <obrien@FreeBSD.org>
6924
6925 * config/sparc/freebsd.h: Fix mismatched spec {.
6926
b6878a45
RH
69272002-02-07 Richard Henderson <rth@redhat.com>
6928
6929 * cfgrtl.c: Include recog.h and insn-config.h.
6930 (keep_with_call_p): Fix general_operand invocation.
6931 * Makefile.in (cfgrtl.o): Update dependencies.
6932
ae19f5ef
KH
69332002-02-07 Kazu Hirata <kazu@hxi.com>
6934
6935 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
6936 comment. Accept HImode only if TARGET_H8300.
6937
b137f9fc
EC
69382002-02-07 Eric Christopher <echristo@redhat.com>
6939
6940 * config/mips/crtn.asm: Cleanup #ifdefs.
6941
69422002-02-07 Eric Christopher <echristo@redhat.com>
6943
6944 * config/mips/crti.asm: Add changes for mips16. mips16 uses
6945 register 7 as RA instead of $31.
6946 * config/mips/crtn.asm: Ditto.
6947 * config/mips/mips.c (mips_move_2words): Add case for
6948 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
6949 (compute_frame_size): Fix typo.
6950 (save_restore_insns): Ditto. Make documentation about using
6951 register $7 as return register more precise.
6952 (mips_expand_epilogue): Fix comment. Add code to work around not
6953 being able to add to the stack pointer directly.
6954 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
6955 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
6956 epilogue.
6957
768070a0
TR
69582002-02-07 Tom Rix <trix@redhat.com>
6959
b137f9fc 6960 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
6961 immediates in ldu and stdu DS opcode field.
6962 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
6963 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
6964 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
6965
225909c3
JS
69662002-02-07 Jeff Sturm <jsturm@one-point.com>
6967
6968 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
6969 offset for stack bias.
6970
15fae023
L
69712002-02-07 H.J. Lu <hjl@gnu.org>
6972
6973 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
6974
fde5badd
UW
69752002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
6976
6977 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
6978
162f023b
JH
6979Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
6980
6981 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
6982 * i386.c (x86_order_regs_for_local_alloc): New global function.
6983 * i386.h (REG_ALLOC_ORDER): CLeanup.
6984 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
6985
9b462c42
RH
69862002-02-07 Richard Henderson <rth@redhat.com>
6987
85aa876c 6988 PR optimization/2463
9b462c42
RH
6989 * alias.c (find_base_value): Recall base values for fixed hard regs.
6990 * loop.c (loop_regs_update): Don't use single_set on non-insns.
6991
06e455a9
AO
69922002-02-07 Alexandre Oliva <aoliva@redhat.com>
6993
6994 * config/mips/mips.md (define_delay) [mips16]: Adjust required
6995 length.
6996
edd1967d
RH
69972002-02-06 Richard Henderson <rth@redhat.com>
6998
6999 PR c/5609
7000 * stmt.c (resolve_operand_name_1): Take more care with mixed
7001 named and unnamed operands.
7002
a2cd028f
JJ
70032002-02-06 Janis Johnson <janis187@us.ibm.com>
7004 Jan Hubicka <jh@suse.cz>
7005
7006 * loop.c (remove_constant_addition): Avoid clobbering a shared
7007 CONST expression.
7008
e8487c04
UW
70092002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
7010
7011 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
7012 * config/s390/t-linux64: New file.
7013 * config/s390/libgcc-glibc.ver: New file.
7014
58d10f89
UW
70152002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
7016
7017 * config/s390/linux64.h: Delete file.
7018 * config/s390/s390x.h: New file.
7019 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
7020 as target header file.
7021 * config/s390/linux.h (TARGET_VERSION): Define depending on
7022 DEFAULT_TARGET_64BIT.
7023 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
7024 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
7025 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
7026 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
7027 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
7028 (EXTRA_SPEC): New define.
7029 * config/s390/s390.h (TARGET_VERSION): Define depending on
7030 DEFAULT_TARGET_64BIT.
7031 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
7032
5ce89b2e
JM
70332002-02-06 Jason Merrill <jason@redhat.com>
7034
7035 * c-decl.c (finish_function): Warn about a non-void function with
7036 no return statement and no abnormal exit.
7037 (current_function_returns_abnormally): New variable.
7038 (start_function): Clear it.
7039 (struct c_language_function): Add returns_abnormally.
7040 (push_c_function_context): Save it.
7041 (pop_c_function_context): Restore it.
7042 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
7043 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
7044 an explicit return type.
7045 * c-tree.h: Declare current_function_returns_abnormally.
7046 (C_FUNCTION_IMPLICIT_INT): New macro.
7047 * c-typeck.c (build_function_call): Set it.
7048 (c_expand_return): Set current_function_returns_value even if the
7049 value is erroneous.
7050
caaf2272
JJ
70512002-02-06 Jakub Jelinek <jakub@redhat.com>
7052
7053 PR c/5420:
7054 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
7055 unsafe for reevaluation.
7056
d5129288
JJ
70572002-02-06 Jakub Jelinek <jakub@redhat.com>
7058
7059 PR c/5482:
7060 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
7061 EXPR_STMT, but COMPOUND_STMT, recurse into it.
7062
7fb75099
RH
70632002-02-06 Richard Henderson <rth@redhat.com>
7064
7065 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
7066 be a general_operand. Dest for function value must be a pseudo.
7067
d3a8b6a6
NC
70682002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
7069
7070 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
7071 as SYMBOL_REFs from the constant pool.
7072
3c1299c5
AO
70732002-02-06 Alexandre Oliva <aoliva@redhat.com>
7074
7075 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
7076 passed by invisible reference.
7077
c2c9f6c9
RH
70782002-02-05 Richard Henderson <rth@redhat.com>
7079
7080 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
7081
a824924d
HPN
70822002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
7083
7084 Implement using "base addresses" in insn operands as default.
7085 * config/mmix/mmix.c (mmix_conditional_register_usage): if
7086 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
7087 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
7088 used to read the rtx value.
7089 (mmix_target_asm_function_epilogue): Fix spacing.
7090 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
7091 (mmix_legitimate_address): Ditto.
7092 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
7093 should be loaded with a GETA insn. Don't allocate needless extra
7094 char for nul termination and fix misleading comment.
7095 (mmix_print_operand_address): Handle constants if
7096 TARGET_BASE_ADDRESSES.
7097 (mmix_output_register_setting): Use base addressing if
7098 TARGET_BASE_ADDRESSES and the number of insns is 3.
7099 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
7100 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
7101 to use R as constraint, add LDA to match s.
7102 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
7103 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
7104 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
7105 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
7106 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
7107 order with other fixed registers.
7108 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
7109 other parameter/call-clobbered registers.
7110 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
7111 -mbase-addresses, -mno-base-addresses.
7112 (MMIX Options): Ditto.
7113
73c342b9
JDA
71142002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
7115
7116 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
7117
ef238c58
AH
71182002-02-06 Aldy Hernandez <aldyh@redhat.com>
7119
831c4e87 7120 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 7121
ad08e60e
JT
71222002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
7123
7124 * config/netbsd.h (WCHAR_TYPE): Define.
7125 (WCHAR_TYPE_SIZE): Ditto.
7126 (WINT_TYPE): Ditto.
7127 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
7128 (WCHAR_UNSIGNED): Ditto.
7129 (WCHAR_TYPE_SIZE): Ditto.
7130 (WINT_TYPE): Ditto.
7131 * config/arm/netbsd.h: Likewise.
7132 * config/i386/netbsd-elf.h: Likewise.
7133 * config/i386/netbsd.h: Likewise.
7134 * config/m68k/netbsd-elf.h: Likewise.
7135 * config/m68k/netbsd.h: Likewise.
7136 * config/ns32k/netbsd.h: Likewise.
7137 * config/sparc/netbsd.h: Likewise.
7138 * config/vax/netbsd.: Likewise.
7139
f913c102
AO
71402002-02-05 Alexandre Oliva <aoliva@redhat.com>
7141
7142 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
7143 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
7144 (TARGET_INITIALIZER): this.
7145 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
7146 (BITFIELD_NBYTES_LIMITED): Markup fix.
7147 * tree.h (default_ms_bitfield_layout_p): Declare.
7148 (record_layout_info): Added prev_field.
7149 * tree.c (default_ms_bitfield_layout_p): New fn.
7150 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
7151 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
7152 * stor-layout.c: Include target.h.
7153 (start_record_layout): Initialize prev_field.
7154 (place_field): Handle MS bit-field layout, and disregard
7155 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
7156 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
7157 * Makefile.in (stor-layout.o): Adjust dependencies.
7158
c13db5d1
JM
71592002-02-05 Jason Merrill <jason@redhat.com>
7160
c13db5d1
JM
7161 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
7162
4505024e
AJ
71632002-02-05 Andreas Jaeger <aj@suse.de>
7164
7165 * crtstuff.c: Fix comments.
7166
794ad79d
RH
71672002-02-05 Richard Henderson <rth@redhat.com>
7168
2e279a9b
RH
7169 PR fortran/3393
7170 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
7171 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
7172
794ad79d
RH
7173 PR fortran/3392
7174 * config/mips/mips.c (function_arg): Handle TImode.
7175 (function_arg_advance): Likewise.
7176
8f909017
AH
71772002-02-05 Aldy Hernandez <aldyh@redhat.com>
7178
c13db5d1
JM
7179 * config/rs6000/altivec.h (vec_step_help): Rename to
7180 __vec_step_help.
8f909017 7181
66daa9e3
AH
71822002-02-05 Aldy Hernandez <aldyh@redhat.com>
7183
c13db5d1 7184 * config/rs6000/altivec.h: Fix typos.
66daa9e3 7185
2696e97b
JT
71862002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
7187
7188 * config/arm/netbsd.h: Correct a comment.
7189
3deb2758
AH
71902002-02-05 Aldy Hernandez <aldyh@redhat.com>
7191
c13db5d1
JM
7192 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
7193 building void typed builtins.
3deb2758 7194
c13db5d1
JM
7195 * config/rs6000/altivec.h (vec_ld*): Fix typos.
7196 (vec_step): Implement for C++.
3deb2758 7197
c13db5d1 7198Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
7199
7200 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
7201
ebbb0a63
RH
72022002-02-04 Richard Henderson <rth@redhat.com>
7203
7204 * combine.c (nonzero_bits): Re-introduce special case for
7205 sp/fp/ap wrt REGNO_POINTER_ALIGN.
7206
ae4b4a02
AH
72072002-02-05 Aldy Hernandez <aldyh@redhat.com>
7208
c13db5d1
JM
7209 * doc/extend.texi: Warn about unsupported usage of altivec
7210 builtins.
ae4b4a02 7211
c13db5d1
JM
7212 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
7213 (altivec_predicate_*): New.
ae4b4a02 7214
c13db5d1
JM
7215 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
7216 Add C++ version of vec_*() functions.
ae4b4a02 7217
c13db5d1
JM
7218 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
7219 (bdesc_2arg): Remove altivec predicates.
7220 (altivec_expand_builtin): Handle predicates.
7221 (altivec_init_builtins): Handle predicates.
7222 (altivec_expand_predicate_builtin): New.
ae4b4a02 7223
f6bcf44c
JDA
72242002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7225
7226 * pa.c (DO_FRAME_NOTES): Move forward.
7227 (store_reg): Revise handling of frame notes.
7228 (load_reg): Likewise.
7229 (set_reg_plus_d): Likewise.
7230 (hppa_expand_prologue): Likewise.
7231 (hppa_expand_epilogue): Likewise.
b137f9fc 7232
703b0080
JDA
72332002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7234
7235 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
7236
6f9fdf4d
JJ
72372002-02-04 Jakub Jelinek <jakub@redhat.com>
7238
7239 PR c/4475, c++/3780:
7240 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
7241 * c-common.h (SWITCH_TYPE): Define.
7242 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
7243 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
7244 Rename spareness variable to sparseness.
7245 (expand_end_case_type): Renamed from expand_end_case, use orig_type
7246 if non-NULL instead of TREE_TYPE (orig_index).
7247 * tree.h (expand_end_case_type): Renamed from expand_end_case.
7248 (expand_end_case): Define using expand_end_case_type.
7249 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
7250 to expand_end_case_type.
7251 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
7252
79109502
JDA
72532002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7254
7255 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
7256 (BIGGEST_ALIGNMENT): Change to 128.
7257
e62a5987
JDA
72582002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7259
7260 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
7261
219f24a4
JDA
72622002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7263
7264 * pa.md (call_internal_reg_64bit): Remove unused variable.
7265
3cb66fd7
NC
72662002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
7267
7268 * config/arm/arm.h (machine_function): Add uses_anonymous_args
7269 field.
831c4e87 7270 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 7271 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
7272 replace uses with cfun->machine->uses_anonymous_args.
7273 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
7274
7275 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
7276 any geenral register.
b137f9fc 7277
5d5603e2 72782001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
7279
7280 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
7281 the entry block.
7282
563c12b0
RH
72832002-02-04 Richard Henderson <rth@redhat.com>
7284
7285 * combine.c (force_to_mode): Remove STACK_BIAS code.
7286 (nonzero_bits): Likewise. Replace sp/fp special case with
7287 REGNO_POINTER_ALIGN.
7288
7289 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
7290 (HARD_FRAME_POINTER_REGNUM): New.
7291 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
7292 (FIXED_REGS, CALL_USED_REGS): Update.
7293 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
7294 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
7295 (HARD_REGNO_NREGS): Update for SFP.
7296 (STACK_POINTER_OFFSET): Include bias here ...
7297 (FIRST_PARM_OFFSET): ... not here.
7298 (STACK_BIAS): Remove.
7299 (INIT_EXPANDERS): New.
7300 (STARTING_FRAME_OFFSET): Do not include bias.
7301 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
7302 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
7303 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
7304 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
7305 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
7306 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
7307 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
7308 (MUST_SAVE_REGISTER): Likewise.
7309 (sparc_flat_function_prologue): Likewise.
7310 (sparc_flat_function_epilogue): Likewise.
7311 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
7312 (sparc_init_modes): SFP is GENERAL_REGS.
7313 (sparc_builtin_saveregs): SFP does not have bias applied.
7314
14691f8d
RH
73152002-02-04 Richard Henderson <rth@redhat.com>
7316
7317 * config/alpha/alpha.c (current_function_is_thunk): Don't check
7318 current_function_is_thunk.
7319 (alpha_sa_mask): Distinguish between current_function_is_thunk
7320 called from ASM_OUTPUT_MI_THUNK and not.
7321 (alpha_does_function_need_gp): Thunks always need gp.
7322 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
7323 (alpha_output_mi_thunk_osf): New.
7324 * config/alpha/alpha-protos.h: Update.
7325 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
7326
af702de8
RS
73272002-02-04 Richard Sandiford <rsandifo@redhat.com>
7328
7329 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
7330 function types, not when they're taken away.
7331
5b1cacd8
JL
7332Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
7333
7334 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
7335 CODE_LABEL and jump table when replacing a table jump with a
7336 simple jump.
7337
f3e9edff
UW
73382002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
7339
7340 * config/s390/s390-protos.h (legitimize_la_operand,
7341 s390_secondary_input_reload_class, s390_plus_operand,
7342 s390_expand_plus_operand): Add prototypes.
7343
7344 config/s390/s390.c (s390_secondary_input_reload_class,
7345 s390_plus_operand, s390_expand_plus_operand): New functions.
7346
7347 (struct s390_address): New member 'pointer'.
7348 (s390_decompose_address): Compute it.
7349 (legitimate_la_operand_p): Use it.
7350 (legitimize_la_operand): New function.
7351 (movti, movdi, movdf splitters): Call it.
7352
7353 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
7354 (PREDICATE_CODES): Add s390_plus_operand.
7355
7356 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
7357 (la_ccclobber): Allow GENERAL_REGS as output operand.
7358
7359 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
7360 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
7361 (*la_64, *la_31, reload_indi, reload_insi): ... these.
7362
3c9a08ec
UW
73632002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
7364
7365 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
7366 register names for regular asm () construct.
7367
ac300a45
JJ
73682002-02-04 Jakub Jelinek <jakub@redhat.com>
7369
7370 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
7371 registers.
7372
fa852403
JJ
73732002-02-04 Jakub Jelinek <jakub@redhat.com>
7374
7375 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
7376 pat for recog.
7377
fecaac37
HP
73782002-02-04 Hartmut Penner <hpenner@de.ibm.com>
7379
831c4e87
KC
7380 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
7381 constant pool to be identical by string address and index.
fecaac37 7382
10c45943
AG
73832002-02-04 Anthony Green <green@redhat.com>
7384
7385 * output.h (SECTION_OVERRIDE): Define.
7386 * varasm.c (named_section): Obey SECTION_OVERRIDE.
7387
69474c3c
JT
73882002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
7389
7390 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
7391 by existing arm*-*-netbsd* (a.out) target.
7392 (ns32k-*-netbsdelf*): Likewise.
7393 (sparc-*-netbsdelf*): Likewise.
7394 (vax-*-netbsdelf*): Likewise.
7395
939a46f6 73962002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
7397
7398 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
7399 headers and libobjc headers.
7400
74012002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
7402
7403 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
7404 (_mingw.h): Remove duplicate include.
7405
2fd95d71
JT
74062002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
7407
7408 * config.gcc: Set cpu_type to m68k for 68010, as well.
7409 (m68010-*-netbsdelf*): New...
7410 (m68k*-*-netbsdelf*): ...targets.
7411 * config/m68k/netbsd-elf.h: New file.
7412
0ea6f6a0
KH
74132002-02-02 Kazu Hirata <kazu@hxi.com>
7414
7415 * config/h8300/h8300.c (hand_list): Move inside function_arg.
7416
cbf1b2da
KH
74172002-02-02 Kazu Hirata <kazu@hxi.com>
7418
7419 * config/h8300/h8300.c (h8_push_ops): Move inside
7420 h8300_init_once.
7421 (h8_pop_ops): Likewise.
7422 (h8_move_ops): Likewise.
7423
0869f126
KH
74242002-02-02 Kazu Hirata <kazu@hxi.com>
7425
7426 * config/h8300/h8300.c (os_task): Make it static.
7427 (monitor): Likewise.
7428 (pragma_saveall): Likewise.
7429
90e65b70
AO
74302002-02-02 Alexandre Oliva <aoliva@redhat.com>
7431
7432 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
7433 constant is a valid sign-extension for Pmode.
7434
9cbcd983
KH
74352002-02-02 Kazu Hirata <kazu@hxi.com>
7436
7437 * config/h8300/h8300.c: Fix formatting.
7438
7a27efc4
KH
74392002-02-02 Kazu Hirata <kazu@hxi.com>
7440
7441 * config/h8300/h8300.md: Fix formatting.
7442
54175a44
KH
74432002-02-02 Kazu Hirata <kazu@hxi.com>
7444
7445 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
7446 predicates of operands[1]. Split the patterns for each
7447 processor variant.
7448
eceb1755
KH
74492002-02-02 Kazu Hirata <kazu@hxi.com>
7450
7451 * config/h8300/h8300.md (xor patterns): Tighten the predicates
7452 of operands[1] to register_operand.
7453
0fef3fd0
NB
74542002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
7455
7456 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
7457 * cpphash.c (_cpp_init_hashtable): Similarly.
7458 * cppinit.c (cpp_create_reader): Default the signed_char flag.
7459 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
7460 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
7461 (cpp_handle_option): Handle the new options.
7462 * cpplex.c (cpp_interpret_charconst): Use new flag.
7463 * cpplib.h (struct cpp_options): New member signed_char.
7464 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
7465 (cpp_options): Handle -fsigned-char and -funsigned-char.
7466 (static_specs): Remove signed_char_spec.
7467 (do_spec1): Don't handle %c.
7468 * system.h: Poison SIGNED_CHAR_SPEC.
7469 * tradcif.y (yylex): Use flag_signed_char.
7470 * tradcpp.h (flag_signed_char): New.
7471 * tradcpp.c (flag_signed_char): New.
7472 (main): Handle new command-line options.
7473 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
7474config:
7475 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
7476 * avr/avr.h: Remove old comments.
7477 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
7478 (CC1_SPEC): Pass -fsigned-char if -mic*.
7479 (SIGNED_CHAR_SPEC): Remove.
7480doc:
7481 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
7482
0617ed52
EC
74832002-02-01 Eric Christopher <echristo@redhat.com>
7484
7485 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
7486 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
7487 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
7488 (ASM_OUTPUT_REG_POP): Ditto.
7489
dfd48d76
NB
74902002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
7491
7492 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
7493 patch.
7494
4a23409e
JJ
74952002-02-02 Jakub Jelinek <jakub@redhat.com>
7496
7497 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
7498
d3c52658
JJ
74992002-02-02 Jakub Jelinek <jakub@redhat.com>
7500
7501 PR c/5304:
7502 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
7503 unconditionally.
7504
02c5a3bd
JJ
75052002-02-01 Janis Johnson <janis187@us.ibm.com>
7506
7507 * cfganal.c: Include tm_p.h.
7508 (keep_with_call_p): Fix the test that determines if a register holds
7509 the return value of a call.
7510
3968de80
DD
75112002-02-01 DJ Delorie <dj@redhat.com>
7512
7513 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
7514 we are given conflicting registers, switch to the other one we
7515 had allocated for us.
7516 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
7517 as TImode so we know when the "other" register is available.
7518
1338ea6c
DB
75192002-02-01 David O'Brien <obrien@FreeBSD.org>
7520
7521 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
7522 sparc/sparc_bi.h.
7523
f015be23
JJ
75242002-02-01 Janis Johnson <janis187@us.ibm.com>
7525
7526 * cfganal.c (keep_with_call_p): New function.
7527 (flow_call_edges_add): Prevent splitting a block between a call and
7528 a single-set instruction that should be kept in the same block.
7529
63708ffc
CR
75302002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
7531
7532 * doc/install.texi (avr): Update outdated URL.
7533
5ee4950e
AH
75342002-01-30 Andrew Haley <aph@cambridge.redhat.com>
7535
831c4e87
KC
7536 * config/stormy16/stormy16.md (pushqi): New.
7537 (popqi): New.
7538 (pushhi): New.
7539 (pophi): New.
7540 (movhi): Remove stack operands.
7541 (movqi): Likewise.
7542 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
7543 nonimmediate_nonstack_operand.
7544 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
7545 New.
7546 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
7547 New.
5ee4950e 7548
b88c0704
JM
75492002-01-31 Jason Merrill <jason@redhat.com>
7550
7551 * Makefile.in (c-parse.c): Handle .output file.
7552 * objc/Make-lang.in (objc-parse.c): Likewise.
7553
ac282977
AO
75542002-02-01 Alexandre Oliva <aoliva@redhat.com>
7555
7556 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
7557 the -me[lb] option is given. Don't output the default flag
7558 twice.
7559
bebc7e8b
ZW
75602002-01-31 Zack Weinberg <zack@codesourcery.com>
7561
7562 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
7563 the primary source file; this has not been done yet.
7564 * c-decl.c (c_expand_body): Reset input_filename from
7565 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
7566
5809eb5f
KH
75672002-01-31 Kazu Hirata <kazu@hxi.com>
7568
7569 * rtlanal.c (subreg_regno_offset): Do not use
7570 SUBREG_REGNO_OFFSET.
7571 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
7572 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
7573
8512bbd7
JM
75742002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
7575
7576 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
7577 version rather than GNATS version in --version output.
7578
74cb3cc8
RS
75792002-01-31 Richard Sandiford <rsandifo@redhat.com>
7580
7581 * ifcvt.c (noce_process_if_block): Make a copy of the destination
7582 when copying back from a temporary.
7583
874b5b14
RH
75842002-01-30 Richard Henderson <rth@redhat.com>
7585
7586 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
7587 and new_dest are the same.
7588
e803a64b
RH
75892002-01-30 Richard Henderson <rth@redhat.com>
7590
89cf7be5 7591 PR opt/5076
e803a64b
RH
7592 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
7593 * rtl.c (note_insn_name): Update.
7594 * emit-rtl.c (remove_unnecessary_notes): Kill it.
7595 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
7596 to perform loop rotation.
7597 (expand_exit_loop_top_cond): New.
7598 * tree.h (expand_exit_loop_top_cond): Declare it.
7599 * c-semantics.c (genrtl_while_stmt): Use it.
7600 (genrtl_for_stmt): Likewise.
7601
0b51254d
AO
76022002-01-30 Alexandre Oliva <aoliva@redhat.com>
7603
7604 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
7605 arguments to 64-bit boundaries on 64-bit ABIs.
7606
71cef493
SE
76072002-01-30 Steve Ellcey <sje@cup.hp.com>
7608
7609 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
7610
6169e5fd
JM
76112002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
7612
7613 * c-decl.c (grokdeclarator): Handle type being a typedef for an
7614 invalid type.
7615
86f808dc
DB
76162002-01-30 David O'Brien <obrien@FreeBSD.org>
7617
7618 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
7619 * config/sparc/sparc_bi.h: Remove file.
7620 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
7621
5748ebeb
RH
76222002-01-30 Richard Henderson <rth@redhat.com>
7623
7624 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
7625
20d32cc2
ZW
76262002-01-30 Zack Weinberg <zack@codesourcery.com>
7627
7628 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
7629
b88c0704 76302002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
7631
7632 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
7633 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
7634 (reg_save): Use DW_CFA_offset_extended_sf instead.
7635
7636 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
7637
37060e78
JJ
76382002-01-29 Jakub Jelinek <jakub@redhat.com>
7639
7640 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
7641 in cselib_lookup.
7642
d18dba68
AH
76432002-01-29 Aldy Hernandez <aldyh@redhat.com>
7644
bebc7e8b
ZW
7645 * rs6000.md ("*call_value_local32"): Remove constraints.
7646 ("*call_value_local64"): Same.
7647 ("*call_value_indirect_nonlocal_aix32"): Same.
7648 ("*call_value_nonlocal_aix32"): Same.
7649 ("*call_value_indirect_nonlocal_aix64"): Same.
7650 ("*call_value_nonlocal_aix64"): Same.
7651 ("*call_value_nonlocal_sysv"): Same.
d18dba68 7652
80a8aac6
RH
76532002-01-29 Richard Henderson <rth@redhat.com>
7654
7655 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
7656
12beba6f
RH
76572002-01-29 Richard Henderson <rth@redhat.com>
7658
7659 * expr.c (force_operand): Ignore flag_pic for detecting pic
7660 address loads.
7661 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
7662 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
7663 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
7664 instead of open-coded loop.
7665 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
7666 be fixed when in use.
7667
2583081e
RH
76682002-01-29 Richard Henderson <rth@redhat.com>
7669
7670 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
7671 * sched-rgn.c (propagate_deps): Update them.
7672 * sched-deps.c (sched_analyze_insn): Update them. Flush the
7673 clobbers list when either gets too long.
7674
3b8d200e
JJ
76752002-01-29 Jakub Jelinek <jakub@redhat.com>
7676
7677 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
7678 and INDEX_REGS the same as GENERAL_REGS.
7679 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
7680
2d3115eb
NB
76812002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
7682
bebc7e8b 7683 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 7684
ecbe845e
UW
76852002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
7686
bebc7e8b 7687 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 7688 movstrsix_31): Remove, replace by ...
bebc7e8b 7689 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
7690 movstrsi_long): ... these. New.
7691 (movstrdi, movstrsi): Adapt.
7692
7693 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 7694 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
7695 Remove unnecessary CC clobber.
7696 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
7697 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
7698
7699 (divmoddi4): Don't partially initialize TImode register.
7700
0b32fca5
GK
77012002-01-29 Geoffrey Keating <geoffk@redhat.com>
7702
7703 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
7704
08ef5437
RH
77052002-01-29 Richard Henderson <rth@redhat.com>
7706
7707 * flow.c (print_rtl_and_abort): Remove.
7708 (print_rtl_and_abort_fcn): Remove.
7709 (verify_local_live_at_start): Use dump_bb instead.
7710 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
7711 (verify_wide_reg_1): Return 2 on mode test failure.
7712
8469e54e
NB
77132002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
7714
7715 PR c/3325, c/3326, c/2511, c/3347
7716 * c-decl.c (enum_decl_context): Remove BITFIELD.
7717 (grokdeclarator): Take bitfield width as an input.
7718 Ensure bitfields are given the correct type. Perform
7719 bitfield width validation with build_bitfield_integer_type
7720 rather than waiting for finish_struct.
7721 (grok_typename, grok_typename_in_parm_context, start_decl,
7722 push_parmdecl, grokfield, start_function): Update calls to
7723 grokdeclarator.
7724 (build_bitfield_integer_type): New function.
7725 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 7726 and build_bitfield_integer_type.
8469e54e
NB
7727 * tree.c (build_nonstandard_integer_type): New function.
7728 * tree.h (build_nonstandard_integer_type): New prototype.
7729objc:
7730 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
7731
ffdeea47
JJ
77322002-01-29 Jakub Jelinek <jakub@redhat.com>
7733
7734 PR other/1502:
7735 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
7736 don't ignore unrecognized -W* options.
7737 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
7738 * cpplib.h (cpp_handle_option): Adjust prototype.
7739 * c-decl.c (c_decode_options): Pass 0 as last argument to
7740 cpp_handle_option.
7741
7742 PR c/2896:
7743 * gcc.c (cpp_unique_options): Split from cpp_options.
7744 (cpp_options): Source cpp_unique_options.
7745 (default_compilers): Use cpp_unique_options instead of cpp_options
7746 when used together with cc1_options.
7747 (static_specs): Add cpp_unique_options.
7748 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
7749 when used together with cc1_options.
7750
1a275226
KH
77512002-01-29 Kazu Hirata <kazu@hxi.com>
7752
7753 * config/h8300/h8300-protos.h: Update the prototype of
7754 output_a_shift.
7755 * config/h8300/h8300.c (output_a_shift): Remove an unused
7756 argument 'insn'. Remove redundant code.
7757 * config/h8300/h8300.md: Adust to the new prototype of
7758 output_a_shift.
7759
a11d9dfc
KH
77602002-01-29 Kazu Hirata <kazu@hxi.com>
7761
7762 * config/h8300/h8300-protos.h: Update the prototypes of
7763 emit_a_rotate and expand_a_rotate.
7764 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
7765 first argument to 'enum rtx_code'.
7766 (expand_a_rotate): Likewise.
7767
871f73e3
KH
77682002-01-28 Kazu Hirata <kazu@hxi.com>
7769
7770 * config/h8300/h8300-protos.h: Update the prototype of
7771 output_simode_bld.
7772 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
7773 'log2'.
7774 * config/h8300/h8300.md: Adjust to the new prototype.
7775
5fc4b751
KH
77762002-01-28 Kazu Hirata <kazu@hxi.com>
7777
7778 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
7779 redundant code.
7780
2d67bd7b
JDA
77812002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
7782
7783 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
7784 is a fixed register before returning pic_offset_table_rtx.
7785 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
7786 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
7787
5a852b3e
JM
77882002-01-28 Jason Merrill <jason@redhat.com>
7789
6bb28965 7790 * dwarf2.h: Sync with src version.
5a852b3e 7791
3bca17dd
PK
77922002-01-28 Paul Koning <pkoning@equallogic.com>
7793
7794 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
7795 BT_FN_VOID_PTR_VAR.
7796 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
7797 * doc/extend.texi (__builtin_prefetch): Update documentation:
7798 first argument is now const void ptr.
7799
7dc3f8c0
KH
78002002-01-28 Kazu Hirata <kazu@hxi.com>
7801
7802 * config/h8300/h8300-protos.h: Remove an unused prototype.
7803
e83cb5f0
RZ
78042002-01-28 Roman Zippel <zippel@linux-m68k.org>
7805
7806 * toplev.c (lang_independent_init): Round up identifier size.
7807
5721cd84
RE
78082002-01-28 Richard Earnshaw <rearnsha@arm.com>
7809
7810 * config.gcc: Revert previous change.
7811
d534119e
AP
78122002-01-28 Andris Pavenis <pavenis@latnet.lv>
7813
7814 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
7815
5a721dab
RE
78162002-01-28 Richard Earnshaw <rearnsha@arm.com>
7817
7818 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
7819 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
7820 other non-elf netbsd config frags.
7821 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
7822 collect2 will does that.
7823 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
7824 shared-lib frobbing will work.
7825
da1775d6
KH
78262002-01-28 Kazu Hirata <kazu@hxi.com>
7827
7828 * config/h8300/h8300.h: Fix formatting.
7829 * config/h8300/h8300.md: Likewise.
7830
8f2e963b
LR
78312002-01-28 Loren J. Rittle <ljrittle@acm.org>
7832
7833 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
7834 the old, removed AAA_standards fix.
7835 * fixinc/fixincl.x: Rebuilt.
7836
fdae5767
HPN
78372002-01-28 Hans-Peter Nilsson <hp@axis.com>
7838
7839 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
7840 atexit call in crtbegin, hooked in after call to frame_dummy;
7841 register EH before registering __fini__start.
7842
2a2ecb63
AH
78432002-01-28 Aldy Hernandez <aldyh@redhat.com>
7844
7845 * config/rs6000/altivec.h: Remove spurious semicolons.
7846
8ed43adf
KH
78472002-01-27 Kazu Hirata <kazu@hxi.com>
7848
7849 * config/h8300/h8300.md: Replace dead bit extraction patterns
7850 with ones that work.
7851
917afb0c
RK
7852Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7853
7854 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
7855 if not STRICT_ALIGNMENT.
7856 * rtl.h (MEM_ALIGN): Likewise.
7857
f70a54cb
CR
78582002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
7859
7860 * doc/invoke.texi (-fdump-translation-unit): Revert this
7861 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
7862
d8fd4914
KH
78632002-01-27 Kazu Hirata <kazu@hxi.com>
7864
7865 * config/h8300/h8300.md (define_constants): New.
7866 (anonymous patterns) Use defined constants appropriately.
7867
15e0e275
KH
78682002-01-27 Kazu Hirata <kazu@hxi.com>
7869
7870 * config/h8300/h8300.c (function_arg): Remove redundant code.
7871
37a0f8a5
RH
78722002-01-26 Richard Henderson <rth@redhat.com>
7873
7874 * sched-deps.c (reg_pending_uses_head): New.
7875 (reg_pending_barrier): Rename from reg_pending_sets_all.
7876 (find_insn_list): Don't mark inline.
7877 (find_insn_mem_list): Remove.
7878 (add_dependence_list, add_dependence_list_and_free): New.
7879 (flush_pending_lists): Replace only_write param with separate
7880 for_read and for_write parameters. Update all callers. Use
7881 add_dependence_list_and_free.
7882 (sched_analyze_1): Do not add reg dependencies here; just set
7883 the pending bits. Use add_dependence_list.
7884 (sched_analyze_2): Likewise.
7885 (sched_analyze_insn): Replace schedule_barrier_found with
7886 reg_pending_barrier. Add all dependencies for pending reg
7887 uses, sets, and clobbers.
7888 (sched_analyze): Don't add reg dependencies for calls, just
7889 set pending bits. Use regs_invalidated_by_call. Treat
7890 sched_before_next_call as a normal list, not a fake insn.
7891 (init_deps): No funny init for sched_before_next_call.
7892 (free_deps): Free pending mems lists. Don't zero reg_last.
7893 (init_deps_global): Init reg_pending_uses.
7894 (finish_deps_global): Free it.
7895 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
7896 (find_insn_mem_list): Remove.
7897 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
7898 (propagate_deps): Use them. Zero temp mem lists.
7899
cea3bd3e
RH
79002002-01-26 Richard Henderson <rth@redhat.com>
7901
7902 * Makefile.in (CRTSTUFF_CFLAGS): New.
7903 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
7904 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
7905 crtstuff.c instead of alpha assembly version.
7906 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
7907 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
7908 not FORCE_{INIT,FINI}_SECTION_ALIGN.
7909 (__do_global_dtors_aux): Mark used.
7910 (frame_dummy, __do_global_ctors_aux): Mark used.
7911 (fini_dummy, init_dummy): Remove.
7912
7913 * config/alpha/crtbegin.asm: Remove file.
7914 * config/alpha/crtend.asm: Remove file.
7915 * config/alpha/t-crtbe: Remove file.
7916 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
7917 (LINK_EH_SPEC): New.
7918
7919 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
7920 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
7921 calling constructors.
7922 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
7923
7924 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
7925 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
7926 CRT_END_INIT_DUMMY hack.
7927 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
7928 FORCE_{INIT,FINI}_SECTION_ALIGN.
7929
7930 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
7931 FORCE_{INIT,FINI}_SECTION_ALIGN.
7932
7933 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
7934 invocation sequence.
7935 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
7936
7937 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
7938 (FORCE_CODE_SECTION_ALIGN): New.
7939
60ffa0e5
RH
79402002-01-26 Richard Henderson <rth@redhat.com>
7941
7942 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
7943
61334ebe
RH
79442002-01-26 Richard Henderson <rth@redhat.com>
7945
7946 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
7947 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
7948
1d788fb6
KH
79492002-01-26 Kazu Hirata <kazu@hxi.com>
7950
7951 * config/h8300/h8300.md: Remove bit extraction patterns that
7952 cannot be triggered.
7953 Restrict each bit extraction pattern to a variant on which the
7954 pattern is tested.
7955
87611f88
JM
79562002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
7957
7958 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
7959
cd74ec59
KH
79602002-01-26 Kazu Hirata <kazu@hxi.com>
7961
7962 * config/h8300/h8300.md: Remove bit test patterns that cannot
7963 be triggered.
7964 Restrict each bit test pattern to a variant on which the
7965 pattern is tested.
7966
93051e0f
KG
79672002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7968
7969 * builtins.c (expand_builtin_strncat): Remove redundant check for
7970 INTEGER_CST.
7971
216c995f
DB
79722002-01-25 David O'Brien <obrien@FreeBSD.org>
7973
7974 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
7975 default setting.
7976 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
7977 existing setting.
7978
33c7f925
GK
79792002-01-25 Geoffrey Keating <geoffk@redhat.com>
7980
7981 * dbxout.c (dbxout_init): Use assemble_name rather than just
7982 stripping off the first character.
7983 (dbxout_source_file): Likewise.
7984
6cd444b4
DD
79852002-01-25 DJ Delorie <dj@redhat.com>
7986
7987 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
7988 using rtx_equal_p, not by comparing pointers.
7989
751551d5
SE
79902002-01-25 Steve Ellcey <sje@cup.hp.com>
7991
7992 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
7993 for PIC_OFFSET_TABLE_REGNUM.
7994 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
7995
e564e618
DB
79962002-01-25 David O'Brien <obrien@FreeBSD.org>
7997
7998 * config.gcc (x86_64-*-freebsd*): New target.
7999 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
8000 value.
8001 (i[34567]86-*-freebsd*): Don't include svr4.h.
8002 * config/i386/freebsd64.h: New file.
8003
ff3aaf17
DR
80042002-01-25 Douglas B Rupp <rupp@gnat.com>
8005
4857d29d
DR
8006 * config/alpha/x-vms (version): Make static.
8007
8008 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
8009 in previous checkin.
8010
ff3aaf17
DR
8011 * Makefile.in (install-headers-cp): New target.
8012 * config.gcc (alpha-dec-*vms*): Install headers with
8013 install-headers-cp
8014
48d79c43
JH
8015Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
8016
8017 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
8018 avoid it's copies.
8019
995b5904
RK
8020Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8021
8022 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
8023 of compare_tree_int.
8024 (expand_builtin_strncat): Likewise.
8025 * c-decl.c (finish_struct): Use tree_low_cst.
8026 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
8027 * tree.c (compare_tree_int): Likewise.
8028
75eefe3f
UW
80292002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
8030
8031 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
8032 adjustments even if they are implemented by more than two insns.
8033
5a133afd
JH
8034Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
8035
995b5904 8036 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
8037 * df.h (struct ref): Kill B.
8038 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
8039
8040 * basic-block.h (PROP_EQUAL_NOTES): New flag.
8041 * flow.c (propagate_one_insn): Use it.
8042 (mark_used_regs): Handle NIL.
8043
ead39bdf 80442002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
8045
8046 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
8047 to help folding.
8048
01a2ccd0
DE
80492002-01-25 David Edelsohn <edelsohn@gnu.org>
8050
8051 * rs6000.md (prefetch): Make address V4SI mode so that the address
8052 is restricted to legitimate form for instruction.
8053
fd29f6ea
BW
80542002-01-25 Bob Wilson <bob.wilson@acm.org>
8055
8056 * doc/install.texi (xtensa-*-elf): New target.
8057 (xtensa-*-linux*): New target.
8058 * doc/contrib.texi: Add myself.
8059
55492b32
NC
80602002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
8061
8062 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
8063 purpose register to hold an SImode (or smaller) value.
8064
72c7c913
JJ
80652002-01-25 Jakub Jelinek <jakub@redhat.com>
8066
8067 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
8068 registry only.
8069 * crtstuff.c: Likewise.
8070
c4df4ceb
KH
80712002-01-25 Kazu Hirata <kazu@hxi.com>
8072
8073 * config/h8300/h8300.md (negation patterns): Tighten
8074 predicates to register_operand.
8075
70e531f5
AH
80762002-01-24 Aldy Hernandez <aldyh@redhat.com>
8077
3bca17dd
PK
8078 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
8079 mode, not Pmode.
70e531f5 8080
3bca17dd 8081 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 8082
a4f76ef9
AO
80832002-01-24 Alexandre Oliva <aoliva@redhat.com>
8084
8085 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
8086 modes.
8087
9bf25b09
KH
80882002-01-24 Kazu Hirata <kazu@hxi.com>
8089
8090 * config/h8300/h8300.c (print_operand): Remove support for
8091 operand character 'A'.
8092 * config/h8300/h8300.md (three anonymous patterns): Replace
8093 operand character 'A' with either 'T' or 'S'.
8094
974af6a5
KH
80952002-01-24 Kazu Hirata <kazu@hxi.com>
8096
8097 * config/h8300/h8300.c (print_operand): Remove support for
8098 operand character 'U'.
8099
7a5bb7b8
AP
81002002-01-24 Andris Pavenis <pavenis@latnet.lv>
8101
3bca17dd 8102 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 8103
92a4639e
NC
81042002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
8105
8106 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
8107 values to be assigned to the stack pointer.
8108
467cb2da
HP
81092002-01-14 Hartmut Penner <hpenner@de.ibm.com>
8110
bebc7e8b 8111 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
8112 to const_double needs to be done right for big-endian systems.
8113
3b6cb920
JM
81142002-01-24 Jason Merrill <jason@redhat.com>
8115
b08dd119 8116 PR c++/2432
3b6cb920
JM
8117 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
8118 to can_throw_internal.
8119
f3077311
RH
81202002-01-23 Richard Henderson <rth@redhat.com>
8121
8122 * fold-const.c (fold): Change UINT_MAX test to check vs precision
8123 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
8124
e1d71275
AO
81252002-01-24 Alexandre Oliva <aoliva@redhat.com>
8126
8127 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
8128 (symGOT2reg): Use them, then set as GOT value as unchanging.
8129 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
8130 as a temporary, if possible.
8131 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
8132 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
8133
dc271dbe
KH
81342002-01-23 Kazu Hirata <kazu@hxi.com>
8135
8136 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
8137 accept to accept 0x80 as operands[2].
8138
1a9017f9
AO
81392002-01-24 Alexandre Oliva <aoliva@redhat.com>
8140
8141 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
8142
6932f033
RH
81432002-01-23 Richard Henderson <rth@redhat.com>
8144
8145 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
8146
709619d9
AH
81472002-01-23 Aldy Hernandez <aldyh@redhat.com>
8148
3bca17dd
PK
8149 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
8150 (parmlist_or_identifiers_1): Verify that only a parmlist follows
8151 an attribute.
709619d9 8152
3d709fd3
RH
81532002-01-23 Richard Henderson <rth@redhat.com>
8154
8155 * expr.c (move_by_pieces_1): Extend size before negation.
8156
88a446c0
RH
8157 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
8158 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
8159 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
8160 * config/m68k/t-m68kelf: Likewise.
8161
03984308
BW
81622002-01-23 Bob Wilson <bob.wilson@acm.org>
8163
8164 * config/xtensa/elf.h: New file.
8165 * config/xtensa/lib1funcs.asm: New file.
8166 * config/xtensa/lib2funcs.S: New file.
8167 * config/xtensa/linux.h: New file.
8168 * config/xtensa/t-xtensa: New file.
8169 * config/xtensa/xtensa-config.h: New file.
8170 * config/xtensa/xtensa-protos.h: New file.
8171 * config/xtensa/xtensa.c: New file.
8172 * config/xtensa/xtensa.h: New file.
8173 * config/xtensa/xtensa.md: New file.
8174 * config.gcc (xtensa-*-elf*): New target.
8175 (xtensa-*-linux*): New target.
8176 * cse.c (canon_hash): Compare rtx pointers instead of register
8177 numbers. This is required for the Xtensa port.
8178 * integrate.c (copy_insn_list): Handle case where the static
8179 chain is in memory and the memory address has to be copied to
8180 a register.
8181 * doc/invoke.texi (Option Summary): Add Xtensa options.
8182 (Xtensa Options): New node.
8183 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
8184
c3d5c3fa
ZW
81852002-01-23 Zack Weinberg <zack@codesourcery.com>
8186
a63bea75
ZW
8187 * diagnostic.c (internal_error): Do ICE suppression only
8188 when ENABLE_CHECKING is not defined.
8189
c3d5c3fa
ZW
8190 * c-typeck.c (require_complete_type): Return error_mark_node
8191 if type is error_mark_node.
8192
1398974c
JJ
81932002-01-23 Janis Johnson <janis187@us.ibm.com>
8194
8195 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
8196 -Os and issue a warning.
8197
807633e5
ZW
81982002-01-23 Zack Weinberg <zack@codesourcery.com>
8199
8200 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
8201 current (lack of) need for host configuration by hand.
8202
8203 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
8204 references. Documentation of some target macros moved from
8205 hostconfig.texi to tm.texi.
8206
cf8002d0
WC
82072002-01-23 Will Cohen <wcohen@redhat.com>
8208
8209 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
8210 defined.
8211
d1e76310
KH
82122002-01-23 Kazu Hirata <kazu@hxi.com>
8213
8214 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
8215 operand[3].
8216
b2115575
JM
82172002-01-23 Jason Merrill <jason@redhat.com>
8218
f893c16e
JM
8219 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
8220
b2115575
JM
8221 * function.c (assign_parms): Don't put args of inline functions
8222 into registers when not optimizing.
8223
6bacc7b0
NC
82242002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
8225
8226 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
8227 (prologue_use): New pattern.
8228 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
8229 preference to gen_rtx_USE.
8230 (thumb_expand_prologue): Use gen_prologue_use in preference to
8231 gen_rtx_USE.
8232 (thumb_expand_epilogue): Use gen_prologue_use in preference to
8233 gen_rtx_USE.
8234
a415f7bc
HPN
82352002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
8236
8237 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
8238
5372b3fb
NB
82392002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
8240
8241 PR c/3504
8242 * doc/extend.texi: Correct documentation of __alignof__.
8243
bd571ffc
ZW
82442002-01-22 Zack Weinberg <zack@codesourcery.com>
8245
8246 * params.h: Rename arguments of DEFPARAM so that it will be
8247 recognized as a translation keyword.
8248
333c8841
AH
82492002-01-22 Aldy Hernandez <aldyh@redhat.com>
8250
bd571ffc
ZW
8251 * extend.texi: Document altivec functions.
8252 Fix N-bit adjectives in X86 builtin documentation.
333c8841 8253
38979c65
AO
82542002-01-22 Alexandre Oliva <aoliva@redhat.com>
8255
8256 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
8257 auto_inc_dec values.
8258
7458a9f0
RE
82592002-01-22 Richard Earnshaw <rearnsha@arm.com>
8260
8261 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
8262 after backslash.
8263 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
8264
129bd0c4
AO
82652002-01-22 Alexandre Oliva <aoliva@redhat.com>
8266
8267 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
8268
8b9b74a9
RH
82692002-01-22 Richard Henderson <rth@redhat.com>
8270
8271 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
8272 copy_insn not copy_rtx.
8273
d0c9db30
AM
82742002-01-23 Alan Modra <amodra@bigpond.net.au>
8275
8276 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
8277 "nonzero" as that might add "1" bits. Ensure "constop" is
8278 properly sign extened.
8279 (force_to_mode): Tweak for sign extended constop.
8280
1e7e480e
RH
82812002-01-22 Richard Henderson <rth@redhat.com>
8282
8283 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
8284 for_each_rtx instead of assuming we're already looking at the MEM.
8285 (split_small_symbolic_mem_operand): Likewise.
8286 * config/alpha/alpha.h (PREDICATE_CODES): Update.
8287 * config/alpha/alpha.md (small symbolic memory splitters): Update.
8288
82892002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
8290
8291 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
8292 sequence number for the literal.
8293 (divmoddi_internal_er): Likewise.
8294
b7f2fb96
CR
82952002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
8296
8297 PR java/4972
8298 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
8299 in LIBICONV variable.
8300 * configure: Regenerated.
8301
f66a0046
KW
83022002-01-22 Krister Walfridsson <cato@df.lth.se>
8303
8304 * dependence.c (build_def_use): Remove array_idx.
8305
e3b0efd1
KW
8306 * dwarfout.c (last_filename): Remove.
8307 (output_compile_unit_die): Remove last_filename.
8308
d8086cbb
RS
83092002-01-22 Roger Sayle <roger@eyesopen.com>
8310 Richard Henderson <rth@redhat.com>
8311
8312 PR opt/3640
8313 * fold-const.c (fold): Optimize unsigned comparisons against
8314 UINT_MAX (and similar unsigned constants).
8315
e8d52ba0
JJ
83162002-01-22 Janis Johnson <janis187@us.ibm.com>
8317
d8086cbb 8318 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 8319 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 8320 against the predicate.
11303d15 8321
e8d52ba0
JJ
8322 PR target/5379
8323 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
8324 for the address operand.
8325
cc7b420e
RH
83262002-01-22 Richard Henderson <rth@redhat.com>
8327
8328 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
8329
816e265a
CR
83302002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
8331
8332 PR other/5450
cc7b420e
RH
8333 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
8334 preprocessor flags.
816e265a 8335
7c884404
JT
83362002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
8337
8338 * config.gcc (x86_64-*-netbsd*): New target.
8339 * config/i386/netbsd64.h: New file.
8340
2b672c08
AH
83412002-01-22 Aldy Hernandez <aldyh@redhat.com>
8342
d8086cbb 8343 * regrename.c (kill_value): Fix typo.
2b672c08
AH
8344
83452002-01-22 Aldy Hernandez <aldyh@redhat.com>
8346
d8086cbb 8347 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 8348
d8086cbb 8349 * config/rs6000/rs6000.h: Same.
2b672c08 8350
d8086cbb
RS
8351 * function.c (instantiate_virtual_regs): Remove
8352 STARTING_FRAME_PHASE.
8353 (assign_stack_local_1): Same.
8354 Calculate frame phase.
2b672c08 8355
4b02997f
NC
83562002-01-22 Nick Clifton <nickc@redhat.com>
8357
8358 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
8359 variable declaration to outer scope in order to simplify
8360 future extensions.
8361 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
8362 arm_hard_regno_mode_ok.
8363 * config/arm/arm-protos.h: Add a prototype for
8364 arm_hard_regno_mode_ok.
8365 * config/arm/arm.c (soft_df_operand): Remove now redundant
8366 check for DImode values using IP_REGNUM.
8367 (nonimmediate_soft_df_operand): Remove now redundant check for
8368 DImode values using IP_REGNUM.
8369 (arm_hard_regno_mode_ok): New function. New check: make sure
8370 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
8371
8372 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
8373 note with a USE.
8374 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
8375
8a827ab2
JM
83762002-01-22 Jason Merrill <jason@redhat.com>
8377
8378 * c-semantics.c (genrtl_compound_stmt): Only check nesting
8379 consistency if this COMPOUND_STMT is scoped.
8380
cf403648
KH
83812002-01-22 Kazu Hirata <kazu@hxi.com>
8382
8383 * predict.c: Fix formatting.
8384 * print-tree.c: Likewise.
8385 * protoize.c: Likewise.
8386 * real.h: Likewise.
8387 * rtl.h: Likewise.
8388 * sbitmap.h: Likewise.
8389 * scan.c: Likewise.
8390 * sched-deps.c: Likewise.
8391 * sched-vis.c: Likewise.
8392 * sdbout.c: Likewise.
8393 * sibcall.c: Likewise.
8394 * ssa.c: Likewise.
8395 * ssa-ccp.c: Likewise.
8396 * ssa-dce.c: Likewise.
8397 * stmt.c: Likewise.
8398 * stor-layout.c: Likewise.
8399 * system.h: Likewise.
8400
aea9695c
RK
8401Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8402
a8765ae7
RK
8403 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
8404 if fits in bounds of base type.
8405
aea9695c
RK
8406 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
8407 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
8408 (add_bound_info, default): If can't find a context, make a
8409 SAVE_EXPR.
8410 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
8411
58bf601b
HPN
84122002-01-22 Hans-Peter Nilsson <hp@axis.com>
8413
8414 * c-typeck.c (parser_build_binary_op): If result from
8415 build_binary_op is ERROR_MARK just return error_mark_node without
8416 further processing.
8417
f982f805
JT
84182002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
8419
8420 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
8421 Split a.out-specific bits into...
8422 * config/netbsd-aout.h: ...this.
8423 * config/netbsd-elf.h: New file.
8424 * config/alpha/netbsd-elf.h: Remove.
8425 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
8426 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 8427 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
8428 (ENDFILE_SPEC): Likewise.
8429 (LINK_SPEC): Likewise.
8430 (CPP_SPEC): Likewise.
8431 (ASM_SPEC): Likewise.
8432 (LIB_SPEC): Likewise.
8433 (SWITCH_TAKES_ARG): Likewise.
8434 (TARGET_MEM_FUNCTIONS): Likewise.
8435 (CPP_PREDEFINES): Redefine.
8436 (ASM_FINAL_SPEC): Remove redefinition.
8437 (ASM_COMMENT_START): Redefine.
8438 (FUNCTION_PROFILER): Define.
8439 (TARGET_VERSION): Redefine.
8440 Comment and formatting cleanup.
8441 * config/i386/netbsd.h: Include <netbsd-aout.h>.
8442 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
8443 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
8444 big- or little-endian.
8445 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
8446 * config.gcc (*-*-netbsd*): Add definitions common to all
8447 NetBSD configs.
8448 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
8449 gnu_ld definitions. Add netbsd-elf.h to and remove
8450 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
8451 tmake_file, and don't lose previous tmake_file contents.
8452 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
8453 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
8454 gnu_ld definitions. Add netbsd-elf.h to tm_file.
8455 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
8456 (mipsel-*-netbsd*): Rename this to...
8457 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
8458 mips/little.h to tm_file for mips*el-*.
8459 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
8460 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
8461 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
8462
2e396476
JDA
84632002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
8464
8465 * pa-protos.h (reg_before_reload_operand): New function prototype.
8466 * pa.c (reg_before_reload_operand): New function implementation.
8467 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
8468 contraints to "*m".
8469
3b5708e7
FS
84702002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8471
8472 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
8473
85e79f96
JDA
84742002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
8475
8476 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
8477 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
8478 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
8479 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
8480 (ENDFILE_SPEC): Undefine.
8481 (STARTFILE_SPEC): Redefine for PA.
8482
38abadee
FS
84832002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8484
8485 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
8486
94f1d97c
DJ
84872002-01-21 Daniel Jacobowitz <drow@mvista.com>
8488
8489 * config.gcc: Add entries to supported PowerPC --with-cpu
8490 types.
8491
0333394e
JJ
84922002-01-21 Jakub Jelinek <jakub@redhat.com>
8493
8494 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
8495 true for 64-bit mode only SSE registers in 32-bit mode.
8496
e9d1b155
KH
84972002-01-21 Kazu Hirata <kazu@hxi.com>
8498
8499 * unwind-dw2.c: Fix formatting.
8500 * unwind-dw2-fde.c: Likewise.
8501 * unwind-dw2-fde.h: Likewise.
8502 * unwind-pe.h: Likewise.
8503 * varasm.c: Likewise.
8504 * varray.h: Likewise.
8505
07338cf8
HPN
85062002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
8507
8508 Remove workaround for register stack overwrite bug in mmix.
8509 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
8510 support for TARGET_REG_STACK_FILL_BUG.
8511 * config/mmix/mmix.h: Remove member has_call_without_parameters.
8512 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
8513 Delete.
8514 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
8515 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
8516 -mno-reg-stack-fill-bug-workaround.
8517 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
8518 machine member has_call_without_parameters.
8519 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
8520 -mreg-stack-fill-bug-workaround and
8521 -mno-reg-stack-fill-bug-workaround.
8522 (MMIX Options): Ditto.
8523
7192cbf1
KH
85242002-01-21 Kazu Hirata <kazu@hxi.com>
8525
8526 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
8527 as appropriate.
8528 Remove redundant code.
8529
d1552d7b
JM
85302002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
8531
8532 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
8533 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
8534 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
8535 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
8536 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
8537 out target macro definitions and non-target-specific comments
8538 mostly taken from old versions of the manual.
8539
ed168e45
KH
85402002-01-20 Kazu Hirata <kazu@hxi.com>
8541
8542 * config/h8300/h8300.h: Fix comment formatting.
8543 * config/ia64/aix.h: Likewise.
8544 * config/ia64/ia64-protos.h: Likewise.
8545 * config/ia64/ia64.c: Likewise.
8546 * config/ia64/ia64.h: Likewise.
8547 * config/ia64/ia64intrin.h: Likewise.
8548 * config/ia64/linux.h: Likewise.
8549 * config/ia64/unwind-aix.c: Likewise.
8550 * config/ia64/unwind-ia64.c: Likewise.
8551
005e3e05
KH
85522002-01-20 Kazu Hirata <kazu@hxi.com>
8553
8554 * config/h8300/h8300.c: Revise comments about shift code.
8555
64bead4c
KH
85562002-01-20 Kazu Hirata <kazu@hxi.com>
8557
8558 * config/h8300/h8300.c (function_arg): Update a comment.
8559
ed863595
KH
85602002-01-20 Kazu Hirata <kazu@hxi.com>
8561
8562 * config/h8300/h8300.md: Update the comments at the beginning
8563 of the file.
8564
5904dc87
KH
85652002-01-20 Kazu Hirata <kazu@hxi.com>
8566
8567 * config/i370/i370.c: Fix comment formatting.
8568 * config/i370/i370.h: Likewise.
8569 * config/i370/i370.md: Likewise.
8570 * config/i370/linux.h: Likewise.
8571
9702143f
RK
8572Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8573
cbafacd1
RK
8574 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
8575
9702143f
RK
8576 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
8577 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
8578 in incomplete case.
8579
6b6996b8
GS
85802002-01-20 Graham Stott <grahams@redhat.com>
8581
8582 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
8583
eab854f6
JDA
85842002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
8585
8586 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
8587
5b029315
TR
85882002-01-19 Tom Rix <trix@redhat.com>
8589
8590 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
8591
1d690052
AH
85922002-01-18 Aldy Hernandez <aldyh@redhat.com>
8593
d8086cbb 8594 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 8595
d8086cbb
RS
8596 * function.c (assign_stack_local_1): Adjust x_frame_offset with
8597 STARTING_FRAME_PHASE.
8598 (STARTING_FRAME_PHASE): New.
8599 (instantiate_virtual_regs): Check saneness of
8600 STARTING_FRAME_PHASE.
1d690052 8601
d8086cbb 8602 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 8603
4dd8c093
AO
86042002-01-19 Alexandre Oliva <aoliva@redhat.com>
8605
8606 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
8607
6f2a28d7
CR
86082002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
8609
8610 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
8611 be used for bootstrapping GCC 3.0.
8612
8763a465
KH
86132002-01-18 Kazu Hirata <kazu@hxi.com>
8614
8615 * config/h8300/h8300.md: Fix an insn length.
8616
3ef42a0c
KH
86172002-01-18 Kazu Hirata <kazu@hxi.com>
8618
8619 * bitmap.h: Fix comment formatting.
8620 * combine.c: Likewise.
8621 * cppfiles.c: Likewise.
8622 * c-pragma.h: Likewise.
8623 * c-typeck.c: Likewise.
8624 * df.c: Likewise.
8625 * dwarf2out.c: Likewise.
8626 * function.c: Likewise.
8627 * gcc.c: Likewise.
8628 * genattrtab.c: Likewise.
8629 * gthr-win32.h: Likewise.
8630 * haifa-sched.c: Likewise.
8631 * predict.c: Likewise.
8632 * rtlanal.c: Likewise.
8633 * rtl.h: Likewise.
8634 * unwind-dw2-fde.h: Likewise.
8635 * unwind-pe.h: Likewise.
8636 * vmsdbgout.c: Likewise.
8637
dd4dc3cd
RK
8638Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8639
8640 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
8641 if type_required and passed decl.
8642
5fb4cf24
AH
86432002-01-17 Aldy Hernandez <aldyh@redhat.com>
8644
d8086cbb
RS
8645 * config.gcc (cpu_type): Include altivec.h in powerpc
8646 extra_headers.
8647 Same for darwin.
5fb4cf24 8648
d8086cbb 8649 * config/rs6000/altivec.h: New.
5fb4cf24 8650
2705baf5
DE
86512002-01-17 David Edelsohn <edelsohn@gnu.org>
8652
8653 * doc/install.texi (*-ibm-aix*): Update assembler and exception
8654 handling information.
8655 * doc/trouble.texi (Interoperation): Add libstdc++ information
8656 for AIX.
8657 (Misunderstandings): Add template instantiation and static template
8658 member information for AIX.
8659
dbd680e1
JM
86602002-01-17 Jason Merrill <jason@redhat.com>
8661
821adc5e
JM
8662 * dbxout.c (dbxout_type): Support const and volatile.
8663
dbd680e1
JM
8664 * except.c (add_partial_entry): Remove backwards compatibility code.
8665 (end_protect_partials): Likewise.
8666
d0e82870
JJ
86672002-01-17 Jakub Jelinek <jakub@redhat.com>
8668
8669 * config/ia64/ia64.md (prologue_use): New.
8670 * config/ia64/ia64.c (ia64_expand_prologue): Use
8671 gen_prologue_use instead of gen_rtx_USE.
8672 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
8673 as CODE_FOR_pred_rel_mutex.
8674 (ia64_sched_reorder2): Likewise.
8675
f9f45c65
EC
86762002-01-16 Eric Christopher <echristo@redhat.com>
8677
8678 * config/mips/r3900.h: Reformat.
8679 (SUBTARGET_CPP_SIZE_SPEC): Remove.
8680 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
8681 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
8682 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
8683 * config/mips/t-elf: Remove mips3 multilib.
8684
c66c8b0e
L
86852002-01-16 H.J. Lu <hjl@gnu.org>
8686
8687 * config/mips/linux.h: Include "mips/abi64.h".
8688
5f083b72
L
86892002-01-16 H.J. Lu <hjl@gnu.org>
8690
8691 * config/mips/t-linux: New.
8692
8693 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
8694
8695 * config/mips/linux.h: Don't include "gofast.h".
8696 (INIT_SUBTARGET_OPTABS): Removed.
8697
af3c90a6
KH
86982002-01-16 Kazu Hirata <kazu@hxi.com>
8699
8700 * config/h8300/h8300-protos.h: Replace emit_a_shift with
8701 output_a_shift.
8702 * config/h8300/h8300.c: Likewise.
8703 * config/h8300/h8300.md: Likewise.
8704
a1bf0a16
KH
87052002-01-16 Kazu Hirata <kazu@hxi.com>
8706
8707 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
8708 spaces after an opcode name.
8709 (pushqi1_h8300hs): Likewise.
8710 (pushhi1_h8300hs): Likewise.
8711
88ab0d1c
KH
87122002-01-16 Kazu Hirata <kazu@hxi.com>
8713
8714 * doc/extend.texi: Replace "option" with "attribute"
8715 appropriately.
8716
51c561e3
JJ
87172002-01-16 Jakub Jelinek <jakub@redhat.com>
8718
8719 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
8720 (and:DI () (const_int -8)).
8721 (split_small_symbolic_mem_operand): Split
8722 (mem (and:DI () (const_int -8)).
8723
b8c1a6b8
JJ
87242002-01-16 Jakub Jelinek <jakub@redhat.com>
8725
8726 PR target/5309:
d8086cbb 8727 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
8728 same way as TYPE_IMUL.
8729 (ultrasparc_sched_reorder): Likewise.
8730 * config/sparc/sparc.md (type): Add comment to update
8731 ultrasparc_sched_reorder when making changes.
8732
1e4e4df2
KH
87332002-01-16 Kazu Hirata <kazu@hxi.com>
8734
8735 * doc/invoke.texi: Change the dump file name of block
8736 reordering pass from 28.bbro to 29.bbro.
8737 Mention -dk option.
8738
14d920c0
JH
8739Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
8740
8741 * i386.md (minsf splitter): Fix pasto.
8742
2e99323f
NC
87432002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
8744
8745 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
8746 to frame pointer initialisation instruction.
8747 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
8748 initialisation instruction.
ab8081c1
NC
8749 (soft_df_operand): Do not accept the IP register.
8750 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 8751
c4031a04
JJ
87522002-01-16 Jakub Jelinek <jakub@redhat.com>
8753
8754 PR target/5357:
8755 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
8756 MASK_V8 being both set.
8757
44b8152b
UW
87582002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
8759
8760 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
8761 insn for GOT register; add REG_MAYBE_DEAD notes instead.
8762 config/s390/s390.md (call, call_value): Add GOT register to
8763 CALL_INSN_FUNCTION_USAGE where needed.
8764 (call_exp, call_value_exp): New.
8765
1d6e90ac
NC
87662002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
8767
8768 * config/arm/arm.c: General formatting tidy up.
8769
87702002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
8771
8772 * calls.c (try_to_integrate): Use "(size_t)" intermediate
8773 cast and when casting an integer literal to "rtx" pointer.
8774 (expand_call): Likewise.
8775 * flow.c (try_pre_increment): Likewise.
8776 (find_use_as_address): Likewise.
8777 * integrate.c (expand_iline_function): Likewise.
8778 * regmove.c (try_auto_increment): Likewise.
8779
1d6e90ac 87802002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
8781
8782 * sched-rgn.c (passed): Use sbitmap_free.
8783 (header): Likewise.
8784 (inner): Likewise.
8785 (in_queue): Likewise.
8786 (in_stack): Likewise.
8787
31fce3c4
EC
87882002-01-15 Eric Christopher <echristo@redhat.com>
8789
8790 * flow.c (propagate_one_insn): Change to use fatal_insn.
8791
c99d986a
KH
87922002-01-15 Kazu Hirata <kazu@hxi.com>
8793
8794 * expmed.c (extract_fixed_bit_field): Remove unused code.
8795 * system.h: Poison SLOW_ZERO_EXTEND.
8796 * doc/tm.texi: Remove.
8797 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
8798 * config/arm/arm.h: Likewise.
8799 * config/avr/avr.h: Likewise.
8800 * config/clipper/clipper.h: Likewise.
8801 * config/convex/convex.h: Likewise.
8802 * config/d30v/d30v.h: Likewise.
8803 * config/dsp16xx/dsp16xx.h: Likewise.
8804 * config/elxsi/elxsi.h: Likewise.
8805 * config/fr30/fr30.h: Likewise.
8806 * config/h8300/h8300.h: Likewise.
8807 * config/i370/i370.h: Likewise.
8808 * config/i386/i386.h: Likewise.
8809 * config/m68k/m68k.h: Likewise.
8810 * config/mips/mips.h: Likewise.
8811 * config/ns32k/ns32k.h: Likewise.
8812 * config/pdp11/pdp11.h: Likewise.
8813 * config/pj/pj.h: Likewise.
8814 * config/s390/s390.h: Likewise.
8815 * config/sh/sh.h: Likewise.
8816 * config/stormy16/stormy16.h: Likewise.
8817 * config/v850/v850.h: Likewise.
8818 * config/vax/vax.h: Likewise.
8819 * config/we32k/we32k.h: Likewise.
8820
acfab996
AH
88212002-01-15 Aldy Hernandez <aldyh@redhat.com>
8822
d8086cbb
RS
8823 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
8824 (altivec_lvsl): Change constraint to b.
8825 (altivec_lvsr): Same.
8826 (altivec_lvebx): Same.
8827 (altivec_lvehx): Same.
8828 (altivec_lvewx): Same.
8829 (altivec_lvxl): Same.
8830 (altivec_lvx): Same.
8831 (altivec_stvx): Add parallel.
8832 (altivec_stvxl): Same.
8833 (altivec_stvehx): Same.
8834 (altivec_stvebx): Same.
8835 (altivec_stvebx): Same.
acfab996 8836
5e505bc9
AH
88372002-01-15 Aldy Hernandez <aldyh@redhat.com>
8838
d8086cbb 8839 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 8840
d8086cbb 8841 * config/rs6000/altivec.h: Delete.
5e505bc9 8842
d8086cbb 8843 * config/rs6000/altivec-defs.h: Add.
5e505bc9 8844
5c41fdfb
JDA
88452002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
8846
8847 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
8848 and UMOD modes.
8849
8850 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
8851 less than or equal to eight bytes.
8852
8853 * vax.md (andsi3): Remove constraints and change SET destination
8854 operand type to nonimmediate_operand.
8855 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
8856 when it is a CONST_INT.
8857
de097a2d
JM
88582002-01-15 Jason Merrill <jason@redhat.com>
8859
8860 * c-common.def (FILE_STMT): New code.
8861 * c-common.c (statement_code_p): It's a statement.
8862 * c-common.h (stmt_tree_s): Add x_last_filename.
8863 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
8864 (last_expr_filename): New macro.
8865 * c-semantics.c (begin_stmt_tree): Initialize it.
8866 (add_stmt): If the filename changed, also insert a
8867 FILE_STMT.
8868 (expand_stmt): Handle seeing one.
8869
4a913dd6
EC
88702002-01-15 Eric Christopher <echristo@redhat.com>
8871
8872 * flow.c (propagate_one_insn): Add error message and print out
8873 insn for debugging.
8874
006946e4
JM
88752002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
8876
8877 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
8878 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
8879 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
8880 TRAMPOLINE_ALIGNMENT.
8881 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
8882 to be in bits.
8883 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
8884 PCC_BITFIELD_TYPE_MATTERS.
8885 * config/interix.h (STDC_VALUE): Remove. Use
8886 STDC_0_IN_SYSTEM_HEADERS.
8887 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
8888 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
8889 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
8890
751a1458
CR
88912002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
8892
8893 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
8894 not work on this platform currently.
8895
57771fe8
JM
88962002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
8897
8898 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
8899 readonly_warning in _().
8900
0e83ceb1 89012002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 8902
0e83ceb1 8903 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 8904
8e2e89f7
KH
89052002-01-15 Kazu Hirata <kazu@hxi.com>
8906
0e83ceb1
DR
8907 * config/h8300/h8300.c (print_operand): Remove support for
8908 unused operand characters.
8909
8e2e89f7
KH
8910 * read-rtl.c: Fix formatting.
8911 * real.c: Likewise.
8912 * recog.c: Likewise.
8913 * regclass.c: Likewise.
8914 * regmove.c: Likewise.
8915 * reg-stack.c: Likewise.
8916 * reload1.c: Likewise.
8917 * rtlanal.c: Likewise.
8918
b531087a
KH
89192002-01-15 Kazu Hirata <kazu@hxi.com>
8920
8921 * config/i386/i386.c: Fix formatting.
8922
7c94ce7f
JJ
89232002-01-15 Jakub Jelinek <jakub@redhat.com>
8924
8925 * c-typeck.c (process_init_element): Don't save_expr
8926 COMPOUND_LITERAL_EXPR if just its initializer will be used.
8927
6041bf2f
DE
89282002-01-15 David Edelsohn <edelsohn@gnu.org>
8929
8930 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
8931 emit optional traceback table if optimize_size or TARGET_ELF.
8932 * config/rs6000/rs6000.md (prefetch): New.
8933
8559c8c0
AJ
89342002-01-15 Andreas Jaeger <aj@suse.de>
8935
8936 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
8937
70f122f2
KH
89382002-01-15 Kazu Hirata <kazu@hxi.com>
8939
8940 * mips-tfile.c: Fix formatting.
8941
6a7b4ca6
JH
8942Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
8943
8944 * unroll.c (final_reg_note_copy): Fix previous commit.
8945
e7afe229
KH
89462002-01-14 Kazu Hirata <kazu@hxi.com>
8947
8948 * config/h8300/h8300-protos.h: Remove the prototype for
8949 eq_operator.
8950 * config/h8300/h8300.c (eq_operator): Remove.
8951
7d378549
RH
89522002-01-14 Richard Henderson <rth@redhat.com>
8953
8954 * config/i386/i386.md (prefetch): Tidy.
8955 (prefetch_3dnow): Fix locality operand.
8956
ab093b81
RH
89572002-01-14 Richard Henderson <rth@redhat.com>
8958
8959 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
8960 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
8961
d300f51f
HPN
89622002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
8963
8964 * reload1.c (reload_combine): Pass reg_sum replacement through
8965 copy_rtx in loop performing multiple changes.
8966
655dd289
JJ
89672002-01-14 Jakub Jelinek <jakub@redhat.com>
8968
8969 * except.c (remove_unreachable_regions): New.
8970 (free_eh_status): Clear exception_handler_labels.
8971 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
8972 (find_exception_handler_labels): Don't add the same label more than
8973 once.
8974 (remove_exception_handler_label): Don't die if
8975 find_exception_handler_labels hasn't been called for the current
8976 function yet.
8977
1fba46a7
JH
8978Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
8979
8980 * toplev.c (rest_of_compilation): Rebuild jump labels after
8981 gcse.
8982
0975678f
JM
89832002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
8984
8985 * doc/extend.texi: Move documentation of X86 built-in functions
8986 here.
8987 * doc/invoke.texi: From here.
8988 * doc/sourcebuild.texi: Document location of documentation for
8989 machine built-in functions.
8990
969815c7
CF
89912002-01-13 Christopher Faylor <cgf@redhat.com>
8992
8993 * cppfiles.c (TEST_THRESHOLD): New macro.
8994 (SHOULD_MMAP): Ditto.
8995 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
8996 be used.
8997
494c950b
JH
8998Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
8999
9000 * unroll.c (final_reg_note_copy): Properly handle
9001 REG_LABEL
9002 (unroll_loops): Fix LOOP_CONDITION heuristics.
9003
69a0611f
GK
90042002-01-14 Geoffrey Keating <geoffk@redhat.com>
9005
9006 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
9007 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
9008
b90e45ae
JH
9009Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
9010
9011 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
9012 threaded loop.
9013
8377288b
TR
90142002-01-14 Tom Rix <trix@redhat.com>
9015
9016 * config/rs6000/rs6000.md: Fix typo with sradi.
9017
9f37ccb1
UW
90182002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
9019
9020 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
9021 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
9022 (clrstrdi, clrstrsi): Adapt callers.
9023
9024 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
9025
8559c8c0 9026 (movti splitter): Never use register 0 as base register.
9f37ccb1 9027
6c2d03d0
HP
90282002-01-14 Hartmut Penner <hpenner@de.ibm.com>
9029
8559c8c0
AJ
9030 * combine.c (simplify_shift_const): Always generate new rtx
9031 for shift expression instead of reusing given expression.
6c2d03d0 9032
d3e98208
RK
9033Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9034
9035 * config/alpha/alpha.c (alpha_expand_mov): Don't call
9036 alpha_legitimize_address unless mode is Pmode.
9037
9f339dde
GK
90382002-01-13 Geoffrey Keating <geoffk@redhat.com>
9039
9040 * doc/md.texi (Modifiers): Document the '*' constraint for the
9041 user.
9042
9043 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
9044 * doc/extend.texi (Function Attributes): 'interrupt' is valid
9045 for xstormy16 too.
9046
02a10130
RH
90472002-01-13 Richard Henderson <rth@redhat.com>
9048
9049 * reload.c (find_reloads): Use a hard reg destination as reload reg
9050 for an input reload of the source.
9051
61d47787
GP
90522002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9053
9054 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
9055 more generic.
9056
f0df8029
DR
9057Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
9058
9059 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
9060 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
9061
d2a37256
DR
9062 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
9063
a9e8a5ee
RK
9064Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9065
9066 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
9067
bc06712d
TR
90682002-01-12 Tom Rix <trix@redhat.com>
9069
8559c8c0 9070 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
9071 TARGET_POWERPC64.
9072
7cbe9bb7
RH
90732002-01-12 Richard Henderson <rth@redhat.com>
9074
38b29e64
RH
9075 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
9076
58605ba0
RH
9077 * doc/invoke.texi: Update Alpha options.
9078
7cbe9bb7
RH
9079 * doc/invoke.texi: Update i386 built-in function lists.
9080
9d560860
JH
9081Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
9082
9083 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
9084 referencing outside.
9085
bb93b973
RK
9086Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9087
9088 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
9089 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
9090 offsets, and change line folding.
9091 * optabs.c (expand_binop): Remove warnings.
9092 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 9093
f9f6b7df
GS
90942002-01-12 Graham Stott <grahams@redhat.com>
9095
9096 * attribs.c (handle_deprecated_attribute): constify WHAT.
9097 * diagnostic.c (warn_deprecated_use): Add braces, fixes
9098 dangling else warning and constify WHAT.
9099 * except.h (struct function, struct inline_remap): Move
9100 struct tag forward defs before all prototypes.
9101 (duplicate_eh_regions): Whitespace.
9102
4a692617
NC
91032002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
9104
9105 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
9106 MODE_BASE_REG_CLASS.
9107 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
9108
e37af218
RH
91092002-01-12 Richard Henderson <rth@redhat.com>
9110
9111 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
9112 (ix86_expand_vector_move): New.
9113 (bdesc_2arg): Remove andps, andnps, orps, xorps.
9114 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
9115 Remove old prefetch builtins. Special case the logicals removed above.
9116 (ix86_expand_builtin): Likewise.
9117 (safe_vector_operand): Use V4SFmode, not TImode.
9118 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
9119 (ix86_expand_timode_binop_builtin): New.
9120 * config/i386/i386-protos.h: Update.
9121 * config/i386/i386.h (enum ix86_builtins): Update.
9122 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
9123 Use ix86_expand_vector_move in vector move expanders.
9124 (movti_internal, movti_rex64): Add xorps alternative.
9125 (sse_clrv4sf): Rename and adjust from sse_clrti.
9126 (prefetch): Don't work so hard.
9127 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
9128 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
9129 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
9130
6f1a6c5b
RH
91312002-01-11 Richard Henderson <rth@redhat.com>
9132
9133 * config/i386/mmintrin.h: New file.
9134 * config/i386/xmmintrin.h: New file.
9135 * config.gcc (i?86-*-*): Add extra_headers.
9136 * simplify-rtx.c (simplify_unary_operation): Handle saturating
9137 truncation codes.
9138 (simplify_binary_operation): Handle saturating arithmetic codes.
9139 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
9140 not the lowpart subreg.
9141 (ix86_expand_builtin): Return a TImode dummy register instead of 0
9142 on error.
9143 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
9144
cdb574d3
MH
91452002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9146
9147 * conflict.c (conflict_graph_compute): Free regsets when finished.
9148 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 9149
cf11ac55
HB
91502002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9151
9152 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
9153 every where we allocate a register.
9154
76ac938b
MH
91552002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9156
9157 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
9158 * lcm.c (compute_earliest, compute_farthest): Likewise.
9159
a84b4898
JJ
91602002-01-11 Janis Johnson <janis187@us.ibm.com>
9161
9162 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
9163
aaef1c12
JJ
91642002-01-11 Janis Johnson <janis187@us.ibm.com>
9165
9166 * doc/rtl.texi (Insns): Fix 2 typos.
9167
5d22c1a5
JM
91682002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
9169
9170 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
9171 options. Use @table @gcctabopt for MMIX options. Add index
9172 entries for MMIX options. Start new paragraph with first
9173 heading of the machine-dependent options.
9174
3e92902c
CR
91752002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
9176
9177 PR other/5299
9178 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
9179 * combine.c (force_to_mode): Same.
9180 * reload1.c (clear_reload_reg_in_use): Same.
9181
96ae8197
NC
91822002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
9183
9184 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
9185 and 'subtargets'.
9186
9b780582
AJ
91872002-01-11 Andreas Jaeger <aj@suse.de>,
9188 Brad Lucier <lucier@math.purdue.edu>
9189
9190 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
9191 mcpu.
9192
12300dad
DR
9193Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
9194
9195 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
9196 Protect with IN_LIBGCC.
9197 (LINK_EH_SPEC): Add required trailing space.
9198
27511a9a
NP
9199Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
9200
9b780582 9201 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
9202 under the filename which contains them.
9203 (check_identifier, finish_decl_top_level,
9204 lookup_name_current_level_global, shadow_record_fields): Remove.
9205
4daeab16
AJ
92062002-01-11 Andreas Jaeger <aj@suse.de>
9207
9208 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
9209 march.
9210
40571d67
RH
92112002-01-10 Richard Henderson <rth@redhat.com>
9212
9213 * config/alpha/alpha.c (print_operand): Add 'J'.
9214 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
9215 new operand with the sequence number for the lituse. When splitting
9216 the insns, use gen_movdi_er_high_g and generate a sequence number.
9217 (gen_movdi_er_high_g): Print the sequence number if non-zero.
9218
6525c0e7
AH
92192002-01-10 Aldy Hernandez <aldyh@redhat.com>
9220
d8086cbb
RS
9221 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
9222 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
9223 stvxl.
9224 (altivec_expand_builtin): Same.
9225 (altivec_expand_stv_builtin): New.
9226
9227 * config/rs6000/rs6000.h (rs6000_builtins): Same.
9228
9229 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
9230 ("altivec_lvehx"): New.
9231 ("altivec_lvewx"): New.
9232 ("altivec_lvxl"): New.
9233 ("altivec_lvx"): New.
9234 ("altivec_stvx"): New.
9235 ("altivec_stvebx"): New.
9236 ("altivec_stvehx"): New.
9237 ("altivec_stvewx"): New.
9238 ("altivec_stvxl"): New.
6525c0e7 9239
cda94cbb
RH
92402002-01-10 Richard Henderson <rth@redhat.com>
9241
9242 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
9243 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
9244 care not to delete instructions twice.
9245
df2c9a44
ZW
92462002-01-10 Zack Weinberg <zack@codesourcery.com>
9247
9248 * toplev.c: Don't declare environ (it's not used anywhere).
9249 * configure.in: Don't check for declaration of environ.
9250 * config/i386/xm-mingw32.h: Don't #define environ.
9251 * config.in, configure: Regenerate.
9252
5dd8a9b1
ZW
92532002-01-10 Zack Weinberg <zack@codesourcery.com>
9254
9255 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
9256 * configure: Regenerate.
9257
9258 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
9259 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
9260 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
9261 alpha/xm-vms.h.
9262 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
9263 LIMITS_H_TEST here, not in m68k/x-next.
9264 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
9265 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
9266
9267 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
9268 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
9269 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
9270
9271 * config/i386/x-djgpp: Renamed i386/t-djgpp.
9272 * config/m88k/x-dolph: Renamed m88k/t-dolph.
9273 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
9274 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
9275 replacement of quadlib.asm with quadlib.c.
9276
9277 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
9278 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
9279 config/rs6000/xm-beos.h: Delete file.
9280
9281 * config.gcc: Update to match above changes.
9282
d10dd44c
KH
92832002-01-10 Kazu Hirata <kazu@hxi.com>
9284
9285 * config/h8300/h8300.h: Fix comment typos.
9286 * config/h8300/h8300.md: Likewise.
9287 * config/h8300/lib1funcs.asm: Likewise.
9288
04894c5a
DJ
92892002-01-10 Dale Johannesen <dalej@apple.com>
9290
9291 PR optimization/5269
9292 * unroll.c (precondition_loop_p): Make *increment be the correct
9293 sign when n_iterations known, to avoid confusing caller.
9294
adc9fe67
KH
92952002-01-10 Kazu Hirata <kazu@hxi.com>
9296
9297 * doc/extend.texi (deprecated): Fix a typo.
9298
b446e5a2
JH
9299Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
9300
9301 * basic-block.h (update_br_prob_note): Declare.
9302 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
9303 (try_forward_edges): Care negative frequencies and update note.
9304 (outgoing_edges_match): Tweek conditional merging heuristics.
9305 (try_crossjump_to_edge): use update_br_prob_note.
9306 * cfglayout.c (fixup_reorder_chain): Likewise.
9307 * cfrtl.c (update_br_prob_note): New.
9308 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
9309
9310 * i386.c (ix86_decompose_address): Return -1 if address contains
9311 shift.
9312 (legitimate_address_p): Require ix86_decompose_address to return 1.
9313
9314 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
9315 (cprop_insn): Likewise.
9316
a01da83b
KH
93172002-01-10 Kazu Hirata <kazu@hxi.com>
9318
9319 * toplev.c: Fix formatting.
9320 * tree.c: Likewise.
9321 * tree-dump.c: Likewise.
9322 * unroll.c: Likewise.
9323 * unwind-dw2.c: Likewise.
9324 * unwind-dw2-fde.c: Likewise.
9325 * unwind-dw2-fde-glibc.c: Likewise.
9326 * unwind-sjlj.c: Likewise.
9327
9f85bca7
JM
93282002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
9329
9330 * doc/invoke.texi: Document PDP-11 options.
9331
f48f56b1
KH
93322002-01-10 Kazu Hirata <kazu@hxi.com>
9333
9334 * config/h8300/h8300.h: Fix formatting.
9335
ead39bdf 93362002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
9337
9338 Add __attribute__ ((deprecated)).
9339 * extend.texi: Document __attribute__ ((deprecated)).
9340 * invoke.texi: Document -Wno-deprecated-declarations.
9341 * testsuite/g++.dg/other/deprecated.C: New C++ test.
9342 * testsuite/gcc.dg/deprecated.c: New C test.
9343 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
9344 (c_common_attribute_table): Add "deprecated" entry.
9345 (handle_deprecated_attribute): New function.
9346 * c-decl.c (deprecated_states): New enum.
9347 deprecated_state: State of "deprecated" handling.
9348 (start_decl): Set deprecated_state based on attributes.
9349 (grokdeclarator): Test for deprecated uses, propagate attribute.
9350 * c-typeck.c (build_component_ref): Test for deprecated fields.
9351 (build_external_ref): Test for deprecated primaries.
9352 * diagnostic.c (warn_deprecated_use) New function to issue
9353 warnings about __attribute__ ((depricated)) references.
9354 * flags.h (warn_deprecated_decl): Extern declared for
9355 -W[no-]deprecated-declarations option.
9356 * print-tree.c (print_node): Show deprecated flag status.
9357 * toplev.c (warn_deprecated_decl): Defined.
9358 (W_options): Added "deprecated-declaration".
9359 * toplev.h (warn_deprecated_use): Extern declared.
9360 * tree.h (struct tree_common): Define deprecated_flag.
9361 (TREE_DEPRECATED): New macro to access flag.
9362 * cp/call.c (build_call): Test for deprecated calls.
9363 * cp/class.c (add_implicitly_declared_members): Set global
9364 flag to tell grokdeclarator to not issue deprecated warnings.
9365 * cp/cp-tree.h: Add extern for adding_implicit_members.
9366 * cp/decl.c (deprecated_states): New enum.
9367 (start_decl): Set deprecated_state based on attributes.
9368 (grokdeclarator): Test for deprecated uses, propagate attribute.
9369 * cp/lex.c (do_identifier): Test for deprecated primaries.
9370 * cp/typeck.c (build_component_ref): Test for deprecated fields.
9371
ead39bdf 93722002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
9373
9374 Fix to assign attributes to inline member functions.
9375 * cp/decl.c (start_method): Handle attrlist.
9376
47073a38
KH
93772002-01-10 Kazu Hirata <kazu@hxi.com>
9378
9379 * combine.c (expand_field_assignment): Use subreg_lsb().
9380
d288e53d
DE
93812002-01-10 David Edelsohn <edelsohn@gnu.org>
9382
9383 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
9384 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
9385 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
9386 Recurse for any operand of AND as long as constant is non-zero.
9387
08a02ffa
KH
93882002-01-10 Kazu Hirata <kazu@hxi.com>
9389
9390 * config/h8300/h8300.md: Remove constraints from expanders.
9391
c203e7fe
KH
93922002-01-10 Kazu Hirata <kazu@hxi.com>
9393
9394 * varasm.c: Fix formatting.
9395 * varray.c: Likewise.
9396 * vmsdbgout.c: Likewise.
9397 * xcoffout.c: Likewise.
9398
bcb3bc6d
JH
9399Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
9400
9401 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 9402 update edge probabilities to match.
bcb3bc6d 9403
0a553c7e
JM
94042002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
9405
9406 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
9407 dependencies.
9408 * doc/languages.texi, doc/sourcebuild.texi: New files.
9409 * doc/configfiles.texi: Make a subsubsection. Update.
9410 * doc/configterms.texi: Add @node. Remove warning that this isn't
9411 instructions for building GCC.
9412 * doc/makefile.texi: Make a subsection.
9413 * doc/gccint.texi: Update.
9414
adc7fcb8
JH
9415Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
9416
9417 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
9418
5a4dd0b3
NP
9419Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
9420
9421 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
9422
3987b9db
JH
9423Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
9424
9425 * optabs.c (expand_fix): Look for wider integer modes first.
9426
9427 * i386.md (mov?f): Avoid the fake const double trick for medium
9428 memory model.
9429 (min?f*/max?f*): Prohibit memory operands for i387 variant.
9430 (fop_df_4): Disable for SSE compilation.
9431
ceb15948 94322002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
9433
9434 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 9435 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 9436
e1623399
RH
94372002-01-10 Richard Henderson <rth@redhat.com>
9438
9439 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
9440
c4abb293
RH
94412002-01-10 Richard Henderson <rth@redhat.com>
9442
9443 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
9444 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
9445
d2604ae9
KH
94462002-01-10 Kazu Hirata <kazu@hxi.com>
9447
9448 * combine.c (can_combine_p): Fix a comment typo.
9449
766c7ad1
ZW
94502002-01-09 Zack Weinberg <zack@codesourcery.com>
9451
9452 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
9453 empty list correctly. Change loop index $t to $f for
9454 consistency with rest of Makefile.
9455
95385cbb
AH
94562002-01-08 Aldy Hernandez <aldyh@redhat.com>
9457
9458 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
9459 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
9460
9461 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
9462 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
9463 (altivec_init_builtins): Same.
9464 (altivec_expand_unop_builtin): Return NULL_RTX on error.
9465 (altivec_expand_binop_builtin): Same.
9466 (altivec_expand_ternop_builtin): Same.
9467 (bdesc_dst): New.
9468
9469 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
9470 ("altivec_vctuxs"): Fix typo.
9471 ("altivec_vnmsubfp"): Same.
9472 ("altivec_dssall"): New.
9473 ("altivec_mfvscr"): New.
9474 ("altivec_dss"): New.
9475 ("altivec_lvsl"): New.
9476 ("altivec_lvsr"): New.
9477 ("altivec_dstt"): New.
9478 ("altivec_dstst"): New.
9479 ("altivec_dststt"): New.
9480 ("altivec_dst"): New.
9481
9482 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
9483 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
9484
e4ac76b4
RH
94852002-01-09 Richard Henderson <rth@redhat.com>
9486
9487 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
9488
c893e4a4
HPN
94892002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
9490
9491 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
9492 function.
9493 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
9494 prototype.
7387c700 9495 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 9496
f4f4d0f8
KH
94972002-01-09 Kazu Hirata <kazu@hxi.com>
9498
9499 * read-rtl.c: Fix formatting.
9500 * real.c: Likewise.
9501 * regclass.c: Likewise.
9502 * regrename.c: Likewise.
9503 * reg-stack.c: Likewise.
9504 * reload1.c: Likewise.
9505 * reload.c: Likewise.
9506 * rtl.c: Likewise.
9507
cc863bea
KH
95082002-01-09 Kazu Hirata <kazu@hxi.com>
9509
9510 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
9511 to extract items in the expr_list chain.
9512
7b4dfe3d
RH
95132002-01-09 Richard Henderson <rth@redhat.com>
9514
9515 * config/vax/vax.c (vax_rtx_cost): Never abort.
9516
1d969638
RH
9517 * config/vax/vax.h (REAL_ARITHMETIC): Define.
9518
7d5ab30e
JH
95192002-01-09 Jan Hubicka <jh@suse.cz>
9520
9521 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
9522
9503f3d1
RH
95232002-01-09 Richard Henderson <rth@redhat.com>
9524
9525 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
9526 Unify code from various alternatives.
9527
42bd17b7
RH
95282002-01-09 Richard Henderson <rth@redhat.com>
9529
9530 * regrename.c (copy_value): Ignore the copy if the source register
9531 is present in the value chain with a narrower mode.
9532
bdca3c33
HB
95332002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9534
cda94cbb
RH
9535 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
9536 for the c4x target. Also improve layout.
bdca3c33 9537
c73a5e94
RH
95382002-01-09 Richard Henderson <rth@redhat.com>
9539
9540 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
9541 * config/m32r/m32r.md (and ior xor splitters): Swap operands
9542 to match insn patterns.
9543
dd0a18c0
RH
95442002-01-09 Richard Henderson <rth@redhat.com>
9545
9546 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
9547 (copyprop_hardreg_forward_1): Likewise.
9548
1fd9ac1e
JDA
95492002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
9550
9551 * pa.md (decrement_and_branch_until_zero): Change predicate for
9552 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
9553
5cb265ec
BM
95542002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
9555
9556 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
9557 gets undefined. For Darwin.
9558
fcd8fa8b
HB
95592002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9560
9561 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
9562
bd3ab23a
MH
95632002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9564
9565 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
9566
21e16bd6
RH
95672002-01-08 Richard Henderson <rth@redhat.com>
9568
9569 * regrename.c (copy_value): Ignore overlapping copies.
9570
a5376276
RH
95712002-01-08 Richard Henderson <rth@redhat.com>
9572
9573 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
9574 as needed to avoid shared structure.
9575
18cf8dda
KH
95762002-01-08 Kazu Hirata <kazu@hxi.com>
9577
9578 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
9579 H8/300H and H8/S.
9580
16c484c7
JM
95812002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
9582
9583 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
9584 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
9585 documentation of obsolete macros.
9586 * system.h: Poison these macros.
9587 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
9588 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
9589 config/c4x/c4x.h, config/clipper/clipper.h,
9590 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
9591 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
9592 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
9593 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
9594 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
9595 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
9596 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
9597 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
9598 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
9599 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
9600 config/sparc/sparc.h, config/stormy16/stormy16.h,
9601 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
9602 definitions and commented out definitions of obsolete macros.
9603 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
9604 of MAX_INT_TYPE_SIZE.
9605
14b3e8ef
UW
96062002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
9607
9608 * config/s390/s390.c (s390_preferred_reload_class): Never
9609 return ADDR_REGS if it isn't a subset of the given class.
9610 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
9611 FP_REGS, but all superclasses as well.
9612
9613 * config/s390/s390.c (s390_function_profiler): Fix thinko.
9614
9615 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
9616 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
9617 must not be a const_int.
9618
a693284d
RH
96192002-01-08 Richard Henderson <rth@redhat.com>
9620
9621 * Makefile.in (toplev.o): Depend on options.h.
9622 (gcc.o): Depend on specs.h.
9623
b3ca30df
JJ
96242002-01-08 Jakub Jelinek <jakub@redhat.com>
9625
9626 * expr.c (store_expr): Convert VOIDmode constants back to target's
9627 mode.
9628
24dbb440
GP
96292002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9630
9631 * doc/invoke.texi: Markup gcc as @command. Refer to
9632 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
9633 of http://gcc.gnu.org/thanks.html.
9634
234e114c
DJ
96352002-01-08 Dale Johannesen <dalej@apple.com>
9636
9637 * config/rs6000/rs6000.md: Add missing int register
9638 target case to movdf_low.
9639
0d24f4d1
ZW
96402002-01-08 Zack Weinberg <zack@codesourcery.com>
9641
9642 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
9643 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
9644 (cppinit.o): Depend on except.h.
9645 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
9646 s-specs): New rules.
9647
9648 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
9649 Don't create specs.h/options.h/gencheck.h here. Remove
9650 unnecessary variable settings from last argument of AC_OUTPUT.
9651 * config.in, configure: Regenerate.
9652 * intl.c: Hardcode package name as "gcc".
9653
9654 * cppinit.c: Include except.h.
9655 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
9656 appropriate.
9657 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
9658 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
9659 (!)USING_SJLJ_EXCEPTIONS.
9660 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
9661
ed722f66
JM
96622002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
9663
9664 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
9665 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
9666 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
9667 documentation of obsolete macros.
9668 * system.h: Poison these macros.
9669 * config/d30v/d30v.h, config/ns32k/encore.h,
9670 config/stormy16/stormy16.h: Remove definitions and commented out
9671 definitions of obsolete macros.
9672
31e5e29a
NP
9673Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
9674
9675 * objc/objc-act.c (handle_class_ref): Mark the declaration of
9676 %sobjc_class_ref_%s as used - to prevent unwanted compiler
9677 warnings.
9678
bc1fa59c
UW
96792002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
9680
9681 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
9682 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
9683 to insn adjusting stack/frame pointer.
0d24f4d1 9684 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
9685 accept operands that cause the insn to be non-splittable.
9686
a8086abf
GS
96872002-01-08 Graham Stott <grahams@redhat.com>
9688
9689 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
9690 (C_TYPE_FIELDS_VOLATILE): Likewise.
9691 (C_TYPE_BEING_DEFINED): Likewise.
9692 (C_IS_RESERVED_WORD): Likewise.
9693 (C_TYPE_VARIABLE_SIZE): Likewise.
9694 (C_DECL_VARIABLE_SIZE): Likewise.
9695 (C_MISSING_PROTOTYPE_WARNED): Likewise.
9696 (C_SET_EXP_ORIGINAL_CODE): Likewise.
9697 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
9698 parenthesis.
9699 (C_DECL_ANTICIPATED): Likewise.
9700 (c_build_type_variant): Add parenthesis.
9701
3f595aa1
JM
97022002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
9703
9704 * gcc.c (option_map): Remove --version.
9705 (process_command): Handle -fversion following the GNU Coding
9706 Standards. Partially addresses PR other/704.
9707
5bc5a8f9
GS
97082002-01-08 Graham Stott <grahams@redhat.com>
9709
9710 * combine.c (combine_instructions): Fix typo.
9711
16ec4ebf
GS
97122002-01-08 Graham Stott <grahams@redhat.com>
9713
9714 * debug.h: Use "tree" and "rtx" throughout.
9715
9716 * debug.c: Likewise.
9717
4b69f385
NC
97182002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
9719
9720 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
9721 constant pool, use the pool's version of the symbol instead.
9722
57d1019b
RH
97232002-01-07 Richard Henderson <rth@redhat.com>
9724
9725 * regrename.c (find_oldest_value_reg): Ignore the value chain if
9726 the original register was copied in a mode with a fewer number of
9727 hard registers than the desired mode.
9728 (copyprop_hardreg_forward_1): Likewise.
9729 (debug_value_data): Fix loop test.
9730 * toplev.c (parse_options_and_default_flags): Reenable
9731 -fcprop-registers at -O1.
9732
97332002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 9734
0d24f4d1
ZW
9735 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
9736 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 9737
0d24f4d1
ZW
9738 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
9739 predicates.
fa066a23 9740
0d24f4d1 9741 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 9742
8f949e7e
JDA
97432002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
9744
9745 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
9746 (pa_output_function_prologue): Output local label at the beginning of
9747 the prologue when profiling.
9748 (hppa_profile_hook): Use the local label rather than the function label.
9749 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
9750
c62f2db5
AH
97512002-01-07 Aldy Hernandez <aldyh@redhat.com>
9752
0d24f4d1
ZW
9753 * config/rs6000/rs6000.c (print_operand): Remove extra space.
9754 (altivec_expand_unop_builtin): Fix thinko.
9755 (altivec_expand_binop_builtin): Same.
9756 (altivec_expand_ternop_builtin): Same.
9757 (altivec_expand_builtin): Same.
c62f2db5 9758
b5235ba7
RH
97592002-01-07 Richard Henderson <rth@redhat.com>
9760
9761 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
9762
7d8ac293
JM
97632002-01-07 Jason Merrill <jason@redhat.com>
9764
9765 * unwind-dw2.c (execute_cfa_program): Use < again.
9766
571a03b8
JJ
97672002-01-07 Jakub Jelinek <jakub@redhat.com>
9768
9769 * predict.c (combine_predictions_for_insn): Avoid division by zero.
9770
2e951384
JJ
97712002-01-07 Jakub Jelinek <jakub@redhat.com>
9772
9773 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
9774 Don't allow -1 - x -> ~x simplifications in the first pass.
9775
20e26713
AH
97762002-01-07 Aldy Hernandez <aldyh@redhat.com>
9777
0d24f4d1
ZW
9778 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
9779 arguments.
9780 (altivec_expand_binop_builtin): Same.
9781 (altivec_expand_unop_builtin): Same.
9782 (print_operand): Fix typo.
9783 (bdesc_1arg): Add vupk* variants.
20e26713 9784
0d24f4d1 9785 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 9786
0d24f4d1 9787 * rs6000.md: Add altivec_vupk* variants.
20e26713 9788
4dd57c18
JM
97892002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
9790
9791 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
9792 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
9793 and last update dates.
9794
0341c5d2
JJ
97952002-01-07 Janis Johnson <janis187@us.ibm.com>
9796
9797 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
9798
c7f3e0b0
MM
97992002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
9800
9801 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
9802 * config/avr/avr.h (CPP_SPEC): Likewise.
9803 (LINK_SPEC): Likewise.
9804 (CRT_BINUTILS_SPECS): Likewise.
9805 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
9806 * doc/invoke.texi (AVR Options): Document them.
9807
6ba4d630
JH
9808Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
9809
9810 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
9811 LABEL_NUSES.
9812
6253d571
GS
98132002-01-07 Graham Stott <grahams@redhat.com>
9814
0d24f4d1
ZW
9815 * config/i386/i386.h: Update copyright date.
9816 (HALF_PIC_PTR): Add parenthesis.
9817 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
9818 (CONSTANT_ALIGNMENT): Add parenthesis.
9819 (DATA_ALIGNMENT): Likewise.
9820 (LOCAL_ALIGNMENT): Likewise.
9821 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
9822 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
9823 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
9824 (HARD_REGNO_NREGS): Add paranethesis.
9825 (VALID_SSE_REG_MODE): Whitespace.
9826 (VALID_MMX_REG_MODE): Whitespace.
9827 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
9828 (ix86_hard_regno_mode_ok): Add parenthesis.
9829 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
9830 (RETURN_IN_MEMORY): Whitespace.
9831 (N_REG_CLASSES): Add parenthesis.
9832 (INTEGER_CLASS_P): Add parenthesis and wrap.
9833 (FLOAT_CLASS_P): Likewise.
9834 (SSE_CLASS_P): Likewise.
9835 (MMX_CLASS_P): Likewise.
9836 (MAYBE_INTEGER_CLASS_P): Likewise.
9837 (MAYBE_FLOAT_CLASS_P): Likewise.
9838 (MAYBE_SSE_CLASS_P): Likewise.
9839 (MAYBE_MMX_CLASS_P): Likewise.
9840 (Q_CLASS_P): Likewise.
9841 (GENERAL_REGNO_P): Uppercase macro parameter.
9842 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
9843 (FP_REGNO_P): Likewise.
9844 (ANY_FP_REGNO_P): Uppercase macro parameter.
9845 (SSE_REGNO_P): Likewise.
9846 (SSE_REGNO): Likewise.
9847 (SSE_REG_P): Likewise.
9848 (SSE_FLOAT_MODE_P): Likewise.
9849 (MMX_REGNO_P): Likewise.
9850 (MMX_REG_P):Likewise.
9851 (STACK_REG_P): Likewise.
9852 (NON_STACK_REG_P): Likewise.
9853 (STACK_TOP_P): Likewise.
9854 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
9855 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
9856 (SECONDARY_MEMORY_NEEDED): Likewise.
9857 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
9858 (MD_ASM_CLOBBERS): Whitespace and wrap.
9859 (MUST_PASS_IN_STACK): Whitespace and wrap.
9860 (RETURN_POPS_ARGS): Add parenthesis.
9861 (INIT_CUMULATIVE_ARGS): Likewise.
9862 (FUNCTION_ARG): Likewise.
9863 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
9864 (SETUP_INCOMING_VARARGS): Likewise.
9865 (BUILD_VA_LIST_TYPE): Add parenthesis.
9866 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
9867 parenthsis.
9868 (EXPAND_BUILTIN_VA_ARG): Likewise.
9869 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
9870 (INITIALIZE_TRAMPOLINE): Add parenthesis.
9871 (INITIAL_ELIMINATION_OFFSET): Likewise.
9872 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
9873 (REGNO_OK_FOR_BASE_P): Likewise.
9874 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
9875 (REGNO_OK_FOR_DIREG_P): Likewise.
9876 (REG_OK_FOR_INDEX_P): Whitespace.
9877 (REG_OK_FOR_BASE_P): Whitespace.
9878 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
9879 parenthesis.
9880 (FIND_BASE_TERM): Fix typo.
9881 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
9882 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
9883 (SYMBOLIC_CONST; Whitespace.
9884 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
9885 (ENCODE_SECTION_INFO): Whitespace.
9886 (FINALIZE_PIC): Remove do { ... } while (0).
9887 (PROMOTE_MODE): Wrap in do { ... } while (0).
9888 (CONST_COSTS): Whitespace.
9889 (RTX_COSTS): Add paramethesis, whitespace and wrap.
9890 (REGISTER_MOVE_COST): Add parenthesis.
9891 (MEMORY_MOVE_COST): Likewise.
9892 (EXTRA_CC_MODES): Whitespace.
9893 (SELECT_CC_MODE): Add parenthesis and whitespace.
9894 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
9895 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
9896 (ASM_OUTPUT_LABEL): Add paramethesis.
9897 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
9898 (ASM_OUTPUT_REG_POP): Likewise.
9899 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
9900 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 9901
07933f72
GS
9902 * config/i386/i386.c: Update copyright.
9903 (CHECK_STACK_LIMIT): Add parenthesis.
9904 (AT_BP): Uppercase macro parameter.
9905 (x86_64_int_parameter_registers): Constify.
9906 (x86_64_int_return_registers): Likewise.
9907 (ix86_compare_op0): Use rtx.
9908 (construct_container): Constify INTREG parameter.
9909 (function_arg): Use rtx.
9910
0b4d32c9
GS
9911 * diagnostic.h: Update copyright date.
9912 (output_buffer_state): Add parenthesis.
9913 (output_buffer_format_args): Likewise.
9914
6253d571
GS
9915 * combine.c (combine_instructions): Replace XEXP (links, 0)
9916 with link.
9917
68f3f6f1
L
99182002-01-06 H.J. Lu <hjl@gnu.org>
9919
9920 * cfgcleanup.c (thread_jump): Fix 2 typos.
9921
99222002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 9923
0d24f4d1 9924 * config.gcc: Add support for --enable-altivec.
480f7f3a 9925
13b8c631
CR
99262002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
9927
9928 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
9929
58ad89b1
JJ
99302002-01-06 Jakub Jelinek <jakub@redhat.com>
9931
9932 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
9933 __objc_class_name_*.
9934
e403b4bc
CR
99352002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
9936
9937 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
9938
e41c7831
RH
99392002-01-06 Richard Henderson <rth@redhat.com>
9940
9941 * reorg.c (emit_delay_sequence): Remove death notes, not merely
9942 nop them out. Increment label reference count for REG_LABEL.
9943 (fill_slots_from_thread): Frob label reference count around
9944 delete_related_insns.
9945
3b3b1e32
RH
99462002-01-05 Richard Henderson <rth@redhat.com>
9947
9948 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
9949 jump threading.
9950
c28abdf0
RH
99512002-01-05 Richard Henderson <rth@redhat.com>
9952
9953 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
9954 * integrate.c (output_inline_function): Likewise.
9955 * toplev.c (rest_of_compilation): Do it here instead. Move call
9956 to remove_unnecessary_notes after emitting abstract instance.
9957 Force an emitted nested function to have its parent emited as well.
9958 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
9959 for null.
9960 (rtl_for_decl_location): Do not look at reload data structures
9961 before reload has run.
9962
c4f2c499
KH
99632002-01-05 Kazu Hirata <kazu@hxi.com>
9964
9965 * cse.c: Fix formatting.
9966 * dwarf2asm.c: Likewise.
9967 * dwarf2out.c: Likewise.
9968 * explow.c: Likewise.
9969 * expmed.c: Likewise.
9970 * function.c: Likewise.
9971 * gcov.c: Likewise.
9972 * gencheck.c: Likewise.
9973 * genrecog.c: Likewise.
9974 * ggc-common.c: Likewise.
9975 * ggc-page.c: Likewise.
9976 * global.c: Likewise.
9977
cf0d9408
KH
99782002-01-05 Kazu Hirata <kazu@hxi.com>
9979
9980 * combine.c: Fix formatting.
9981
bedca03a
CR
99822002-01-05 Craig Rodrigues <crodrigu@bbn.com>
9983
9984 PR middle-end/1557
9985 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
9986
0134bf2d
DE
99872002-01-05 David Edelsohn <edelsohn@gnu.org>
9988
9989 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
9990 as 1 for __powerpc64__ as well.
9991
9992 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
9993
9994 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
9995 return it.
9996
9ca88d5a
DB
99972002-01-05 Daniel Berlin <dan@dberlin.org>
9998
9999 * lcm.c: Revert change, due to performance regression it causes on
10000 SPEC because it's slightly more conservative (sigh, I hate
10001 edge-based LCM).
0d24f4d1 10002
1c570418
JH
10003Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
10004
10005 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
10006
d83bb9f7
NB
100072002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
10008
10009 * doc/cppinternals.texi: Update.
10010
3e0f61ac
HPN
100112002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
10012
10013 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
10014 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
10015 negatives.
10016 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
10017 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
10018 kludge for pre-october-14th mmix versions to handle new-found bug
10019 with PUSHJ/PUSHGO and the register stack.
10020 * config/mmix/mmix.h (struct machine_function): Rename member
10021 has_call_value_without_parameters to has_call_without_parameters.
10022 All referers changed.
10023 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
10024 TARGET_MASK_BRANCH_PREDICT): New macros.
10025 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
10026 -mno-reg-stack-fill-bug-workaround.
10027 * config/mmix/mmix.md ("call"): Set struct machine member
10028 has_call_without_parameters.
10029
4deaa2f8
JH
10030Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
10031
10032 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
10033
9f16e871
JH
10034Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
10035
10036 * cfgcleanup.c: Include tm_p.h
10037 (mark_effect): Fix handling of hard register; fix handling of SET
10038
96eb1157
KH
100392002-01-04 Kazu Hirata <kazu@hxi.com>
10040
10041 * config/h8300/h8300.md (anonymous patterns): Check that
10042 operands are registers before using REGNO on them.
10043
48180d68
RM
100442002-01-03 Roland McGrath <roland@frob.com>
10045
10046 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
10047
b0832fe1
JJ
100482002-01-04 Jakub Jelinek <jakub@redhat.com>
10049
10050 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
10051 * c-common.h (genrtl_expr_stmt_value): Likewise.
10052 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
10053 (expand_expr_stmt_value): Add maybe_last argument.
10054 Don't warn about statement with no effect if it is the last statement
10055 in expression statement.
10056 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
10057 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
10058 expand_expr_stmt_value.
10059 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
10060 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
10061 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
10062 as maybe_last to expand_expr_stmt_value.
10063
c1e14513
JL
10064Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
10065
0d24f4d1
ZW
10066 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
10067 be passed in, do not build it.
10068 (c_begin_if_stmt): New function.
10069 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
10070 * c-common.h (c_expand_start_cond): Update prototype.
10071 (c_begin_if_stmt): Prototype new function.
10072 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
10073 * c-parse.in (if_prefix): Use c_begin_if_stmt,
10074 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 10075
b6ec437a
WC
100762002-01-04 William Cohen <wcohen@redhat.com>
10077
10078 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
10079 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
10080 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
10081 * config/pa/som.h (ASM_FILE_START): Likewise.
10082
ead39bdf 100832002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
10084
10085 * lcm.c: Include df.h.
10086 Add available_transfer_function prototype.
10087 (compute_available): Rework to use iterative dataflow framework.
10088 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
10089 with bb_info in df.h
10090 (available_transfer_function): New function.
10091
10092 * Makefile.in (lcm.o): add df.h to dependencies.
10093
551cc6fd
RH
100942002-01-04 Richard Henderson <rth@redhat.com>
10095
10096 * config/alpha/alpha.c (some_operand): Accept HIGH.
10097 (input_operand): Likewise; accept simple references to globals.
10098 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
10099 (alpha_const_double_ok_for_letter_p): Likewise.
10100 (alpha_extra_constraint): Likewise.
10101 (alpha_preferred_reload_class): Likewise. Do not force
10102 symbolic constants to memory.
10103 (alpha_legitimate_address_p): Accept simple references
10104 to small_symbolic_operand.
10105 (alpha_legitimize_address): New arg scratch. Be prepared to be
10106 called when no_new_pseudos. Emit simple symbolic references.
10107 Split integers into low, high, and rest.
10108 (alpha_expand_mov): Use alpha_legitimize_address.
10109 (some_small_symbolic_mem_operand): New.
10110 (split_small_symbolic_mem_operand): New.
10111 * config/alpha/alpha-protos.h: Update.
10112 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
10113 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
10114 (EXTRA_CONSTRAINT): Likewise.
10115 (PREFERRED_RELOAD_CLASS): Likewise.
10116 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
10117 (PREDICATE_CODES): Update.
10118 * config/alpha/alpha.md: New post-reload splitters to convert
10119 simplfied symbolic operands to the form that references $29.
10120 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
10121 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
10122
1eaea054
RH
101232002-01-03 Richard Henderson <rth@redhat.com>
10124
10125 * local-alloc.c (function_invariant_p): Update commentary.
10126
c4cc12b7
L
101272002-01-04 H.J. Lu <hjl@gnu.org>
10128
10129 * toplev.c (rest_of_compilation): Fix a typo when calling
10130 cleanup_cfg.
10131
173bf5be
KH
101322002-01-03 Kazu Hirata <kazu@hxi.com>
10133
10134 * c-common.c: Fix formatting.
10135 * diagnostic.c: Likewise.
10136 * doloop.c: Likewise.
10137 * dwarf2out.c: Likewise.
10138
187462ac
KH
101392002-01-03 Kazu Hirata <kazu@hxi.com>
10140
10141 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
10142 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
10143
5d8ebbd8
NB
101442002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
10145
10146 * cpperror.c: Update comments and copyright.
10147 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
10148 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
10149
518c1311
JDA
101502002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
10151
10152 * collect2.c (main): Use strcmp when testing for "-shared".
10153
d15a58c0
NB
101542002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
10155
10156 * cppmacro.c: Don't include intl.h. Update comments.
10157 (new_number_token): Allocate enough buffer for 64-bit unsigned
10158 integers; update prototype.
10159 * cppmain.c: Update comments.
10160
70f4f91c
WC
101612002-01-03 William Cohen <wcohen@redhat.com>
10162
10163 * function.h (struct function): Add profile.
10164 (current_function_profile): New.
10165 doc/extend.texi: Update documentation.
10166 * final.c (final_start_function): Use current_function_profile
10167 instead of profile_flag.
10168 (profile_after_prologue): Likewise.
10169 * function.c (expand_function_start): Likewise.
10170 (expand_function_start): Likewise.
c4cc12b7 10171 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
10172 (alpha_does_function_need_gp): Likewise.
10173 (alpha_expand_prologue): Likewise.
10174 * config/arm/arm.c (arm_expand_prologue): Likewise.
10175 thumb_expand_prologue: Likewise.
10176 * config/d30v/d30v.c (d30v_stack_info): Likewise.
10177 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
10178 (fr30_expand_prologue): Likewise.
10179 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
10180 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
10181 * config/i386/i386.h (FINALIZE_PIC): Likewise.
10182 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
10183 * config/i960/i960.c (i960_output_function_prologue): Likewise.
10184 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
10185 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
10186 (m32r_expand_prologue): Likewise.
10187 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
10188 (m88k_expand_prologue): Likewise.
10189 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
10190 * config/mips/mips.c (compute_frame_size): Likewise.
10191 (mips_expand_prologue): Likewise.
10192 (mips_can_use_return_insn): Likewise.
10193 * config/pa/elf.h (ASM_FILE_START): Likewise.
10194 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
10195 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
10196 * config/pa/som.h (ASM_FILE_START): Likewise.
10197 * config/romp/romp.c (romp_using_r14): Likewise.
10198 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
10199 (rs6000_stack_info): Likewise.
10200 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 10201 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
10202 * config/v850/v850.c (compute_register_save_size): Likewise.
10203
cb1ac742
JJ
102042002-01-03 Jakub Jelinek <jakub@redhat.com>
10205
10206 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
10207 gen_lowpart_common fails, use gen_lowpart_SUBREG.
10208
61d951df 102092002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 10210
61d951df
TC
10211 * darwin.c (machopic_output_possible_stub_label): Don't generate
10212 stub routines for pseudo-stubs which we've just defined.
10213
505ddab6
KH
102142002-01-03 Kazu Hirata <kazu@hxi.com>
10215
10216 * builtins.c: Fix formatting.
10217 * c-typeck.c: Likewise.
10218 * combine.c: Likewise.
10219 * expr.c: Likewise.
10220 * loop.c: Likewise.
10221
b7e30d8a
AS
102222002-01-03 Andreas Schwab <schwab@suse.de>
10223
10224 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
10225 and return true if _cpp_push_next_buffer pushed a new include
10226 file.
10227 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
10228 _cpp_pop_file_buffer did not push a new file.
10229 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
10230
ff81832f
EC
102312002-01-02 Eric Christopher <echristo@redhat.com>
10232
10233 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
10234 FIND_REG_INC_NOTE call. Update copyright.
10235 * loop.c (canonicalize_condition): Ditto.
10236 * reorg.c (delete_scheduled_jump): Ditto.
10237
8e42ace1
KH
102382002-01-03 Kazu Hirata <kazu@hxi.com>
10239
10240 * gcse.c: Fix formatting.
10241
fb2bf631
GS
102422002-01-03 Graham Stott <grahams@redhat.com>
10243
10244 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
10245 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 10246 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
10247
10248 * system.h: Move forward defs for struct tags rtx_def, union_tree,
10249 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 10250 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
10251
102522002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
10253
10254 * tree.h: Update copyright date.
10255 (IS_EXPR_CODE_CLASS): Add parenthesis.
10256 (TREE_SET_CODE): Add whitespace.
10257 (TREE_CHECK): Add parenthesis.
10258 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
10259 (CST_OR_CONSTRUCTOR_CHECK):
10260 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
10261 (TREE_SYMBOL_REFERENCED): Whitespace.
10262 (INT_CST_LT): Likewise.
10263 (INT_CST_LT_UNSIGNED): Likewise.
10264 (tree_real_cst): Unwrap comment.
10265 (tree_string): Likewise.
10266 (tree_complex): Likewise.
10267 (IDENTIFIER_POINTER): correct cast.
10268 (SAVE_EXPR_CONTEXT): Whitespace.
10269 (EXPR_WFL_FILENAME_NODE): Likewise.
10270 (EXPR_WFL_FILENAME): Remove parenthesis.
10271 (DECL_ORIGIN): Add parenthesis.
10272 (DECL_FROM_INLINE): Use NULL_TREE.
10273 (build_int_2): Whitespace.
10274 (build_type_variant): Add parenthesis.
10275
10276 * gcc/jcf-parse.c: Update copyright date.
10277 (yyparse): Constify resource_filename.
10278
f52eda29
GS
102792002-01-03 Graham Stott <grahams@redhat.com>
10280
10281 * rtl.h: Update copyright date.
10282 (RTL_CHECK1): Wrap long line.
10283 (RTL_CHECK2): Likewise.
10284 (RTL_CHECKC1): Wrap long line and whitespace.
10285 (RTL_CHECKC2): Likewise.
10286 (XWINT): Whitespace.
10287 (XINT): Likewise.
10288 (XSTR): Likewise.
10289 (XEXP): Likewise.
10290 (XVEC): Likewise.
10291 (XMODE): Likewise.
10292 (XBITMAP): Likewise.
10293 (XTREE): Likewise.
10294 (XBBDEF): Likewise.
10295 (XTMPL): Likewise.
10296 (X0WINT): Likewise.
10297 (X0INT):Likewise.
10298 (X0UINT): Likewise.
10299 (X0STR): Likewise.
10300 (X0EXP): Likewise.
10301 (X0VEC): Likewise.
10302 (X0MODE): Likewise.
10303 (X0BITMAP): Likewise.
10304 (X0TREE): Likewise.
10305 (X0BBDEF): Likewise.
10306 (X0ADVFLAGS): Likewise.
10307 (X0CSELIB): Likewise.
10308 (X0MEMATTR): Likewise.
10309 (XCWINT): Likewise.
10310 (XCINT): Likewise.
10311 (XCUINT): Likewise.
10312 (XCSTR): Likewise.
10313 (XCEXP): Likewise.
10314 (XCVEC): Likewise.
10315 (XCMODE): Likewise.
10316 (XCBITMAP): Likewise.
10317 (XCTREE): Likewise.
10318 (XCBBDEF): Likewise.
10319 (XCADVFLAGS): Likewise.
10320 (XCCSELIB): Likewise.
10321 (XC2EXP): Likewise.
10322 (INSN_UID): Likewise.
10323 (PREV_INSN): Likewise.
10324 (PATTERN): Likewise.
10325 (INSN_CODE): Likewise.
10326 (PUT_REG_NOTE_KIND): Likewise.
10327 (CODE_LABEL_NUMBER): Likewise.
10328 (NOTE_SOURCE_FILE): Likewise.
10329 (NOTE_BLOCK): Likewise.
10330 (NOTE_EH_HANDLER): Likewise.
10331 (NOTE_RANGE_INFO): Likewise.
10332 (NOTE_LIVE_INFO): Likewise.
10333 (NOTE_BASIC_BLOCK): Likewise.
10334 (NOTE_EXPECTED_VALUE): Likewise.
10335 (NOTE_LINE_NUMBER): Likewise.
10336 (LABEL_NAME): Likewise.
10337 (LABEL_NUSES): Likewise.
10338 (LABEL_ALTERNATE_NAME): Likewise.
10339 (ADDRESSOF_DECL): Likewise.
10340 (JUMP_LABEL): Likewise.
10341 (LABEL_NEXTREF): Likewise.
10342 (REGNO): Likewise.
10343 (ORIGINAL_REGNO: Likewise.
10344 (HARD_REGISTER_NUM_P): Add parenthesis.
10345 (SUBREG_REG): Whitespace.
10346 (SUBREG_BYTE): Likewise.
10347 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
10348 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
10349 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
10350 (ASM_OPERANDS_INPUT_VEC): Likewise.
10351 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
10352 (ASM_OPERANDS_INPUT): Likewise.
10353 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
10354 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
10355 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
10356 (ASM_OPERANDS_INPUT_MODE): Likewise.
10357 (ASM_OPERANDS_SOURCE_FILE): Likewise.
10358 (ASM_OPERANDS_SOURCE_LINE): Likewise.
10359 (MEM_SET_IN_STRUCT_P): Minor reformat.
10360 (TRAP_CONDITION): Whitespace.
10361 (TRAP_CODE): Likewise.
10362 (COND_EXEC_TEST): Likewise.
10363 (COND_EXEC_CODE): Likewise.
10364 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
10365 (PHI_NODE_P): Add parenthesis.
10366 (plus_constant): Whitespace and add parenthesis.
10367
e03f5d43
KH
103682002-01-03 Kazu Hirata <kazu@hxi.com>
10369
10370 * config/avr/avr.c: Fix comment typos.
10371 * config/c4x/c4x.md: Likewise.
10372 * config/dsp16xx/dsp16xx.h: Likewise.
10373 * config/dsp16xx/dsp16xx.md: Likewise.
10374 * config/i386/i386.md: Likewise.
10375 * config/ia64/ia64.c: Likewise.
10376 * config/m32r/m32r.h: Likewise.
10377 * config/m68hc11/m68hc11.md: Likewise.
10378 * config/mmix/mmix.c: Likewise.
10379 * config/mn10200/mn10200.c: Likewise.
10380 * config/romp/romp.c: Likewise.
10381 * config/sh/sh.c: Likewise.
10382 * config/stormy16/stormy16.c: Likewise.
10383 * config/stormy16/stormy16.h: Likewise.
10384 * config/stormy16/stormy16.md: Likewise.
10385
97e300e9
GS
103862002-01-03 Graham Stott <grahams@redhat.com>
10387
10388 * loop.h: Update copyright date.
0d24f4d1
ZW
10389 (LOOP_MOVABLES): Fix typo.
10390 (LOOP_REGS): Likewise.
10391 (LOOP_IVS): Likewise.
ff81832f 10392
745b26b3
GS
103932002-01-03 Graham Stott <grahams@redhat.com>
10394
10395 * cppinit.c: Update copyright date.
10396 Don't include output.h
10397 * Makefile.in: Update copyright date.
10398 Update dependency.
10399
0a379b7a
CR
104002002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
10401
10402 PR c/5226
10403 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
10404 (-pthread) Add to RS/6000 options.
10405
a8154559
KH
104062002-01-02 Kazu Hirata <kazu@hxi.com>
10407
10408 * except.c: Fix comment typos.
10409 * loop.c: Likewise.
10410 * varasm.c: Likewise.
10411 * doc/tm.texi: Fix a typo.
10412
e6ecc89b
JJ
104132002-01-02 Jakub Jelinek <jakub@redhat.com>
10414
10415 * c-typeck.c (output_init_element): Allow initializing static storage
10416 duration objects with compound literals.
10417
d1094b40
RH
104182002-01-02 Richard Henderson <rth@redhat.com>
10419
10420 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
10421 after abusing it.
10422
0c5d8c82
KG
104232002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10424
5e65297b
KG
10425 * gcc.c (default_compilers): Const-ify.
10426 * mips-tdump.c (stab_names): Likewise.
10427 * mips-tfile.c (map_coff_types, map_coff_storage,
10428 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
10429 pseudo_ops_t, pseudo_ops): Likewise.
10430 * protoize.c (default_include): Likewise
10431
0c5d8c82
KG
10432 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
10433 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
10434 Add array size in declaration.
10435 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
10436 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
10437 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
10438 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
10439 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
10440 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
10441 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
10442 emtens, make_nan): Const-ify.
10443 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
10444 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
10445
817e13c4
JM
104462002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
10447
10448 * config.gcc (ia64-*-*): Set extra_headers.
10449 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
10450 * config/alpha/t-osf: Remove.
10451 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
10452
98095e2b
DE
104532002-01-02 David Edelsohn <edelsohn@gnu.org>
10454
10455 * config/rs6000/t-aix43: Revert previous change.
10456
a4200657
JM
104572002-01-02 Jason Merrill <jason@redhat.com>
10458
10459 * c-decl.c (c_expand_body): Call outlining_inline_function when
10460 emitting an inline function out of line.
10461
54ba1f0d
RH
104622002-01-02 Richard Henderson <rth@redhat.com>
10463
10464 * dwarf2out.c (limbo_die_node): Add created_for member.
10465 (new_die): New argument created_for. Update all callers.
10466 (mark_limbo_die_list): New.
10467 (dwarf2out_init): Register limbo_die_list as a root.
10468 (dwarf2out_finish): Force insert limbo dies into their function
10469 context.
10470
323728aa
NS
104712002-01-02 Nathan Sidwell <nathan@codesourcery.com>
10472
10473 PR c++/5089
10474 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
10475
aefc5826
KH
104762002-01-02 Kazu Hirata <kazu@hxi.com>
10477
10478 * config/h8300/fixunssfsi.c: Update copyright.
10479 Fix comment typos.
10480 Fix formatting.
10481 * config/h8300/h8300.c: Update copyright.
10482 Eliminate warnings.
10483
b1c9bc51
KH
104842002-01-02 Kazu Hirata <kazu@hxi.com>
10485
10486 * config/romp/romp.c: Fix comment formatting.
10487 * config/romp/romp.h: Likewise.
10488 * config/romp/romp.md: Likewise.
10489 * config/s390/s390.c: Likewise.
10490 * config/stormy16/stormy16.c: Likewise.
10491 * config/stormy16/stormy16.h: Likewise.
10492
1574ef13
AO
104932002-01-02 Alexandre Oliva <aoliva@redhat.com>
10494
10495 * c-common.h (genrtl_expr_stmt_value): Declare.
10496 * c-semantics.c (genrtl_goto_stmt): Redirect to...
10497 (genrtl_goto_stmt_value): ... this new function. Pass new
10498 argument down to expand_expr_stmt_value, taking
10499 TREE_ADDRESSABLE into account.
10500 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
10501 STMT_EXPR as addressable, i.e., one whose result we want.
10502 * expr.c (expand_expr): Don't save expression statement value
10503 of labeled_blocks or loop_exprs.
10504 * stmt.c (expand_expr_stmt): Redirect to...
10505 (expand_expr_stmt_value): ... this new function. Use new
10506 argument to tell whether to save expression value.
10507 (expand_end_stmt_expr): Reset last_expr_type and
10508 last_expr_value if we don't have either.
10509 * tree-inline.c (declare_return_variable): Mark its use
10510 statement as addressable.
10511 * tree.h: Document new use of TREE_ADDRESSABLE.
10512 (expand_expr_stmt_value): Declare.
10513
252b88f7
TR
105142002-01-01 Tom Rix <trix@redhat.com>
10515
10516 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
10517 rs6000_emit_allocate_stack.
10518
29f7a208
JM
105192002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
10520
10521 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
10522 ${srcdir}/ginclude/ to every entry in extra_headers.
10523 * configure: Regenerate.
10524 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
10525 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
10526 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
10527 * ginclude/proto.h: Rename to config/convex/proto.h.
10528
2cc2d4bb
RK
10529Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10530
10531 * attribs.c (handle_vector_size_attribute): Use host_integerp
10532 and tree_int_cst; remove warnings.
10533 * caller-save.c (insert_restore): Add cast to get rid of warning.
10534 (insert_save): Likewise.
10535 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
10536 * regmove.c (find_matches): Add temporary var to kill a warning.
10537
f01c9bcd
DR
105382002-01-01 Douglas B Rupp <rupp@gnat.com>
10539
16b61764
DR
10540 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
10541 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
10542 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
10543 (vms-dwarf2eh.o): Add Makefile rule.
10544 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
10545 * config/alpha/vms-dwarf2eh.asm: New file.
10546
f01c9bcd
DR
10547 * gcc.c (delete_if_ordinary): Delete all versions.
10548
91312b81
HPN
105492002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
10550
10551 * config/mmix/mmix.md: Update FIXME to not mention
10552 define_constants.
10553 (MMIX_rJ_REGNUM): New define_constants constant.
10554 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
10555 "*movdicc_real"): Adjust contraints formatting.
10556 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
10557 for branch prediction.
10558 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
10559 output template.
10560 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
10561 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
10562 number. Delete related FIXMEs.
10563 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
10564 from number to MMIX_rJ_REGNUM.
10565 (TARGET_MASK_BRANCH_PREDICT): New.
10566 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
10567 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
10568 value. Add -mbranch-predict and -mno-branch-predict.
10569 (TARGET_VERSION): Drop date.
10570 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
10571 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
10572 for finding out global symbols.
10573 (mmix_asm_output_labelref): Revert condition for global symbol.
10574 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
10575 (mmix_print_operand_punct_valid_p): A '+' is valid.
10576
619acae7 10577See ChangeLog.6 for earlier changes.
This page took 1.412018 seconds and 5 git commands to generate.