1 2002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
3 * pa.md (decrement_and_branch_until_zero): Change predicate for
4 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
6 2002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
8 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
9 gets undefined. For Darwin.
11 2002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
13 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
15 2002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
17 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
19 2002-01-08 Richard Henderson <rth@redhat.com>
21 * regrename.c (copy_value): Ignore overlapping copies.
23 2002-01-08 Richard Henderson <rth@redhat.com>
25 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
26 as needed to avoid shared structure.
28 2002-01-08 Kazu Hirata <kazu@hxi.com>
30 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
33 2002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
35 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
36 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
37 documentation of obsolete macros.
38 * system.h: Poison these macros.
39 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
40 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
41 config/c4x/c4x.h, config/clipper/clipper.h,
42 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
43 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
44 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
45 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
46 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
47 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
48 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
49 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
50 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
51 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
52 config/sparc/sparc.h, config/stormy16/stormy16.h,
53 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
54 definitions and commented out definitions of obsolete macros.
55 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
58 2002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
60 * config/s390/s390.c (s390_preferred_reload_class): Never
61 return ADDR_REGS if it isn't a subset of the given class.
62 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
63 FP_REGS, but all superclasses as well.
65 * config/s390/s390.c (s390_function_profiler): Fix thinko.
67 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
68 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
69 must not be a const_int.
71 2002-01-08 Richard Henderson <rth@redhat.com>
73 * Makefile.in (toplev.o): Depend on options.h.
74 (gcc.o): Depend on specs.h.
76 2002-01-08 Jakub Jelinek <jakub@redhat.com>
78 * expr.c (store_expr): Convert VOIDmode constants back to target's
81 2002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
83 * doc/invoke.texi: Markup gcc as @command. Refer to
84 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
85 of http://gcc.gnu.org/thanks.html.
87 2002-01-08 Dale Johannesen <dalej@apple.com>
89 * config/rs6000/rs6000.md: Add missing int register
90 target case to movdf_low.
92 2002-01-08 Zack Weinberg <zack@codesourcery.com>
94 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
95 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
96 (cppinit.o): Depend on except.h.
97 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
100 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
101 Don't create specs.h/options.h/gencheck.h here. Remove
102 unnecessary variable settings from last argument of AC_OUTPUT.
103 * config.in, configure: Regenerate.
104 * intl.c: Hardcode package name as "gcc".
106 * cppinit.c: Include except.h.
107 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
109 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
110 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
111 (!)USING_SJLJ_EXCEPTIONS.
112 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
114 2002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
116 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
117 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
118 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
119 documentation of obsolete macros.
120 * system.h: Poison these macros.
121 * config/d30v/d30v.h, config/ns32k/encore.h,
122 config/stormy16/stormy16.h: Remove definitions and commented out
123 definitions of obsolete macros.
125 Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
127 * objc/objc-act.c (handle_class_ref): Mark the declaration of
128 %sobjc_class_ref_%s as used - to prevent unwanted compiler
131 2002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
133 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
134 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
135 to insn adjusting stack/frame pointer.
136 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
137 accept operands that cause the insn to be non-splittable.
139 2002-01-08 Graham Stott <grahams@redhat.com>
141 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
142 (C_TYPE_FIELDS_VOLATILE): Likewise.
143 (C_TYPE_BEING_DEFINED): Likewise.
144 (C_IS_RESERVED_WORD): Likewise.
145 (C_TYPE_VARIABLE_SIZE): Likewise.
146 (C_DECL_VARIABLE_SIZE): Likewise.
147 (C_MISSING_PROTOTYPE_WARNED): Likewise.
148 (C_SET_EXP_ORIGINAL_CODE): Likewise.
149 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
151 (C_DECL_ANTICIPATED): Likewise.
152 (c_build_type_variant): Add parenthesis.
154 2002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
156 * gcc.c (option_map): Remove --version.
157 (process_command): Handle -fversion following the GNU Coding
158 Standards. Partially addresses PR other/704.
160 2002-01-08 Graham Stott <grahams@redhat.com>
162 * combine.c (combine_instructions): Fix typo.
164 2002-01-08 Graham Stott <grahams@redhat.com>
166 * debug.h: Use "tree" and "rtx" throughout.
170 2002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
172 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
173 constant pool, use the pool's version of the symbol instead.
175 2002-01-07 Richard Henderson <rth@redhat.com>
177 * regrename.c (find_oldest_value_reg): Ignore the value chain if
178 the original register was copied in a mode with a fewer number of
179 hard registers than the desired mode.
180 (copyprop_hardreg_forward_1): Likewise.
181 (debug_value_data): Fix loop test.
182 * toplev.c (parse_options_and_default_flags): Reenable
183 -fcprop-registers at -O1.
185 2002-01-07 Aldy Hernandez <aldyh@redhat.com>
187 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
188 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
190 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
193 * config/rs6000/rs6000.md: Add altivec predicate patterns.
195 2002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
197 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
198 (pa_output_function_prologue): Output local label at the beginning of
199 the prologue when profiling.
200 (hppa_profile_hook): Use the local label rather than the function label.
201 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
203 2002-01-07 Aldy Hernandez <aldyh@redhat.com>
205 * config/rs6000/rs6000.c (print_operand): Remove extra space.
206 (altivec_expand_unop_builtin): Fix thinko.
207 (altivec_expand_binop_builtin): Same.
208 (altivec_expand_ternop_builtin): Same.
209 (altivec_expand_builtin): Same.
211 2002-01-07 Richard Henderson <rth@redhat.com>
213 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
215 2002-01-07 Jason Merrill <jason@redhat.com>
217 * unwind-dw2.c (execute_cfa_program): Use < again.
219 2002-01-07 Jakub Jelinek <jakub@redhat.com>
221 * predict.c (combine_predictions_for_insn): Avoid division by zero.
223 2002-01-07 Jakub Jelinek <jakub@redhat.com>
225 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
226 Don't allow -1 - x -> ~x simplifications in the first pass.
228 2002-01-07 Aldy Hernandez <aldyh@redhat.com>
230 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
232 (altivec_expand_binop_builtin): Same.
233 (altivec_expand_unop_builtin): Same.
234 (print_operand): Fix typo.
235 (bdesc_1arg): Add vupk* variants.
237 * rs6000.h (rs6000_builtins): Add vupk* enums.
239 * rs6000.md: Add altivec_vupk* variants.
241 2002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
243 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
244 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
245 and last update dates.
247 2002-01-07 Janis Johnson <janis187@us.ibm.com>
249 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
251 2002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
253 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
254 * config/avr/avr.h (CPP_SPEC): Likewise.
255 (LINK_SPEC): Likewise.
256 (CRT_BINUTILS_SPECS): Likewise.
257 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
258 * doc/invoke.texi (AVR Options): Document them.
260 Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
262 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
265 2002-01-07 Graham Stott <grahams@redhat.com>
267 * config/i386/i386.h: Update copyright date.
268 (HALF_PIC_PTR): Add parenthesis.
269 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
270 (CONSTANT_ALIGNMENT): Add parenthesis.
271 (DATA_ALIGNMENT): Likewise.
272 (LOCAL_ALIGNMENT): Likewise.
273 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
274 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
275 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
276 (HARD_REGNO_NREGS): Add paranethesis.
277 (VALID_SSE_REG_MODE): Whitespace.
278 (VALID_MMX_REG_MODE): Whitespace.
279 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
280 (ix86_hard_regno_mode_ok): Add parenthesis.
281 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
282 (RETURN_IN_MEMORY): Whitespace.
283 (N_REG_CLASSES): Add parenthesis.
284 (INTEGER_CLASS_P): Add parenthesis and wrap.
285 (FLOAT_CLASS_P): Likewise.
286 (SSE_CLASS_P): Likewise.
287 (MMX_CLASS_P): Likewise.
288 (MAYBE_INTEGER_CLASS_P): Likewise.
289 (MAYBE_FLOAT_CLASS_P): Likewise.
290 (MAYBE_SSE_CLASS_P): Likewise.
291 (MAYBE_MMX_CLASS_P): Likewise.
292 (Q_CLASS_P): Likewise.
293 (GENERAL_REGNO_P): Uppercase macro parameter.
294 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
295 (FP_REGNO_P): Likewise.
296 (ANY_FP_REGNO_P): Uppercase macro parameter.
297 (SSE_REGNO_P): Likewise.
298 (SSE_REGNO): Likewise.
299 (SSE_REG_P): Likewise.
300 (SSE_FLOAT_MODE_P): Likewise.
301 (MMX_REGNO_P): Likewise.
302 (MMX_REG_P):Likewise.
303 (STACK_REG_P): Likewise.
304 (NON_STACK_REG_P): Likewise.
305 (STACK_TOP_P): Likewise.
306 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
307 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
308 (SECONDARY_MEMORY_NEEDED): Likewise.
309 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
310 (MD_ASM_CLOBBERS): Whitespace and wrap.
311 (MUST_PASS_IN_STACK): Whitespace and wrap.
312 (RETURN_POPS_ARGS): Add parenthesis.
313 (INIT_CUMULATIVE_ARGS): Likewise.
314 (FUNCTION_ARG): Likewise.
315 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
316 (SETUP_INCOMING_VARARGS): Likewise.
317 (BUILD_VA_LIST_TYPE): Add parenthesis.
318 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
320 (EXPAND_BUILTIN_VA_ARG): Likewise.
321 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
322 (INITIALIZE_TRAMPOLINE): Add parenthesis.
323 (INITIAL_ELIMINATION_OFFSET): Likewise.
324 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
325 (REGNO_OK_FOR_BASE_P): Likewise.
326 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
327 (REGNO_OK_FOR_DIREG_P): Likewise.
328 (REG_OK_FOR_INDEX_P): Whitespace.
329 (REG_OK_FOR_BASE_P): Whitespace.
330 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
332 (FIND_BASE_TERM): Fix typo.
333 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
334 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
335 (SYMBOLIC_CONST; Whitespace.
336 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
337 (ENCODE_SECTION_INFO): Whitespace.
338 (FINALIZE_PIC): Remove do { ... } while (0).
339 (PROMOTE_MODE): Wrap in do { ... } while (0).
340 (CONST_COSTS): Whitespace.
341 (RTX_COSTS): Add paramethesis, whitespace and wrap.
342 (REGISTER_MOVE_COST): Add parenthesis.
343 (MEMORY_MOVE_COST): Likewise.
344 (EXTRA_CC_MODES): Whitespace.
345 (SELECT_CC_MODE): Add parenthesis and whitespace.
346 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
347 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
348 (ASM_OUTPUT_LABEL): Add paramethesis.
349 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
350 (ASM_OUTPUT_REG_POP): Likewise.
351 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
352 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
354 * config/i386/i386.c: Update copyright.
355 (CHECK_STACK_LIMIT): Add parenthesis.
356 (AT_BP): Uppercase macro parameter.
357 (x86_64_int_parameter_registers): Constify.
358 (x86_64_int_return_registers): Likewise.
359 (ix86_compare_op0): Use rtx.
360 (construct_container): Constify INTREG parameter.
361 (function_arg): Use rtx.
363 * diagnostic.h: Update copyright date.
364 (output_buffer_state): Add parenthesis.
365 (output_buffer_format_args): Likewise.
367 * combine.c (combine_instructions): Replace XEXP (links, 0)
370 2002-01-06 H.J. Lu <hjl@gnu.org>
372 * cfgcleanup.c (thread_jump): Fix 2 typos.
374 2002-01-06 Aldy Hernandez <aldyh@redhat.com>
376 * config.gcc: Add support for --enable-altivec.
378 2002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
380 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
382 2002-01-06 Jakub Jelinek <jakub@redhat.com>
384 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
387 2002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
389 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
391 2002-01-06 Richard Henderson <rth@redhat.com>
393 * reorg.c (emit_delay_sequence): Remove death notes, not merely
394 nop them out. Increment label reference count for REG_LABEL.
395 (fill_slots_from_thread): Frob label reference count around
396 delete_related_insns.
398 2002-01-05 Richard Henderson <rth@redhat.com>
400 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
403 2002-01-05 Richard Henderson <rth@redhat.com>
405 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
406 * integrate.c (output_inline_function): Likewise.
407 * toplev.c (rest_of_compilation): Do it here instead. Move call
408 to remove_unnecessary_notes after emitting abstract instance.
409 Force an emitted nested function to have its parent emited as well.
410 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
412 (rtl_for_decl_location): Do not look at reload data structures
413 before reload has run.
415 2002-01-05 Kazu Hirata <kazu@hxi.com>
417 * cse.c: Fix formatting.
418 * dwarf2asm.c: Likewise.
419 * dwarf2out.c: Likewise.
420 * explow.c: Likewise.
421 * expmed.c: Likewise.
422 * function.c: Likewise.
424 * gencheck.c: Likewise.
425 * genrecog.c: Likewise.
426 * ggc-common.c: Likewise.
427 * ggc-page.c: Likewise.
428 * global.c: Likewise.
430 2002-01-05 Kazu Hirata <kazu@hxi.com>
432 * combine.c: Fix formatting.
434 2002-01-05 Craig Rodrigues <crodrigu@bbn.com>
437 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
439 2002-01-05 David Edelsohn <edelsohn@gnu.org>
441 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
442 as 1 for __powerpc64__ as well.
444 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
446 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
449 2002-01-05 Daniel Berlin <dan@dberlin.org>
451 * lcm.c: Revert change, due to performance regression it causes on
452 SPEC because it's slightly more conservative (sigh, I hate
455 Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
457 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
459 2002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
461 * doc/cppinternals.texi: Update.
463 2002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
465 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
466 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
468 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
469 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
470 kludge for pre-october-14th mmix versions to handle new-found bug
471 with PUSHJ/PUSHGO and the register stack.
472 * config/mmix/mmix.h (struct machine_function): Rename member
473 has_call_value_without_parameters to has_call_without_parameters.
474 All referers changed.
475 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
476 TARGET_MASK_BRANCH_PREDICT): New macros.
477 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
478 -mno-reg-stack-fill-bug-workaround.
479 * config/mmix/mmix.md ("call"): Set struct machine member
480 has_call_without_parameters.
482 Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
484 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
486 Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
488 * cfgcleanup.c: Include tm_p.h
489 (mark_effect): Fix handling of hard register; fix handling of SET
491 2002-01-04 Kazu Hirata <kazu@hxi.com>
493 * config/h8300/h8300.md (anonymous patterns): Check that
494 operands are registers before using REGNO on them.
496 2002-01-03 Roland McGrath <roland@frob.com>
498 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
500 2002-01-04 Jakub Jelinek <jakub@redhat.com>
502 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
503 * c-common.h (genrtl_expr_stmt_value): Likewise.
504 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
505 (expand_expr_stmt_value): Add maybe_last argument.
506 Don't warn about statement with no effect if it is the last statement
507 in expression statement.
508 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
509 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
510 expand_expr_stmt_value.
511 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
512 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
513 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
514 as maybe_last to expand_expr_stmt_value.
516 Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
518 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
519 be passed in, do not build it.
520 (c_begin_if_stmt): New function.
521 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
522 * c-common.h (c_expand_start_cond): Update prototype.
523 (c_begin_if_stmt): Prototype new function.
524 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
525 * c-parse.in (if_prefix): Use c_begin_if_stmt,
526 c_begin_while_stmt and c_finish_while_stmt_cond.
528 2002-01-04 William Cohen <wcohen@redhat.com>
530 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
531 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
532 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
533 * config/pa/som.h (ASM_FILE_START): Likewise.
535 2001-01-04 Daniel Berlin <dan@cgsoftware.com>
537 * lcm.c: Include df.h.
538 Add available_transfer_function prototype.
539 (compute_available): Rework to use iterative dataflow framework.
540 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
542 (available_transfer_function): New function.
544 * Makefile.in (lcm.o): add df.h to dependencies.
546 2002-01-04 Richard Henderson <rth@redhat.com>
548 * config/alpha/alpha.c (some_operand): Accept HIGH.
549 (input_operand): Likewise; accept simple references to globals.
550 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
551 (alpha_const_double_ok_for_letter_p): Likewise.
552 (alpha_extra_constraint): Likewise.
553 (alpha_preferred_reload_class): Likewise. Do not force
554 symbolic constants to memory.
555 (alpha_legitimate_address_p): Accept simple references
556 to small_symbolic_operand.
557 (alpha_legitimize_address): New arg scratch. Be prepared to be
558 called when no_new_pseudos. Emit simple symbolic references.
559 Split integers into low, high, and rest.
560 (alpha_expand_mov): Use alpha_legitimize_address.
561 (some_small_symbolic_mem_operand): New.
562 (split_small_symbolic_mem_operand): New.
563 * config/alpha/alpha-protos.h: Update.
564 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
565 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
566 (EXTRA_CONSTRAINT): Likewise.
567 (PREFERRED_RELOAD_CLASS): Likewise.
568 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
569 (PREDICATE_CODES): Update.
570 * config/alpha/alpha.md: New post-reload splitters to convert
571 simplfied symbolic operands to the form that references $29.
572 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
573 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
575 2002-01-03 Richard Henderson <rth@redhat.com>
577 * local-alloc.c (function_invariant_p): Update commentary.
579 2002-01-04 H.J. Lu <hjl@gnu.org>
581 * toplev.c (rest_of_compilation): Fix a typo when calling
584 2002-01-03 Kazu Hirata <kazu@hxi.com>
586 * c-common.c: Fix formatting.
587 * diagnostic.c: Likewise.
588 * doloop.c: Likewise.
589 * dwarf2out.c: Likewise.
591 2002-01-03 Kazu Hirata <kazu@hxi.com>
593 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
594 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
596 2002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
598 * cpperror.c: Update comments and copyright.
599 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
600 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
602 2002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
604 * collect2.c (main): Use strcmp when testing for "-shared".
606 2002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
608 * cppmacro.c: Don't include intl.h. Update comments.
609 (new_number_token): Allocate enough buffer for 64-bit unsigned
610 integers; update prototype.
611 * cppmain.c: Update comments.
613 2002-01-03 William Cohen <wcohen@redhat.com>
615 * function.h (struct function): Add profile.
616 (current_function_profile): New.
617 doc/extend.texi: Update documentation.
618 * final.c (final_start_function): Use current_function_profile
619 instead of profile_flag.
620 (profile_after_prologue): Likewise.
621 * function.c (expand_function_start): Likewise.
622 (expand_function_start): Likewise.
623 * config/alpha/alpha.c (direct_call_operand):
624 (alpha_does_function_need_gp): Likewise.
625 (alpha_expand_prologue): Likewise.
626 * config/arm/arm.c (arm_expand_prologue): Likewise.
627 thumb_expand_prologue: Likewise.
628 * config/d30v/d30v.c (d30v_stack_info): Likewise.
629 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
630 (fr30_expand_prologue): Likewise.
631 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
632 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
633 * config/i386/i386.h (FINALIZE_PIC): Likewise.
634 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
635 * config/i960/i960.c (i960_output_function_prologue): Likewise.
636 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
637 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
638 (m32r_expand_prologue): Likewise.
639 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
640 (m88k_expand_prologue): Likewise.
641 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
642 * config/mips/mips.c (compute_frame_size): Likewise.
643 (mips_expand_prologue): Likewise.
644 (mips_can_use_return_insn): Likewise.
645 * config/pa/elf.h (ASM_FILE_START): Likewise.
646 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
647 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
648 * config/pa/som.h (ASM_FILE_START): Likewise.
649 * config/romp/romp.c (romp_using_r14): Likewise.
650 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
651 (rs6000_stack_info): Likewise.
652 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
653 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
654 * config/v850/v850.c (compute_register_save_size): Likewise.
656 2002-01-03 Jakub Jelinek <jakub@redhat.com>
658 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
659 gen_lowpart_common fails, use gen_lowpart_SUBREG.
661 2002-01-03 Turly O'Connor <turly@apple.com>
663 * darwin.c (machopic_output_possible_stub_label): Don't generate
664 stub routines for pseudo-stubs which we've just defined.
666 2002-01-03 Kazu Hirata <kazu@hxi.com>
668 * builtins.c: Fix formatting.
669 * c-typeck.c: Likewise.
670 * combine.c: Likewise.
674 2002-01-03 Andreas Schwab <schwab@suse.de>
676 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
677 and return true if _cpp_push_next_buffer pushed a new include
679 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
680 _cpp_pop_file_buffer did not push a new file.
681 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
683 2002-01-02 Eric Christopher <echristo@redhat.com>
685 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
686 FIND_REG_INC_NOTE call. Update copyright.
687 * loop.c (canonicalize_condition): Ditto.
688 * reorg.c (delete_scheduled_jump): Ditto.
690 2002-01-03 Kazu Hirata <kazu@hxi.com>
692 * gcse.c: Fix formatting.
694 2002-01-03 Graham Stott <grahams@redhat.com>
696 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
697 forward defs for struct tags rtx_def, union_tree, rtvec_def
698 also output corresponding typedefs for rtx, tree, and rtvec.
700 * system.h: Move forward defs for struct tags rtx_def, union_tree,
701 rtvec_def along with corresponding typedefs for rtx, tree, and
702 rtvec to config.h, hconfig.h, tconfig.h.
704 2002-01-03 Graham Stott <grahams@redhat.com>
706 * tree.h: Update copyright date.
707 (IS_EXPR_CODE_CLASS): Add parenthesis.
708 (TREE_SET_CODE): Add whitespace.
709 (TREE_CHECK): Add parenthesis.
710 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
711 (CST_OR_CONSTRUCTOR_CHECK):
712 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
713 (TREE_SYMBOL_REFERENCED): Whitespace.
714 (INT_CST_LT): Likewise.
715 (INT_CST_LT_UNSIGNED): Likewise.
716 (tree_real_cst): Unwrap comment.
717 (tree_string): Likewise.
718 (tree_complex): Likewise.
719 (IDENTIFIER_POINTER): correct cast.
720 (SAVE_EXPR_CONTEXT): Whitespace.
721 (EXPR_WFL_FILENAME_NODE): Likewise.
722 (EXPR_WFL_FILENAME): Remove parenthesis.
723 (DECL_ORIGIN): Add parenthesis.
724 (DECL_FROM_INLINE): Use NULL_TREE.
725 (build_int_2): Whitespace.
726 (build_type_variant): Add parenthesis.
728 * gcc/jcf-parse.c: Update copyright date.
729 (yyparse): Constify resource_filename.
731 2002-01-03 Graham Stott <grahams@redhat.com>
733 * rtl.h: Update copyright date.
734 (RTL_CHECK1): Wrap long line.
735 (RTL_CHECK2): Likewise.
736 (RTL_CHECKC1): Wrap long line and whitespace.
737 (RTL_CHECKC2): Likewise.
755 (X0BITMAP): Likewise.
758 (X0ADVFLAGS): Likewise.
759 (X0CSELIB): Likewise.
760 (X0MEMATTR): Likewise.
768 (XCBITMAP): Likewise.
771 (XCADVFLAGS): Likewise.
772 (XCCSELIB): Likewise.
774 (INSN_UID): Likewise.
775 (PREV_INSN): Likewise.
777 (INSN_CODE): Likewise.
778 (PUT_REG_NOTE_KIND): Likewise.
779 (CODE_LABEL_NUMBER): Likewise.
780 (NOTE_SOURCE_FILE): Likewise.
781 (NOTE_BLOCK): Likewise.
782 (NOTE_EH_HANDLER): Likewise.
783 (NOTE_RANGE_INFO): Likewise.
784 (NOTE_LIVE_INFO): Likewise.
785 (NOTE_BASIC_BLOCK): Likewise.
786 (NOTE_EXPECTED_VALUE): Likewise.
787 (NOTE_LINE_NUMBER): Likewise.
788 (LABEL_NAME): Likewise.
789 (LABEL_NUSES): Likewise.
790 (LABEL_ALTERNATE_NAME): Likewise.
791 (ADDRESSOF_DECL): Likewise.
792 (JUMP_LABEL): Likewise.
793 (LABEL_NEXTREF): Likewise.
795 (ORIGINAL_REGNO: Likewise.
796 (HARD_REGISTER_NUM_P): Add parenthesis.
797 (SUBREG_REG): Whitespace.
798 (SUBREG_BYTE): Likewise.
799 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
800 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
801 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
802 (ASM_OPERANDS_INPUT_VEC): Likewise.
803 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
804 (ASM_OPERANDS_INPUT): Likewise.
805 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
806 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
807 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
808 (ASM_OPERANDS_INPUT_MODE): Likewise.
809 (ASM_OPERANDS_SOURCE_FILE): Likewise.
810 (ASM_OPERANDS_SOURCE_LINE): Likewise.
811 (MEM_SET_IN_STRUCT_P): Minor reformat.
812 (TRAP_CONDITION): Whitespace.
813 (TRAP_CODE): Likewise.
814 (COND_EXEC_TEST): Likewise.
815 (COND_EXEC_CODE): Likewise.
816 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
817 (PHI_NODE_P): Add parenthesis.
818 (plus_constant): Whitespace and add parenthesis.
820 2002-01-03 Kazu Hirata <kazu@hxi.com>
822 * config/avr/avr.c: Fix comment typos.
823 * config/c4x/c4x.md: Likewise.
824 * config/dsp16xx/dsp16xx.h: Likewise.
825 * config/dsp16xx/dsp16xx.md: Likewise.
826 * config/i386/i386.md: Likewise.
827 * config/ia64/ia64.c: Likewise.
828 * config/m32r/m32r.h: Likewise.
829 * config/m68hc11/m68hc11.md: Likewise.
830 * config/mmix/mmix.c: Likewise.
831 * config/mn10200/mn10200.c: Likewise.
832 * config/romp/romp.c: Likewise.
833 * config/sh/sh.c: Likewise.
834 * config/stormy16/stormy16.c: Likewise.
835 * config/stormy16/stormy16.h: Likewise.
836 * config/stormy16/stormy16.md: Likewise.
838 2002-01-03 Graham Stott <grahams@redhat.com>
840 * loop.h: Update copyright date.
841 (LOOP_MOVABLES): Fix typo.
842 (LOOP_REGS): Likewise.
843 (LOOP_IVS): Likewise.
845 2002-01-03 Graham Stott <grahams@redhat.com>
847 * cppinit.c: Update copyright date.
848 Don't include output.h
849 * Makefile.in: Update copyright date.
852 2002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
855 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
856 (-pthread) Add to RS/6000 options.
858 2002-01-02 Kazu Hirata <kazu@hxi.com>
860 * except.c: Fix comment typos.
862 * varasm.c: Likewise.
863 * doc/tm.texi: Fix a typo.
865 2002-01-02 Jakub Jelinek <jakub@redhat.com>
867 * c-typeck.c (output_init_element): Allow initializing static storage
868 duration objects with compound literals.
870 2002-01-02 Richard Henderson <rth@redhat.com>
872 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
875 2002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
877 * gcc.c (default_compilers): Const-ify.
878 * mips-tdump.c (stab_names): Likewise.
879 * mips-tfile.c (map_coff_types, map_coff_storage,
880 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
881 pseudo_ops_t, pseudo_ops): Likewise.
882 * protoize.c (default_include): Likewise
884 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
885 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
886 Add array size in declaration.
887 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
888 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
889 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
890 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
891 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
892 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
893 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
894 emtens, make_nan): Const-ify.
895 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
896 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
898 2002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
900 * config.gcc (ia64-*-*): Set extra_headers.
901 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
902 * config/alpha/t-osf: Remove.
903 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
905 2002-01-02 David Edelsohn <edelsohn@gnu.org>
907 * config/rs6000/t-aix43: Revert previous change.
909 2002-01-02 Jason Merrill <jason@redhat.com>
911 * c-decl.c (c_expand_body): Call outlining_inline_function when
912 emitting an inline function out of line.
914 2002-01-02 Richard Henderson <rth@redhat.com>
916 * dwarf2out.c (limbo_die_node): Add created_for member.
917 (new_die): New argument created_for. Update all callers.
918 (mark_limbo_die_list): New.
919 (dwarf2out_init): Register limbo_die_list as a root.
920 (dwarf2out_finish): Force insert limbo dies into their function
923 2002-01-02 Nathan Sidwell <nathan@codesourcery.com>
926 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
928 2002-01-02 Kazu Hirata <kazu@hxi.com>
930 * config/h8300/fixunssfsi.c: Update copyright.
933 * config/h8300/h8300.c: Update copyright.
936 2002-01-02 Kazu Hirata <kazu@hxi.com>
938 * config/romp/romp.c: Fix comment formatting.
939 * config/romp/romp.h: Likewise.
940 * config/romp/romp.md: Likewise.
941 * config/s390/s390.c: Likewise.
942 * config/stormy16/stormy16.c: Likewise.
943 * config/stormy16/stormy16.h: Likewise.
945 2002-01-02 Alexandre Oliva <aoliva@redhat.com>
947 * c-common.h (genrtl_expr_stmt_value): Declare.
948 * c-semantics.c (genrtl_goto_stmt): Redirect to...
949 (genrtl_goto_stmt_value): ... this new function. Pass new
950 argument down to expand_expr_stmt_value, taking
951 TREE_ADDRESSABLE into account.
952 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
953 STMT_EXPR as addressable, i.e., one whose result we want.
954 * expr.c (expand_expr): Don't save expression statement value
955 of labeled_blocks or loop_exprs.
956 * stmt.c (expand_expr_stmt): Redirect to...
957 (expand_expr_stmt_value): ... this new function. Use new
958 argument to tell whether to save expression value.
959 (expand_end_stmt_expr): Reset last_expr_type and
960 last_expr_value if we don't have either.
961 * tree-inline.c (declare_return_variable): Mark its use
962 statement as addressable.
963 * tree.h: Document new use of TREE_ADDRESSABLE.
964 (expand_expr_stmt_value): Declare.
966 2002-01-01 Tom Rix <trix@redhat.com>
968 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
969 rs6000_emit_allocate_stack.
971 2002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
973 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
974 ${srcdir}/ginclude/ to every entry in extra_headers.
975 * configure: Regenerate.
976 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
977 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
978 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
979 * ginclude/proto.h: Rename to config/convex/proto.h.
981 Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
983 * attribs.c (handle_vector_size_attribute): Use host_integerp
984 and tree_int_cst; remove warnings.
985 * caller-save.c (insert_restore): Add cast to get rid of warning.
986 (insert_save): Likewise.
987 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
988 * regmove.c (find_matches): Add temporary var to kill a warning.
990 2002-01-01 Douglas B Rupp <rupp@gnat.com>
992 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
993 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
994 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
995 (vms-dwarf2eh.o): Add Makefile rule.
996 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
997 * config/alpha/vms-dwarf2eh.asm: New file.
999 * gcc.c (delete_if_ordinary): Delete all versions.
1001 2002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
1003 * config/mmix/mmix.md: Update FIXME to not mention
1005 (MMIX_rJ_REGNUM): New define_constants constant.
1006 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
1007 "*movdicc_real"): Adjust contraints formatting.
1008 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
1009 for branch prediction.
1010 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
1012 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
1013 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
1014 number. Delete related FIXMEs.
1015 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
1016 from number to MMIX_rJ_REGNUM.
1017 (TARGET_MASK_BRANCH_PREDICT): New.
1018 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
1019 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
1020 value. Add -mbranch-predict and -mno-branch-predict.
1021 (TARGET_VERSION): Drop date.
1022 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
1023 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
1024 for finding out global symbols.
1025 (mmix_asm_output_labelref): Revert condition for global symbol.
1026 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
1027 (mmix_print_operand_punct_valid_p): A '+' is valid.
1029 See ChangeLog.6 for earlier changes.