1 2003-04-07 Loren James Rittle <ljrittle@acm.org>
3 * cpppch.c (cpp_valid_state): Unconditionally initialize nl.
5 2003-04-17 Kazu Hirata <kazu@cs.umass.edu>
7 * reload1.c (move2add_last_cc0): New.
8 (reload_cse_move2add): Detect implicit sets.
9 (move2add_note_store): Notice a store into cc0.
11 2003-04-17 Roger Sayle <roger@eyesopen.com>
14 * c-decl.c (duplicate_decls): Preserve "const" and "noreturn"
17 2003-04-17 Janis Johnson <janis187@us.ibm.com>
19 * doc/sourcebuild.texi (Test Suites): Document support for testing
20 binary compatibility (moved from testsuite/README.compat).
22 2003-04-17 Richard Henderson <rth@redhat.com>
24 * config/ia64/ia64.c (ia64_in_small_data_p): Disallow strings.
26 2003-04-17 Simon Law <sfllaw@engmail.uwaterloo.ca>
28 * doc/include/gpl.texi: Fix double-spacing after "MA" to match
29 the one provided by the FSF.
31 2003-04-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
33 * doc/install.texi (Binaries): Update URL and list of platforms
34 provided by ftp.thewrittenword.com.
36 2003-04-17 Richard Henderson <rth@redhat.com>
38 * config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
39 (call_insn_operand): Use SYMBOL_REF_LOCAL_P.
40 * config/xtensa/xtensa.md (call, call_value): Likewise.
42 2003-04-17 Richard Henderson <rth@redhat.com>
44 * config/v850/v850.c (print_operand): Use SYMBOL_REF_[ZST]DA.
45 (print_operand_address): Likewise.
46 (ep_memory_operand): Likewise.
47 (special_symbolref_operand): Likewise.
48 (v850_encode_data_area): Use SYMBOL_REF_FLAGS.
49 (v850_encode_section_info): Call default_encode_section_info.
50 (v850_strip_name_encoding): Remove.
51 * config/v850/v850.h (EXTRA_CONSTRAINT): Use SYMBOL_REF_[ZST]DA.
52 (ASM_OUTPUT_LABELREF): Remove.
53 (ZDA_NAME_FLAG_CHAR, ZDA_NAME_P): Remove.
54 (SDA_NAME_FLAG_CHAR, SDA_NAME_P): Remove.
55 (TDA_NAME_FLAG_CHAR, TDA_NAME_P): Remove.
56 (ENCODED_NAME_P): Remove.
57 (SYMBOL_FLAG_ZDA, SYMBOL_REF_ZDA_P): New.
58 (SYMBOL_FLAG_SDA, SYMBOL_REF_SDA_P): New.
59 (SYMBOL_FLAG_TDA, SYMBOL_REF_TDA_P): New.
61 2003-04-17 Richard Henderson <rth@redhat.com>
63 * config/stormy16/stormy16.c (xstormy16_encode_section_info): Kill.
64 * config/stormy16/stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use
65 SYMBOL_REF_FUNCTION_P.
67 2003-04-17 Richard Henderson <rth@redhat.com>
69 * config/sparc/sparc.c (sparc_encode_section_info): Remove.
70 (data_segment_operand): Use SYMBOL_REF_FUNCTION_P.
71 (text_segment_operand): Likewise.
73 2003-04-17 Richard Henderson <rth@redhat.com>
75 * config/sh/sh.c (gen_datalabel_ref): Don't add SH_DATALABEL_ENCODING.
76 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
77 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
78 (sh_encode_section_info): Remove.
79 (sh_strip_name_encoding): Remove.
80 * config/sh/sh.h (SH_DATALABEL_ENCODING): Remove.
81 (DATALABEL_SYMNAME_P, STRIP_DATALABEL_ENCODING): Remove.
82 (SH_TLS_ENCODING, TLS_SYMNAME_P, STRIP_TLS_ENCODING): Remove.
83 (ASM_OUTPUT_LABELREF): Remove.
84 (ASM_OUTPUT_SYMBOL_REF): Use SYMBOL_REF_FUNCTION_P.
85 * config/sh/sh.md (*): Use SYMBOL_REF_LOCAL_P.
87 2003-04-17 Richard Henderson <rth@redhat.com>
89 * config/s390/s390.c (SYMBOL_FLAG_ALIGN1): New.
90 (tls_model_chars): Remove.
91 (larl_operand): Use SYMBOL_REF_FLAGS.
92 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
93 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
94 (s390_output_mi_thunk): Likewise.
95 (s390_emit_prologue): Set SYMBOL_FLAG_LOCAL as needed.
96 (s390_function_profiler): Likewise.
97 (s390_encode_section_info): Use default_encode_section_info
98 and SYMBOL_FLAG_ALIGN1.
99 (s390_strip_name_encoding): Remove.
100 * config/s390/s390.h (ASM_OUTPUT_LABELREF): Remove.
101 * config/s390/s390.md (call, call_value): Use SYMBOL_REF_LOCAL_P.
102 (builtin_setjmp_receiver): Set SYMBOL_FLAG_LOCAL as needed.
104 2003-04-17 Richard Henderson <rth@redhat.com>
106 * config/ns32k/ns32k.c (ns32k_encode_section_info): Remove.
107 (global_symbolic_reference_mentioned_p): Use SYMBOL_REF_LOCAL_P.
108 (print_operand_address): Likewise.
110 * config/ns32k/ns32k.h (CANNOT_CHANGE_MODE_CLASS): Add CLASS argument.
111 * config/ns32k/ns32k.c (expand_block_move): Don't check
114 2003-04-17 Richard Henderson <rth@redhat.com>
116 * config/mcore/mcore.c (mcore_encode_section_info): Don't set
119 2003-04-17 Richard Henderson <rth@redhat.com>
121 * rtl.h (SYMBOL_FLAG_MACH_DEP_SHIFT): New.
123 * config/m32r/m32r.c (SYMBOL_FLAG_MODEL_SHIFT): New.
124 (SYMBOL_REF_MODEL): New.
125 (LIT_NAME_P): Move from m32r.h.
126 (m32r_select_section): Remove.
127 (m32r_encode_section_info): Use SYMBOL_REF_FLAGS.
128 (m32r_strip_name_encoding): Remove.
129 (m32r_in_small_data_p): New.
130 (small_data_operand): Use SYMBOL_REF_SMALL_P.
131 (addr24_operand): Use SYMBOL_REF_MODEL.
132 (call26_operand): Likewise.
133 (addr32_operand): Tidy.
134 (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
135 * config/m32r/m32r.h (RODATA_SECTION_ASM_OP): Remove.
136 (SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Remove.
137 (READONLY_DATA_SECTION_ASM_OP): Remove.
138 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
139 (SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Remove.
140 (TARGET_ASM_SELECT_SECTION): Remove.
141 (SDATA_FLAG_CHAR, MEDIUM_FLAG_CHAR, LARGE_FLAG_CHAR): Remove.
142 (SDATA_NAME_P, SMALL_NAME_P, MEDIUM_NAME_P): Remove.
143 (LARGE_NAME_P, ENCODED_NAME_P): Remove.
144 (ASM_OUTPUT_LABELREF): Remove.
146 2003-04-17 Richard Henderson <rth@redhat.com>
148 * config/ip2k/ip2k.c (is_regfile_address): Use SYMBOL_REF_FUNCTION_P.
149 (encode_section_info): Remove.
150 * config/ip2k/ip2k-protos.h: Update.
152 2003-04-17 Richard Henderson <rth@redhat.com>
154 * varasm.c (default_encode_section_info): Don't set
155 SYMBOL_FLAG_EXTERNAL if not TREE_PUBLIC.
156 * config/i370/i370.c (i370_encode_section_info): Remove.
157 * config/i370/i370.h (CONSTANT_ADDRESS_P): Use SYMBOL_REF_EXTERNAL_P.
158 (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Likewise.
159 * config/i370/i370.md (movsi): Likewise.
161 * config/i370/t-i370: Add missing backslash.
163 2003-04-17 Eric Botcazou <ebotcazou@libertysurf.fr>
165 * doc/invoke.texi (inline-limit): Fix pasto.
167 2003-04-17 Richard Henderson <rth@redhat.com>
169 * config/h8300/h8300.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): New.
170 (small_call_insn_operand): Use it.
171 (SYMBOL_FLAG_EIGHTBIT_DATA): New.
172 (h8300_eightbit_constant_address_p): Use it.
173 (SYMBOL_FLAG_TINY_DATA): New.
174 (h8300_tiny_constant_address_p): Use it.
175 (h8300_encode_label, h8300_strip_name_encoding): Remove.
176 (h8300_encode_section_info): Set SYMBOL_REF_FLAGS.
177 * config/h8300/h8300.h (TINY_DATA_NAME_P): Remove.
178 (ASM_OUTPUT_LABELREF): Remove.
180 2003-04-16 Richard Henderson <rth@redhat.com>
182 * config/frv/frv.c (symbol_ref_small_data_p): Remove. Replace
183 all users with SYMBOL_REF_SMALL_P.
184 (const_small_data_p): Use SYMBOL_REF_SMALL_P.
185 (frv_encode_section_info): Remove.
186 (frv_strip_name_encoding): Remove.
187 (frv_in_small_data_p): Merge tests from encode_section_info.
188 (frv_print_operand): Use '@' not SDATA_FLAG_CHAR.
189 * config/frv/frv.h (SDATA_FLAG_CHAR): Remove.
190 (SDATA_NAME_P): Remove.
191 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use SIZE not SDATA_NAME_P.
192 (ASM_OUTPUT_LABELREF): Remove.
193 (PRINT_OPERAND_PUNCT_VALID_P): Use '@' not SDATA_FLAG_CHAR.
195 * config/frv/frv.c (frv_asm_out_constructor): New.
196 (frv_asm_out_destructor): New.
197 * config/frv/frv.h (CTORS_SECTION_ASM_OP): New.
198 (DTORS_SECTION_ASM_OP): New.
199 (ASM_OUTPUT_CONSTRUCTOR): Remove.
200 (ASM_OUTPUT_DESTRUCTOR): Remove.
202 2003-04-16 Richard Henderson <rth@redhat.com>
204 * config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use
205 SYMBOL_REF_LOCAL_P; abort if not pic.
206 (cris_encode_section_info): Remove.
208 2003-04-16 Richard Henderson <rth@redhat.com>
210 * config/c4x/c4x.c (c4x_encode_section_info): Remove.
211 (c4x_T_constraint): Use SYMBOL_REF_FUNCTION_P.
213 * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Declare
216 2003-04-16 Richard Henderson <rth@redhat.com>
218 * config/avr/avr.c (avr_encode_section_info): Remove.
219 (avr_insert_attributes): New.
220 (print_operand_address): Use SYMBOL_REF_FUNCTION_P.
221 (avr_assemble_integer): Likewise.
223 2003-04-16 Richard Henderson <rth@redhat.com>
225 * arc.c (arc_encode_section_info): Remove.
226 (arc_assemble_integer): Use SYMBOL_REF_FUNCTION_P.
227 (arc_print_operand, arc_print_operand_address): Likewise.
228 * arc.h (EXTRA_CONSTRAINT): Likewise.
230 2003-04-16 Roger Sayle <roger@eyesopen.com>
232 * c-semantics.c (find_reachable_label): New function to find a
233 potentially reachable label in an expression.
234 (expand_unreachable_if_stmt): Similar to expand_if_stmt but
235 assumes the start of the IF_STMT is unreachable (dead) code.
236 (expand_unreachable_stmt): Similar to expand_stmt but assumes
237 the start of the statement list is unreachable (dead) code.
238 (genrtl_if_stmt): If the controlling expression of the IF
239 is constant, use expand_unreachable_stmt for the THEN or ELSE
240 clause as appropriate.
241 (genrtl_switch_stmt): Use expand_unreachable_stmt to expand
242 the body of a SWITCH statement.
243 (expand_stmt): The code immediately following a "return",
244 "break", "continue" or "goto" is unreachable.
245 * Makefile.in (c-semantics.o): Depend upon tree-inline.h.
247 2003-04-16 Richard Henderson <rth@redhat.com>
249 * rtl.h (MEM_ALIAS_SET): Update documentation.
250 * doc/rtl.texi (Special Accessors): New node.
251 (SYMBOL_REF_FLAG): Note relationship with SYMBOL_REF_FLAGS.
253 2003-04-16 Alexandre Oliva <aoliva@redhat.com>
255 * reload1.c (reload_cse_noop_set_p): Return false if mode of
256 SET_DEST is not the same as that returned by...
257 * cselib.h (cselib_reg_set_mode): ... new function.
258 * cselib.c (cselib_reg_set_mode): Define it.
259 (REG_VALUES): Document semantics of first element as set mode.
260 (cselib_subst_to_values): Skip first element if ELT is NULL.
261 (cselib_lookup): Likewise. Insert past the first element.
262 (cselib_invalidate_regno): NULLify first element.
263 (cselib_record_set): Set first element.
265 2003-04-16 Olivier Hainque <hainque@act-europe.fr>
267 * tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions.
268 (save_expr): Replace loop by call to skip_simple_arithmetics_at.
269 * tree.h: Add prototypes for the two new functions.
270 * fold-const.c (fold_binary_op_with_conditional_arg): Replace test
271 updates introduced in the previous revision by call to saved_expr_p.
272 * stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at.
274 * expr.c (store_field): Force usage of bitfield instructions when
275 the field position requires it, whatever SLOW_UNALIGNED_ACCESS.
276 (expand_expr, case BIT_FIELD_REF): likewise.
278 2003-04-16 Mark Mitchell <mark@codesourcery.com>
281 * cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
284 2003-04-16 Richard Henderson <rth@redhat.com>
286 * config/ia64/ia64.c (sdata_symbolic_operand): Use
287 SYMBOL_REF_SMALL_P and SYMBOL_REF_LOCAL_P.
288 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
289 (function_operand): Use SYMBOL_REF_FUNCTION_P.
290 (ia64_expand_load_address): Likewise.
291 (ia64_assemble_integer): Likewise.
292 (ia64_encode_section_info): Remove.
293 (ia64_strip_name_encoding): Remove.
294 * config/ia64/ia64.h (ENCODE_SECTION_INFO_CHAR): Remove.
295 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't strip it.
297 2003-04-16 Richard Henderson <rth@redhat.com>
299 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): New.
300 (samegp_function_operand): Use SYMBOL_FLAG_SAMEGP.
301 (direct_call_operand): Use SYMBOL_FLAG_NEAR.
302 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
303 (small_symbolic_operand): Use SYMBOL_REF_SMALL_P.
304 (global_symbolic_operand): Similarly.
305 (tls_symbolic_operand_1): Use SYMBOL_REF_TLS_MODEL.
306 (tls_symbolic_operand_type): Likewise.
307 (alpha_encode_section_info): Use default_encode_section_info.
308 (alpha_strip_name_encoding): Remove.
309 (get_tls_get_addr): Split out from ...
310 (alpha_legitimize_address): ... here.
311 (alpha_emit_xfloating_libcall): Use init_one_libfunc.
312 (get_some_local_dynamic_name_1): Use SYMBOL_REF_TLS_MODEL.
313 (alpha_initialize_trampoline): Use init_one_libfunc.
314 (alpha_setup_incoming_varargs): Mark unused parameters.
315 (alpha_initial_elimination_offset): Likewise.
316 (alpha_end_function): Use SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP.
317 (unicosmk_unique_section): Use default_strip_name_encoding.
318 (unicosmk_ssib_name, unicosmk_output_externs): Likewise.
320 2003-04-16 Aldy Hernandez <aldyh@redhat.com>
322 * config.gcc: Add t-spe for eabispe.
324 * config/rs6000/t-spe: New.
326 2003-04-16 J"orn Rennecke <joern.rennecke@superh.com>
330 2002-05-16 Dale Johannesen <dalej@apple.com>
331 * combine.c (cant_combine_insn_p): Reenable combinations
332 involving hard regs unless CLASS_LIKELY_SPILLED_P.
334 2003-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
337 * pa-protos.h (function_arg): Remove last argument.
338 * pa.c (function_arg): Likewise. Use CUMULATIVE_ARGS struct instead.
339 * pa.h (struct hppa_args): Add member incoming.
340 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize
342 (FUNCTION_ARG): Revise call to function_arg.
343 (FUNCTION_INCOMING_ARG): Delete.
345 2003-04-15 Zack Weinberg <zack@codesourcery.com>
347 * configure.in: Unify the code which creates symlinks to a
348 just-built as, ld, objdump, and nm with the code that detects
349 their presence for purposes of feature tests.
350 * configure: Regenerate.
352 2003-04-15 Zack Weinberg <zack@codesourcery.com>
354 * varasm.c (output_constant_def): Do not consult
355 CONSTANT_AFTER_FUNCTION_P. Remove all code predicated on it.
356 (after_function_constants, output_after_function_constants): Delete.
357 * doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P.
358 * config/mips/mips-protos.h, config/mips/mips.c
359 (mips16_constant_after_function_p): Delete.
360 * config/mips/mips.h: Delete #if-0-ed definition of
361 CONSTANT_AFTER_FUNCTION_P.
362 * config/d30v/d30v.h, config/stormy16/stormy16.h: Remove
363 mention of CONSTANT_AFTER_FUNCTION_P in comment.
365 2003-04-15 Geoffrey Keating <geoffk@apple.com>
367 * tree.c (next_decl_uid): Mark with GTY.
368 (next_type_uid): Likewise.
370 2003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
373 * sh.c (barrier_align): Also recognize stuff_delay_slot as
374 an indicator that a barrier was created by branch splitting.
376 2003-04-15 Mark Mitchell <mark@codesourcery.com>
378 * c-decl.c (implicitly_declare): Copy declarations that are going
379 to be placed in a local scope.
381 2003-04-15 James A. Morrison <ja2morri@uwaterloo.ca>
383 * invoke.texi (Spec Files): Wrap if-exists-else example.
384 (MCore): Remove duplicate @itemx entries and @opindex entries.
386 2003-04-15 Ulrich Weigand <uweigand@de.ibm.com>
388 * unwind.inc (_Unwind_Backtrace): New function.
389 * unwind.h (_Unwind_Backtrace): Declare it.
390 * libgcc-std.ver (_Unwind_Backtrace): Export it.
392 2003-04-14 Jason Merrill <jason@redhat.com>
394 PR middle-end/10336, c++/10401
395 * jump.c (never_reached_warning): Also stop looking if we reach the
396 beginning of the function.
398 2003-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
403 * fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
405 2003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
407 * i386.md (abssf2_if+1): Make condition agree with abssf2_1 .
409 2003-04-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
411 * optabs.c (expand_binop): In multi-word add cases, ensure
412 XTARGET is copied to TARGET if they are different.
414 2003-04-15 Olivier Hainque <hainque@act-europe.fr>
416 * except.c (resolve_fixup_regions): Avoid dereferencing null pointer
417 to region, possible after integration of function with unreachable
418 regions that were optimized away.
420 2003-04-15 Jakub Jelinek <jakub@redhat.com>
422 * config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
423 instead of TOC_REGISTER in epilogue in
424 current_function_calls_eh_return functions.
426 2003-04-14 Mark Mitchell <mark@codesourcery.com>
428 * doc/extend.texi (Empty Structures): Correct description of G++'s
429 handling of these structures.
431 * c-decl.c (grokdeclarator): Reject extern redeclarations of
434 2003-04-14 Janis Johnson <janis287@us.ibm.com>
436 * config/rs6000/rs6000.md (define_constants): Define constants for
437 all UNSPEC usage, including new values for TLS support.
438 (aux_truncdfsf2, fctiwz, movsi_got, movsi_got_internal,
439 load_toc_aix_si, load_toc_aix_di, load_toc_v4_pic_si,
440 load_toc_v4_PIC_1, load_toc_v4_PIC_1b, load_macho_picbase,
441 macho_correct_pic, blockage, move_from_CR_ov_bit, movesi_from_cr,
442 stack_tie, movsi_to_cr_one, movsi_to_cr, mtcrfsi, eh_set_lr_si,
443 eh_set_lr_di): Use them.
444 * rs6000.c: (mtcrf_operation, uses_TOC, rs6000_emit_prologue,
445 rs6000_emit_epilogue) Use them.
447 * rtl.h (SYMBOL_REF_TLS_MODEL): Fix mask value.
449 2003-04-14 Neil Booth <neil@daikokuya.co.uk>
451 * Makefile.in (c-opts.o): Use custom action.
453 2003-04-14 Douglas B Rupp <rupp@gnat.com>
455 * ifcvt.c (noce_process_if_block): Fail on BLKmode move.
457 2003-04-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
459 * stor-layout.c (layout_type, case ARRAY_TYPE): Add missing code to
460 handle "superflat arrays" in Ada.
462 * integrate.c (expand_inline_function): Don't inline if would
463 lose /u on a BLKmode TARGET.
465 2003-04-14 Joel Brobecker <brobecker@gnat.com>
467 * dbxout.c (print_int_cst_bounds_in_octal_p): New function,
468 extracted from dbxout_type.
469 (dbxout_range_type): print large bounds in octal format.
470 (dbxout_type): Replace extracted code by call to
471 print_int_cst_bounds_in_octal_p.
473 * dwarf2out.c (gen_compile_unit_die): Emit DW_LANG_Ada95 instead
474 of DW_LANG_Ada83 for Ada units.
476 2003-04-14 Olivier Hainque <hainque@act-europe.fr>
478 * explow.c (round_push): Use HOST_WIDE_INT instead of int for the
479 temporary used to round CONST_INT sizes.
481 * tree.c (int_fits_type_p): Extract generic checks from the case
482 of constant type bounds. Refine the checks against constant type
483 bounds to allow for possible decisions against each of these bounds
484 without requiring both bounds to be constant.
485 (tree_int_cst_msb): Put back.
486 * tree.h (tree_int_cst_msb): Likewise.
488 * global.c (global_conflicts): Prevent allocation of call clobbered
489 hard regs to pseudos live across abnormal edges, as later passes are
490 not ready to handle them.
492 * fold-const.c (fold): Reorder tests for conditional expressions.
494 * expr.c (highest_pow2_factor): Return unsigned.
495 * expr.h (offset_address): Likewise.
496 * emit-rtl.c (offset_address): POW2 argument now unsigned.
498 2003-04-14 Roger Sayle <roger@eyesopen.com>
500 * builtins.c (expand_builtin_strlen): Evaluate the lengths of
501 string literals at compile-time.
503 2003-04-14 Roger Sayle <roger@eyesopen.com>
505 * fold-const.c (fold): Transform (c1 - x) cmp c2, where cmp is a
506 comparison operation and c1/c2 are floating point constants into
507 x swap(cmp) (c1 - c2).
509 2003-04-14 Vladimir Makarov <vmakarov@redhat.com>
511 * genautomata.c (output_translate_vect): Fix a typo in loop
514 2003-04-14 Hans-Peter Nilsson <hp@axis.com>
517 * config/cris/cris.md ("*mov_sideqi", "*mov_sidehi")
518 ("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
519 ("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
520 ("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
521 ("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
522 ("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
523 ("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
524 ("*extopqihi_swap_side", "*extopqisi_swap_side")
525 ("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
526 When next to constraint R, replace constraint i with n.
528 Mon Apr 14 16:18:37 CEST 2003 Jan Hubicka <jh@suse.cz>
531 * cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.
533 2003-04-14 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
535 * doc/contrib.texi (Contributors): Correct my entry.
537 2003-04-13 Roger Sayle <roger@eyesopen.com>
539 * tree.h (DECL_BUILT_IN_NONANSI): Remove.
540 * c-common.c (builtin_function_2): Don't set DECL_BUILT_IN_NONANSI.
541 * c-decl.c (duplicate_decls): Use invariant DECL_BUILT_IN_NONANSI
542 implies DECL_BUILT_IN to simplify logic.
543 * print-tree.c (print_node): Don't dump DECL_BUILT_IN_NONANSI.
545 2003-04-13 Roger Sayle <roger@eyesopen.com>
547 * builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
548 (BT_FN_PTR_SIZE_SIZE): Likewise.
549 * builtins.def (BUILT_IN_MALLOC, BUILT_IN_CALLOC, BUILT_IN_STRDUP):
550 New built-in functions for malloc, calloc and strdup respectively.
551 * calls.c (special_function_p): No need to handle malloc-like
552 functions any longer. ECF_MALLOC is set via built-in attributes.
554 * c-decl.c (duplicate_decls): Preserve pure and malloc attributes.
556 * doc/extend.texi: Document these new built-in functions.
558 2003-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
560 * builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.
561 (expand_builtin_stpcpy): New.
562 (expand_builtin): Add BUILT_IN_MEMPCPY & BUILT_IN_STPCPY.
563 * builtins.def: Add mempcpy & stpcpy support.
564 * doc/extend.texi (mempcpy, stpcpy): Document new builtins.
566 2003-04-13 Nick Clifton <nickc@redhat.com>
568 * config/rs6000/rs6000.c: Replace occurrences of "GNU CC" with
570 * config/rs6000/40x.md, config/rs6000/603.md,
571 config/rs6000/6xx.md, config/rs6000/7450.md, config/rs6000/7xx.md,
572 config/rs6000/8540.md, config/rs6000/aix.h, config/rs6000/aix31.h,
573 config/rs6000/aix3newas.h, config/rs6000/aix41.h,
574 config/rs6000/aix43.h, config/rs6000/aix51.h,
575 config/rs6000/aix52.h, config/rs6000/altivec-defs.h,
576 config/rs6000/altivec.h, config/rs6000/altivec.md,
577 config/rs6000/beos.h, config/rs6000/darwin.h,
578 config/rs6000/eabi.h, config/rs6000/eabialtivec.h,
579 config/rs6000/eabisim.h, config/rs6000/eabispe.h,
580 config/rs6000/freebsd.h, config/rs6000/gnu.h,
581 config/rs6000/host-darwin.c, config/rs6000/linux.h,
582 config/rs6000/linux64.h, config/rs6000/linuxaltivec.h,
583 config/rs6000/lynx.h, config/rs6000/mach.h, config/rs6000/mpc.md,
584 config/rs6000/netbsd.h, config/rs6000/power4.md,
585 config/rs6000/rios1.md, config/rs6000/rios2.md,
586 config/rs6000/rs6000-c.c, config/rs6000/rs6000-modes.def,
587 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
588 config/rs6000/rs6000.h, config/rs6000/rs6000.md,
589 config/rs6000/rs64.md, config/rs6000/rtems.h, config/rs6000/spe.h,
590 config/rs6000/spe.md, config/rs6000/sysv4.h,
591 config/rs6000/sysv4le.h, config/rs6000/vxworks.h,
592 config/rs6000/windiss.h, config/rs6000/xcoff.h: Likewise.
594 2003-04-13 Nick Clifton <nickc@redhat.com>
596 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete
597 support for -mcall-aix switch.
598 * config/rs6000/eabiaix.h: Delete.
599 * config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
600 (RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG,
601 RETURN_ADDRESS_OFFSET): Remove use of ABI_AIX_NODESC.
602 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
603 * config/rs6000/rs6000.c (print_operand, rs6000_stack_info,
604 debug_stack_info, output_function_profiler,
605 rs6000_trampoline_size, rs6000_initialise_trampoline): Likewise.
606 * config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
607 call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
608 call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv,
609 sibcall_nonlocal_sysv, sibcall_value_local64): Likewise.
610 * config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix
612 (MULTILIB_DIRNAMES): Remove mcall-aix directories.
613 (MULTILIB_EXCEPTIONS): Delete.
614 (MULTILIB_MATCHES): Remove mcall-aix matches.
616 * doc/fragments.texi: Replace -mcall-aix example with an ARM
618 * doc/install.texi: Delete powerpc-*-eabiaix target.
619 * doc/invoke.texi: Remove documentation of mcall-aix switch.
620 * doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
621 * config.gcc: Delete powerpc-*-eabiaix target.
623 2003-04-13 Kazu Hirata <kazu@cs.umass.edu>
625 * doc/invoke.texi: Fix typos.
626 * doc/tm.texi: Likewise.
628 2003-04-12 Zack Weinberg <zack@codesourcery.com>
630 * c-typeck.c (digest_init, push_init_level): Use CONSTRUCTOR_ELTS.
632 2003-04-12 Zack Weinberg <zack@codesourcery.com>
634 * tree.c (build_constructor): New function.
635 * tree.h: Prototype it.
637 * c-typeck.c (build_c_cast, pop_init_level)
638 * profile.c (build_function_info_value, build_gcov_info_value)
640 Use build_constructor.
642 * builtins.c (expand_builtin_args_info): Remove #if 0 blocks.
644 * objc/objc-act.c (build_constructor):
645 Rename objc_build_constructor. Use build_constructor.
646 (build_objc_string_object, objc_add_static_instance)
647 (init_def_list, init_objc_symtab, init_module_descriptor)
648 (generate_static_references, build_selector_translation_table)
649 (build_descriptor_table_initializer, generate_descriptor_table)
650 (build_protocol_initializer, build_ivar_list_initializer)
651 (generate_ivars_list, build_dispatch_table_initializer)
652 (generate_dispatch_table, generate_protocol_list)
653 (build_category_initializer, build_shared_structure_initializer):
656 2003-04-12 Zack Weinberg <zack@codesourcery.com>
658 * intl.h: #define gcc_gettext_width to strlen when !ENABLE_NLS.
660 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
662 * config/m68hc11/m68hc11-protos.h
663 (m68hc11_eq_compare_operator): Declare
664 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
665 * config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
666 (d_register_operand): Check the operand mode.
667 (hard_addr_reg_operand): Likewise.
669 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
671 * config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New
672 pattern for dbcc/ibcc generation for 68HC12.
673 ("doloop_end"): New pattern.
674 ("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
675 ("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
676 ("m68hc12_dbcc_dec_qi"): New pattern.
677 ("m68hc12_dbcc_inc_qi"): New pattern.
678 (split): Add split for the above when we can't use dbcc/ibcc due to
680 (peephole2): Add peephole2 to generate the above when possible.
682 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
684 * config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the
686 (peephole2 optimize const load): Likewise for operand 2.
687 ("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
689 ("*rotrhi3_with_carry"): Likewise.
690 (ashift:DI 1 split): Update pattern to create the above rotate.
691 (lshiftrt:DI 1 split): Likewise.
693 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
695 * config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
696 ("tstqi_z_used" split): Use it.
697 ("cmphi_z_used"): Likewise.
698 ("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
699 ("cmpqi_z_used"): Likewise.
701 2003-04-12 Mark Mitchell <mark@codesourcery.com>
704 * config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
706 2003-04-12 Zack Weinberg <zack@codesourcery.com>
708 * configure.in: Check for wchar.h, mbstowcs, and wcswidth.
709 * configure, config.in: Regenerate.
710 * intl.c (gcc_gettext_width): New function.
711 * intl.h: Prototype it.
713 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
715 * config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
717 (reg_class): Add Z_OR_S_REGS to represent soft registers with Z
718 (REG_CLASS_NAMES): Add its name.
719 (REG_CLASS_CONTENTS): Define its content.
721 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
723 * config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
724 parameters so that offsets are valid for far definition.
725 (__mulsi3): Likewise and use ret to return.
726 (___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
728 2003-04-12 David Edelsohn <edelsohn@gnu.org>
730 * config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields.
732 2003-04-12 Alexandre Oliva <aoliva@redhat.com>
734 * mklibgcc.in (libgcc-stage-start): For every multilib directory
735 containing a libgcc.a, move lib* to the corresponding stage dir.
737 * Makefile.in (stage1-start, stage2-start, stage3-start,
738 stage4-start): Move $(SPECS) to specs in stage dir.
739 (unstage1 unstage2 unstage3 unstage4): Move specs in stage dir
742 * mklibgcc.in (libgcc-stage-start): Move into the stage directory
743 object files from the non-libgcc/ multilib directories as well.
745 2003-04-11 Geoffrey Keating <geoffk@apple.com>
747 * profile.c (read_counts_file): Initialise 'checksum'.
749 * emit-rtl.c (gen_rtx): Really correct typo.
752 * doc/invoke.texi (Debugging Options): Document -frandom-seed.
753 * configure.in: Check for gettimeofday.
754 * tree.c (flag_random_seed): Define.
755 (default_flag_random_seed): New.
756 (append_random_chars): Use flag_random_seed rather than trying
757 to acquire randomness here.
758 * tree.h (default_flag_random_seed): Declare.
759 * toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
761 (decode_f_option): Handle -frandom-seed.
762 (print_switch_values): Call default_flag_random_seed.
763 * flags.h (flag_random_seed): Declare.
764 * configure: Regenerate.
765 * config.in: Regenerate.
766 * config/alpha/t-crtfm: Use -frandom-seed.
768 * doc/extend.texi (Empty Structures): New.
770 * c-pch.c: Include flags.h. Add comments to routines.
771 (struct c_pch_validity): New.
772 (get_ident): Update PCH file version number.
773 (pch_init): Output current debugging type.
774 (c_common_valid_pch): Check debugging type.
775 * Makefile.in (c-pch.o): Update dependencies.
776 * flags.h (debug_type_names): Declare.
777 * toplev.c (debug_type_names): Move out of decode_g_option.
779 2003-04-11 Eric Christopher <echristo@redhat.com>
781 * emit-rtl.c (gen_rtx): Fix typos.
783 2003-04-11 Richard Henderson <rth@redhat.com>
785 * emit-rtl.c (gen_rtx): Zero '0' fields.
787 2003-04-11 Richard Henderson <rth@redhat.com>
790 * expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
791 not COMPLETE_TYPE_P for re-invoking layout_decl.
793 2003-04-11 Simon Law <sfllaw@engmail.uwaterloo.ca>
795 * doc/bugreport.texi: Fix paragraph breaking between sections
796 in preparation for TeXinfo's paragraph indentation fixes.
797 * doc/extend.texi: Ditto.
798 * doc/invoke.texi: Ditto.
799 * doc/objc.texi: Ditto.
800 * doc/gcov.texi: Wrap 'gcov' in @command{}.
801 * doc/invoke.texi (Darwin Options): Add a preamble.
803 2003-04-11 Richard Henderson <rth@redhat.com>
805 * config/i386/i386.c (tls_model_chars): Remove.
806 (ix86_encode_section_info, ix86_strip_name_encoding): Remove.
807 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
808 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
809 (tls_symbolic_operand_1): Likewise.
810 (legitimate_pic_address_disp_p): Use SYMBOL_REF_LOCAL_P.
811 * config/i386/i386.h (TARGET_ENCODE_SECTION_INFO): Remove.
812 (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
813 * config/i386/winnt.c (i386_pe_encode_section_info): Replace
814 bits "copied from i386.h" with default_encode_section_info.
816 2003-04-11 Richard Henderson <rth@redhat.com>
818 * rtl.def (SYMBOL_REF): Add two 0 fields.
819 * gengtype.c (adjust_field_rtx_def): Handle them.
820 * print-rtl.c (print_rtx): Print them.
821 * rtl.h (SYMBOL_REF_DECL, SYMBOL_REF_FLAGS): New.
822 (SYMBOL_FLAG_FUNCTION, SYMBOL_REF_FUNCTION_P): New.
823 (SYMBOL_FLAG_LOCAL, SYMBOL_REF_LOCAL_P): New.
824 (SYMBOL_FLAG_SMALL, SYMBOL_REF_SMALL_P): New.
825 (SYMBOL_FLAG_TLS_SHIFT, SYMBOL_REF_TLS_MODEL): New.
826 (SYMBOL_FLAG_EXTERNAL, SYMBOL_REF_EXTERNAL_P): New.
827 (SYMBOL_FLAG_MACH_DEP): New.
828 * optabs.c (init_one_libfunc): Zap fake SYMBOL_REF_DECL.
829 * varasm.c (make_decl_rtl): Set SYMBOL_REF_DECL.
830 (assemble_static_space): Set SYMBOL_REF_FLAGS.
831 (assemble_trampoline_template): Likewise.
832 (output_constant_def, force_const_mem): Likewise.
833 (default_encode_section_info): New.
834 * output.h: Declare it.
835 * target-def.h (TARGET_ENCODE_SECTION_INFO): Use it.
837 2003-04-11 Richard Henderson <rth@redhat.com>
839 * libfuncs.h (LTI_setbits, LTI_gcov_flush, LTI_gcov_init): New.
840 (setbits_libfunc, gcov_flush_libfunc, gcov_init_libfunc): New.
841 * optabs.c (init_optabs): Initialize them.
842 (init_libfuncs): Use init_one_libfunc.
843 * calls.c (expand_call): Use gcov_flush_libfunc.
844 * expr.c (store_constructor): Use setbits_libfunc.
845 * function.c (expand_main_function): Use init_one_libfunc.
846 * profile.c (create_profiler): Use gcov_init_libfunc and DECL_RTL.
848 2003-04-11 Mark Mitchell <mark@codesourcery.com>
850 * doc/c-tree.texi (Functions): Remove DECL_REAL_CONTEXT
851 documentation; add DECL_FRIEND_CONTEXT.
853 2003-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
855 * doc/install.texi (hppa): Update links for HP-UX patches. Revise
856 notes on linker selection and configuration for 64-bit HP-UX port.
857 * doc/invoke.texi (hppa): Remove hppa text from description for
858 -ffunction-sections and -fdata-sections. Document -static, -nolibdld
859 and -threads options.
861 * pa-hpux10.h (LIB_SPEC): Add link options to resolve dependency of
862 libc.a on libdld.sl when -static is specified and -nolibdld is not
864 * pa64-hpux.h (LIB_SPEC): Likewise.
865 * pa-hpux11.h (LIB_SPEC): Likewise.
866 (LINK_SPEC): Add __gcc_plt_call as an undefined symbol when -shared
869 2003-04-11 Zack Weinberg <zack@codesourcery.com>
871 * config/darwin-c.c (darwin_pragma_unused): Use lookup_name,
872 not IDENTIFIER_LOCAL_VALUE.
874 2003-04-11 Richard Henderson <rth@redhat.com>
877 * expr.c (expand_expr): Move DECL_RTL frobbing ...
878 * stor-layout.c (layout_decl): ... here.
880 2003-04-11 James A. Morrison <ja2morri@uwaterloo.ca>
882 * doc/invoke.texi: Eliminate extra white-space caused by
883 @gccoptlist{ on its own line.
884 * doc/invoke.texi: Ensured there are two spaces between each option.
885 * doc/invoke.texi: Re-wrapped option lines that were too wide.
886 Added @gol to options that didn't have them.
888 2003-04-11 Nathan Sidwell <nathan@codesourcery.com>
890 * Makefile.in (loop-init.o): Do not depend on gcov-io.h,
893 Simplify interface to gcov reading and writing.
894 * gcov-io.h (gcov_file, gcov_position, gcov_length, gcov_buffer,
895 gcov_alloc, gcov_modified, gcov_errored): Move into ...
896 (struct gcov_var gcov_var): ... this static structure.
897 (gcov_write_unsigned, gcov_write_counter, gcov_write_string):
899 (gcov_read_unsigned, gcov_read_couter, gcov_read_string): Return
901 (gcov_read_bytes, gcov_write_bytes): Set error flag on error.
902 (gcov_reserve_length): Remove.
903 (gcov_write_tag): New.
904 (gcov_write_length): Adjust.
905 (gcov_read_summary, gcov_write_summary): Adjust.
906 (gcov_eof, gcov_ok): Rename to ...
907 (gcov_is_eof, gcov_is_error): ... here. Return error code.
908 (gcov_save_position, gcov_resync): Rename to ...
909 (gcov_position, gcov_seek): ... here.
910 (gcov_skip, gcov_skip_string): Remove.
911 (gcov_error): Remove.
912 (gcov_open, gcov_close): Adjust.
913 * gcov.c (find_source): Take const char *, copy it on allocation.
914 (read_graph_file): Adjust.
915 (read_count_file): Adjust.
916 * libgcov.c (gcov_exit): Adjust.
917 * gcov-dump.c (tag_function, tag_blocks, tag_arcs, tag_lines,
918 tag_arc_counts, tag_summary): Return void. Adjust.
919 (struct tag_format): Adjust proc member.
920 (dump_file): Adjust gcov calls.
922 2003-04-11 Alexandre Oliva <aoliva@redhat.com>
924 * Makefile.in (fixinc.sh): Pass BUILD_LIBERTY as LIBERTY to
926 * fixinc/mkfixinc.sh (defs): Add LIBERTY.
927 * configure.in (STMP_FIXINC, STMP_FIXPROTO): Don't disable on
928 build != host sysrooted builds.
929 * configure.in (SYSTEM_HEADER_DIR): Make sure it contains
930 TARGET_SYSTEM_ROOT even on sysrooted natives.
931 * configure: Rebuilt.
933 2003-04-10 Zack Weinberg <zack@codesourcery.com>
935 * c-decl.c (struct binding_level): Add shadowed_tags and
936 function_body; remove this_block, tag_transparent, and
937 subblocks_tag_transparent; update comments.
938 (clear_binding_level, lookup_tag_reverse): Kill.
939 (make_binding_level): Use ggc_alloc_cleared or memset.
940 (lookup_tag): Remove struct binding_level* parameter. All
941 callers changed. Just look at IDENTIFIER_TAG_VALUE, and
942 current_binding_level->tags if asked for thislevel_only or if
943 we might have to diagnose "struct foo; union foo;"
944 (pushlevel): Ignore argument. Do not push another binding
945 level on the transition from the parameters to the top level
946 of the function body; just tweak the flags and proceed.
947 (poplevel): Overhaul. Clear IDENTIFIER_TAG_VALUEs; on exiting
948 a function body, separate the parameter list from the
949 top-level local variables.
950 (set_block): Do nothing.
951 (pushtag): Set IDENTIFIER_TAG_VALUE and add an entry to
952 shadowed_tags if necessary.
953 (warn_if_shadowing): Nuke the special case for local shadowing
955 (pushdecl): Do not create a shadow entry if we are replacing
956 an older decl in the same binding level.
957 (pushdecl_function_level): Tweak for new way of indicating
959 (shadow_tag_warned): Use TYPE_NAME, not lookup_tag_reverse.
960 (start_function): Don't set subblocks_tag_transparent.
961 (finish_function): Fix up the binding_level stack for totally
962 empty functions. Otherwise, don't call poplevel.
964 * c-common.c (shadow_warning): MANDATORY argument is no longer
965 necessary. Always use plain warning.
966 * c-common.h: Update to match.
968 * cfglayout.c (scope_to_insns_initialize): Clear block when we
969 hit the FUNCTION_DECL.
970 * function.c: Do not create cyclic tree structure.
972 2003-04-10 Zack Weinberg <zack@codesourcery.com>
974 * c-tree.h (struct lang_identifier): Replace global_value,
975 local_value members with symbol_value, tag_value. Kill
976 implicit_decl and limbo_value.
977 (IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_LOCAL_VALUE,
978 IDENTIFIER_LIMBO_VALUE, IDENTIFIER_IMPLICIT_DECL,
979 C_MISSING_PROTOTYPE_WARNED): Kill.
980 (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE,
981 C_DECL_IMPLICIT, C_DECL_ISNT_PROTOTYPE): New.
982 (C_DECL_ANTICIPATED): Rename to C_DECL_INVISIBLE.
983 (implicit_decl_warning, lookup_name_current_level,
984 record_function_scope_shadow): Don't prototype.
985 (pushdecl_function_level): Prototype.
987 * c-decl.c (truly_local_externals): New variable.
988 (struct binding_level): Adjust commentary.
989 (get_function_binding_level, clear_limbo_values,
990 record_function_scope_shadow): Kill.
991 (lookup_name_current_level, implicit_decl_warning): Are now static.
992 (any_external_decl, record_external_decl): New static functions.
993 (clone_underlying type): Split out of pushdecl.
994 (c_print_identifier): Update to match changes to struct
996 (poplevel): Delete #if 0 block. Make externals invisible
997 instead of clearing their IDENTIFIER_SYMBOL_VALUEs. Don't
998 call clear_limbo_values. Refer to IDENTIFIER_SYMBOL_VALUE not
999 IDENTIFIER_GLOBAL_VALUE or IDENTIFIER_LOCAL_VALUE.
1000 (duplicate-decls): For real parm decl after a forward decl,
1001 set TREE_ASM_WRITTEN here. Allow void foo(...) followed by
1002 foo(...) { } with only a warning. Say whether a previous
1003 declaration was implicit.
1004 (warn_if_shadowing): Now handles all shadowing, not just
1005 local-over-local. Clarify comments.
1006 (pushdecl): Rewritten. There is no longer a distinction
1007 between global and local symbol values; they're all
1008 IDENTIFIER_SYMBOL_VALUE. Call record_external_decl on all
1009 DECL_EXTERNAL decls, and use any_external_decl to check
1010 against previous externals. Kill #if 0 blocks. Don't
1011 tolerate error_mark_node being NULL.
1012 (pushdecl_top_level): Handle only those cases which
1013 Objective C (the only user) needs.
1014 (pushdecl_function_level): New function.
1015 (implicitly_declare): Create ordinary decls with
1016 C_DECL_IMPLICIT set. Recycle old decls, however they got
1018 (lookup_name): It's always IDENTIFIER_SYMBOL_VALUE. Return 0
1019 for C_DECL_INVISIBLE symbols.
1020 (lookup_name_current_level): Likewise. Use chain_member.
1021 (c_make_fname_decl): Don't muck with DECL_CONTEXT.
1022 Use pushdecl_function_level.
1023 (builtin_function): Use C_DECL_INVISIBLE.
1024 (start_function): Don't muck with IDENTIFIER_IMPLICIT_DECL.
1025 Use C_DECL_ISNT_PROTOTYPE and C_DECL_IMPLICIT.
1026 (store_parm_decls): It's IDENTIFIER_SYMBOL_VALUE now.
1027 (identifier_global_value): Same. Must scan
1028 global_binding_level in extremis.
1030 * c-typeck.c (undeclared_variable): New static function, split
1031 from build_external_ref.
1032 (build_external_ref): Use DECL_CONTEXT, not
1033 IDENTIFIER_LOCAL_VALUE, to decide whether a local hides
1034 an instance variable. Restructure for clarity.
1035 * objc/objc-act.c: Use identifier_global_value, not
1036 IDENTIFIER_GLOBAL_VALUE.
1038 2003-04-08 Jonathan Wakely <redi@gcc.gnu.org>
1040 * doc/extend.texi (Template Instantiation): Refer to ISO standard,
1042 * doc/invoke.texi (C++ Dialect Options): Same.
1044 2003-04-10 Zack Weinberg <zack@codesourcery.com>
1046 * tree.c (tree_operand_check_failed): New function.
1047 * tree.h (TREE_OPERAND_CHECK, TREE_OPERAND_CHECK_CODE,
1048 TREE_RTL_OPERAND_CHECK): New checking macros.
1049 (TREE_OPERAND, SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL,
1050 RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, WITH_CLEANUP_EXPR_RTL,
1051 CONSTRUCTOR_ELTS, LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
1052 EXIT_BLOCK_RETURN, LOOP_EXPR_BODY, EXPR_WFL_NODE,
1053 EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, TARGET_EXPR_SLOT,
1054 TARGET_EXPR_INITIAL, TARGET_EXPR_CLEANUP): Use the new
1057 Thu Apr 10 23:52:30 CEST 2003 Jan Hubicka <jh@suse.cz>
1060 * function.c (instantate_virtual_regs): Verify that all ASM statements
1061 match after the virutal regs instantiation.
1063 2003-04-10 Steve Ellcey <sje@cup.hp.com>
1065 * ia64-protos.h (addp4_optimize_ok): New.
1066 * ia64.c (addp4_optimize_ok): New.
1067 * ia64.md (*ptr_extend_plus_1): Use addp4_optimize_ok.
1068 (*ptr_extend_plus_2): Ditto.
1070 2003-04-10 Steve Ellcey <sje@cup.hp.com>
1072 * expr.c (expand_assignment): Extend offset_rtx with convert_to_mode
1073 not with convert_memory_address.
1074 (store_constructor): Ditto, and same for copy_size_rtx.
1075 (expand_expr): Ditto.
1077 2003-04-10 Douglas B Rupp <rupp@gnat.com>
1079 * config/i386/i386.c (ix86_ms_bitfield_layout_p): Fix formatting.
1081 2003-04-10 Bob Wilson <bob.wilson@acm.org>
1083 * config/xtensa/lib2funcs.S (__xtensa_sync_caches): Flush data cache
1084 even if it is configured to be write-through.
1086 2003-04-10 Ulrich Weigand <uweigand@de.ibm.com>
1088 * config/s390/s390.c (larl_operand): Do not allow symbols
1090 (s390_encode_section_info): Mark symbols with forced 1-byte
1092 (s390_strip_name_encoding): Strip '@'.
1093 (legitimize_pic_address): Handle symbols that are not valid
1094 LARL operands in 64-bit mode.
1096 2003-04-10 Andrew Haley <aph@redhat.com>
1098 * tree-inline.c (inlinable_function_p): Disable inlining for
1099 synchronized methods.
1101 2003-04-09 Steven Bosscher <steven@gcc.gnu.org>
1103 * c-common.h (lang_statement_code_p): Remove declaration.
1104 (statement_code_p): Ditto.
1105 (c_common_stmt_codes): Define; list of c-common statement codes.
1106 (statement_code_p): New extern declaration.
1107 (STATEMENT_CODE_P): Define.
1108 (INIT_STATEMENT_CODES): Define.
1109 * c-common.c (statement_code_p): Kill the function, declare
1110 as an array of bools instead.
1111 (lang_statement_code_p): Remove.
1112 (walk_stmt_tree): Use STATEMENT_CODE_P not statement_code_p.
1113 (c_safe_from_p): Ditto.
1114 * c-objc-common.c (c_objc_common_init): Use INIT_STATEMENT_CODES
1115 to initialize the statement_code_p array.
1116 * tree-inline.c (walk_tree): Use STATEMENT_CODE_P instead of
1118 (copy_tree_r): Ditto.
1119 * cp/cp-tree.h (cp_stmt_codes): Define; list of C++ specific
1120 statement tree codes.
1121 * cp/lex.c (cxx_init): Add missing print line break. Use
1122 INIT_STATEMENT_CODES to initialize the statement_code_p array.
1123 * cp/parser.c (cp_parser_statement): Use STATEMENT_CODE_P
1124 instead of statement_code_p.
1125 * cp/pt.c (tsubst_expr): Ditto.
1126 * cp/tree.c (verify_stmt_tree_r): Ditto.
1127 (cp_statement_code_p): Remove.
1128 (init_tree): Don't set lang_statement_code_p, it's gone.
1130 2003-04-09 Dan Nicolaescu <dann@ics.uci.edu>
1131 Zack Weinberg <zack@codesourcery.com>
1133 * regrename.c (struct du_chain): Use a bitfield for reg_class.
1134 * cse.c (struct qty_table_elem, struct table_elt, struct set):
1135 Use bitfields for fields holding enum rtx_code or
1136 enum machine_mode values. Add comments explaining size choices.
1138 2003-04-09 Alexandre Oliva <aoliva@redhat.com>
1140 * config/fp-bit.c (unpack_d): Handle pair of doubles with
1141 different signs correctly.
1143 2003-04-09 Vladimir Makarov <vmakarov@redhat.com>
1145 * sched-deps.c (reg_pending_barrier_mode): New enumeration.
1146 (reg_pending_barrier): Make it of the enumeration type.
1147 (sched_analyze_2): Define the barrier as MOVE_BARRIER or
1149 (sched_analyze): Ditto.
1150 (sched_analyze_insn): Ditto. Use anti-dependencies for
1151 MOVE_BARRIER and true-dependencies as TRUE_BARRIER.
1152 (init_deps_global): Initialize the barrier as NO_BARRIER.
1154 2003-04-09 Vladimir Makarov <vmakarov@redhat.com>
1156 * config/ia64/ia64.c (issue_nops_and_insn): Add new parameter.
1157 Check that asm insn starts on a new cycle. Add nops after asm
1159 (bundling): Move insn type evaluation from the loop. Call
1160 issue_nops_and_insn with the new parameter. Ignore changing
1161 position for nops after asm insn.
1163 2003-04-09 Alexandre Oliva <aoliva@redhat.com>
1165 * optabs.c: Comment that gen_add2_insn and others may actually
1166 return emitted insns, if the gen functions turn out to return
1168 * reload1.c (reload_cse_move2add): Cope with emitted insns from
1171 2003-04-09 Richard Henderson <rth@redhat.com>
1173 * config/ia64/ia64.c (move_operand): Allow symbolic_operand,
1174 but not tls_symbolic_operand.
1175 (ia64_expand_load_address): Remove scratch operand.
1176 (ia64_expand_tls_address): Split out from ia64_expand_move.
1177 (ia64_expand_move): Split symbolics only after reload.
1178 (ia64_emit_cond_move): New.
1179 * config/ia64/ia64-protos.h: Update.
1180 * config/ia64/ia64.md (movsi_symbolic, movdi_symbolic): Remove.
1181 (symbolic splitter): Accept SImode operands too.
1182 (cmove splitter): Use ia64_emit_cond_move.
1184 2003-04-09 Nick Clifton <nickc@redhat.com>
1186 * doc/install.texi: Note that ARM toolchains need binutils 2.13 or
1188 * config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa
1189 instead of -mno-fpu.
1190 * config/arm/semi.h (ASM_SPEC): Likewise.
1191 * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise,
1192 but only if -msoft-float is specified pass. Otherwise pass
1195 2003-04-09 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1197 * function.c (purge_addressof): Use free_INSN_LIST_node instead of
1198 free_EXPR_LIST_node.
1200 2003-04-08 Roger Sayle <roger@eyesopen.com>
1202 * fold-const.c (fold): Use "fold" following build in more places.
1203 Optimize sqrt(x)*sqrt(x) as x, pow(x,y)*pow(z,y) as pow(x*z,y),
1204 pow(x,y)*pow(x,z) as pow(x,y+z) and x/pow(y,z) as x*pow(y,-z).
1206 2003-04-08 Roger Sayle <roger@eyesopen.com>
1208 * builtins.c (fold_builtin): Constant fold expressions as x*0.5
1209 instead of x/2.0. Optimize sqrt(pow(x,y)) as pow(x,y*0.5),
1210 log(pow(x,y)) as y*log(x), pow(exp(x),y) as exp(x*y),
1211 pow(sqrt(x),y) as pow(x,y*0.5) and pow(pow(x,y),z) as pow(x,y*z).
1212 Delete function scope "fcode" variable to avoid shadowing.
1214 2003-04-08 Kevin Buettner <kevinb@redhat.com>
1216 * dwarf2out.c (DWARF_ARANGES_HEADER_SIZE, DWARF_ARANGES_PAD_SIZE):
1217 Take into account DWARF_INITIAL_LENGTH_SIZE.
1219 2003-04-08 Hans-Peter Nilsson <hp@axis.com>
1221 * reorg.c (fill_slots_from_thread): When considering changing the
1222 insn following a reg-to-reg copy insn to use the source reg of the
1223 copy, bail out if there's overlap between the registers.
1225 2003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1227 * function.c (postponed_insns): New.
1228 (purge_addressof_1): Postpone processing of insns if addressofs
1229 are not put into stack.
1230 (purge_addressof): Process postponed insns.
1232 2003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
1234 * sh.h (NORMAL_MODE): If interrupt handler and TARGET_FMOVD,
1235 this is FP_MODE_DOUBLE .
1236 * sh.c (ra.h): #include.
1237 (push_regs): Add second parameter. Changed all callers.
1238 If necessary, set fpscr before saving floating point registers.
1239 (calc_live_regs): If interrupt handler and TARGET_FMOVD, always
1240 do saves / restores with SZ == 1.
1241 (sh_expand_prologue): If interrupt handler, don't use gen_toggle_sz.
1242 (sh_expand_epilogue): Likewise. For TARGET_FMOVD, if floating point
1243 registers are being restored, restore FPSCR only after restoring them.
1245 2003-04-08 Aldy Hernandez <aldyh@redhat.com>
1247 * config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types
1248 regardless of architecture.
1249 (spe_init_builtins): Change V2SI and V2SF types to opaque types.
1251 2003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
1253 * sh.c (push_regs, calc_live_regs): Return int. Take single
1254 HARD_REG_SET * parameter. Changed all callers.
1256 Tue Apr 8 11:12:07 CEST 2003 Jan Hubicka <jh@suse.cz>
1258 * i386.c (legitimate_pic_address_disp_p): Do not accept PLUS in the
1260 (legitimize_pic_address): Move plus outside the unspec.
1261 * i386.c (legitimate_constant_p): Check (CONST (PLUS (UNSPEC ...
1264 2003-04-08 Nathan Sidwell <nathan@codesourcery.com>
1266 * gcov-io.h (gcov_save_position): Remove __inline__ from
1269 2003-04-07 Matt Kraai <kraai@alumni.cmu.edu>
1271 * doc/install.texi: Use @command and @samp for single- and
1272 multi-word commands respectively.
1273 * doc/makefile.texi: Likewise.
1274 * doc/sourcebuild.texi: Likewise.
1276 2003-04-07 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
1277 Richard Henderson <rth@redhat.com>
1280 * expr.c (safe_from_p): Rearrange to avoid deep recursion in
1281 favour of looping and tail recursion for TREE_LIST and binops.
1283 2003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1285 * loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Provide defaults
1286 for insns without luid.
1288 2003-04-07 Glen Nakamura <glen@imodulo.com>
1291 * explow.c (maybe_set_unchanging): Don't flag non-static const
1292 aggregate type initializers with RTX_UNCHANGING_P.
1294 2003-04-07 Richard Henderson <rth@redhat.com>
1297 * function.c (purge_addressof_1): Don't try arithmetics for
1298 unchanging memories.
1300 2003-04-07 Janis Johnson <janis187@us.ibm.com>
1302 * doc/sourcebuild.texi (Test Suites): Document testing support for
1303 gcov and profile-directed optimizations; describe gcc.misc-tests.
1305 Mon Apr 7 22:19:59 CEST 2003 Jan Hubicka <jh@suse.cz>
1308 * i386.md (movsi_1, movsi_nointerunit_1): Fix SSEMOV alternative.
1310 2003-04-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1312 * doc/rtl.texi (Comparison operations): Update to
1313 record the allowed comparison modes.
1315 2003-04-07 Aldy Hernandez <aldyh@redhat.com>
1317 * config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
1318 V2SI_type_node to opaque_V2SI_type_node. Rename all
1319 V2SF_type_node to opaque_V2SF_type_node.
1320 (rs6000_init_builtins): Define opaque_V2SI_type_node and
1321 opaque_V2SF_type_node.
1322 (is_ev64_opaque_type): The types opaque_V2SI_type_node and
1323 opaque_V2SF_type_node are opaque types.
1325 2003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
1327 * gcse.c (replace_store_insn): Use single_set.
1329 2003-04-07 Nathan Sidwell <nathan@codesourcery.com>
1331 Change gcov file interface to single file at a time.
1332 * gcov-io.h: Replace IN_LIBGCC1 with IN_LIBGCOV. Use IN_GCOV.
1333 Convert to C89 prototypes.
1334 (gcov_file, gcov_length, gcov_position, gcov_buffer, gcov_alloc,
1335 gcov_error, gcov_modified): New static variables.
1336 (gcov_open, gcov_close, gcov_read_bytes, gcov_write_bytes): New
1338 (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
1339 gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
1340 (gcov_read_summary, gcov_write_summary): Adjust.
1341 (gcov_save_position, gcov_reserve_length, gcov_write_length):
1343 (gcov_resync, gcov_skip, gcov_skip_string): Adjust.
1344 (da_file_open, da_file_close, da_file_eof, da_file_error): Remove.
1345 (da_file_position, da_file_seek, da_file_write, da_file_read):
1347 (gcov_error, gcov_eof, gcov_ok, gcov_time): New functions.
1348 * gcov.c (gcov_type): Don't typedef here.
1350 (read_graph_file, read_count_file): Adjust.
1351 * gcov-dump.c (gcov_type): Don't typedef here.
1353 (tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts):
1354 Remove FILE parameter, adjust.
1355 (struct tag_format): Adjust proc member.
1356 (dump_file): Adjust.
1357 * libgcov.c (IN_LIBGCOV): #define.
1358 (gcov_exit): Adjust.
1359 * loop-init.c: Don't #include gcov-io.h
1360 * profile.c (struct counts_entry): New structure to hold counter
1362 (struct section_reference, struct da_index_entry): Remove.
1363 (bbg_file, da_file): Remove.
1364 (htab_counts_index_hash, htab_counts_index_eq,
1365 htab_counts_index_del): Replace with ...
1366 (htab_counts_entry_hash, htab_counts_entry_eq,
1367 htab_counts_entry_del): ... these.
1368 (cleanup_counts_index, index_counts_file): Remove.
1369 (read_counts_file): New function.
1370 (get_exec_counts): Adjust.
1371 (compute_branch_probabilities): Don't free the exec counts here.
1372 (branch_prob): Adjust.
1373 (init_branch_prob): Adjust.
1374 (end_branch_prob): Adjust.
1376 2003-04-07 Aldy Hernandez <aldyh@redhat.com>
1378 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
1381 * config/rs6000/rs6000.c: Delete rs6000_fprs.
1382 Declare rs6000_float_gprs.
1383 Declare rs6000_float_gprs_string.
1384 (rs6000_parse_float_gprs_option): New.
1385 (rs6000_override_options): Genericize rs6000_parse_* calls to use
1386 rs6000_parse_yes_no_option.
1387 Change check for cpu=8540, to use TARGET_E500.
1388 (rs6000_parse_isel_option): Delete.
1389 (rs6000_parse_spe_option): Delete.
1390 (rs6000_parse_vrsave_option): Delete.
1392 * config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs.
1393 Define rs6000_float_gprs_string.
1394 (TARGET_OPTIONS): Add rs6000_float_gprs option.
1396 * config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs.
1398 * config/rs6000/eabispe.h: Set rs6000_float_gprs.
1400 Mon Apr 7 14:36:24 CEST 2003 Jan Hubicka <jh@suse.cz>
1403 * cfglayout.c (cfg_layout_redirect_edge):
1404 Redirect any branch edges unified with the fallthru one.
1405 * cfgrtl.c (force_nonfallthru_and_redirect): Do not special
1406 case fallthru edges when called via cfglayout.c
1408 2003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
1410 * c-typeck.c (output_init_element): Check for type == error_mark_node.
1412 2003-04-07 Kazu Hirata <kazu@cs.umass.edu>
1414 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
1416 (a splitter): Do zero-extension via HImode.
1418 2003-04-07 James A. Morrison <ja2morri@uwaterloo.ca>
1420 * doc/invoke.texi: Eliminate extra white-space caused by
1421 @gccoptlist{ on its own line.
1422 * doc/invoke.texi: Ensured there are two spaces between each option.
1423 * doc/invoke.texi: Re-wrapped option lines that were too wide.
1424 Added @gol to options that didn't have them.
1426 2003-04-07 James A Morrison <ja2morri@student.math.uwaterloo.ca>
1428 * doc/extend.texi (Darwin Pragmas): Fix spelling of Mac OS.
1430 2003-04-06 Zack Weinberg <zack@codesourcery.com>
1432 * tree.c (tree_size): For all 'c' and 'x' nodes, look directly
1433 at the sizes of the relevant structures, rather than relying
1434 on TREE_CODE_LENGTH. Call lang_hooks.tree_size to get the
1435 sizes of any such we don't know about. Use
1436 lang_hooks.identifier_size for IDENTIFIER_NODE.
1438 (initializer_zerop): Use CONSTRUCTOR_ELTS.
1439 * tree.def: Update commentary. Make fourth element of
1440 the definition for all 'c' and 'x' nodes zero.
1442 * langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE.
1443 * langhooks-def.h: Update to match.
1444 * langhooks.c: New default, lhd_tree_size.
1446 * c-common.def (SRCLOC): Kill.
1447 * c-pretty-print.c (pp_c_postfix_expression [case SRCLOC]):
1448 Remove entirely - was already #if-ed out.
1451 2003-04-06 Zack Weinberg <zack@codesourcery.com>
1453 * mklibgcc.in: Use a here document to avoid running afoul of
1454 shells that generate control-A from "echo \1".
1456 2003-04-06 Aldy Hernandez <aldyh@redhat.com>
1458 * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mspe
1461 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
1464 * config/rs6000/eabi.h (TARGET_E500): Define.
1466 * config/rs6000/rs6000.h (TARGET_E500): Define.
1467 (TARGET_OPTIONS): Add spe= option.
1468 Declare rs6000_spe and rs6000_spe_string extern.
1470 * config/rs6000/rs6000.c (branch_positive_comparison_operator):
1471 Change TARGET_SPE to TARGET_E500.
1472 (ccr_bit): Change TARGET_SPE to TARGET_E500. Check for
1474 (print_operand): Same.
1475 (rs6000_generate_compare): Same.
1476 (output_cbranch): Same.
1477 (rs6000_spe): Declare.
1478 (rs6000_spe_string): Declare.
1479 (rs6000_override_options): Call rs6000_parse_spe_option.
1480 (rs6000_parse_spe_option): New.
1482 2003-04-06 Steven Bosscher <steven@gcc.gnu.org>
1484 * hashtable.c (gcc_obstack_init): Delete this function
1485 and everything related to it.
1486 * hashtable.h: Remove prototype.
1487 * bitmap.c (bitmap_element_allocate): Cleanup redundant
1488 defines. Cleanup some unnecessary whitespace.
1489 * defaults.h (obstack_chunk_alloc): Redefine with
1490 appropriate casts for libiberty obstacks.
1491 (obstack_chunk_free): Ditto.
1492 (OBSTACK_CHUNK_SIZE): Define, default to 0.
1493 (gcc_obstack_init): Define as a call to _obstack_begin.
1494 * tree.c (print_obstack_statistics): Delete this unused
1496 * tree.h (obstack): Don't forward-declare.
1497 (print_obstack_statistics): Delete prototype.
1498 (print_obstack_name): Ditto.
1499 (gcc_obstack_init): Ditto.
1500 * rtl.h (gcc_obstack_init): Ditto.
1501 * java/jv-scan.c (gcc_obstack_init): Delete this
1502 function, its prototype and related defines.
1503 * java/jvgenmain.c (gcc_obstack_init): Delete this
1504 function, and related defines.
1505 * java/parse-scan.y (obstack_chunk_alloc): Don't define.
1506 (obstack_chunk_free): Ditto
1508 2003-04-06 Geoffrey Keating <geoffk@apple.com>
1510 * dbxout.c (dbxout_handle_pch): Move prototype out from
1511 #if defined DBX_DEBUGGING_INFO.
1513 2003-04-05 Nathan Sidwell <nathan@codesourcery.com>
1515 * gcov.c (struct arc_info): Replace local_span with cycle.
1516 (struct block_info): Replace u.span with u.cycle. Add is_call_return.
1517 (solve_flow_graph): Set is_call_return.
1518 (add_line_counts): Adjust. In block mode, blocks attach to last line.
1519 (accumulate_line_counts): Find graph cycles, not spanning tree.
1520 (output_branch_count): Adjust.
1521 (output_lines): Adjust.
1522 * doc/gcov.texi: Update.
1524 2003-04-06 Kazu Hirata <kazu@cs.umass.edu>
1526 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Change
1527 the second alternative to "#".
1529 2003-04-05 Kazu Hirata <kazu@cs.umass.edu>
1531 * config/h8300/h8300.c (single_one_operand): Use GET_MODE_MASK.
1532 (single_zero_operand): Likewise.
1534 2003-04-05 Daniel Berlin <dberlin@dberlin.org>
1536 * Makefile.in (df.o): Depend on alloc-pool.h, not obstack.h.
1537 * df.c: Include alloc-pool.h, not obstack.h.
1538 (df_ref_obstack): Remove.
1539 (df_ref_pool, df_link_pool): Add pools.
1540 (df_alloc): Init the new pools.
1541 (df_free): And free them.
1542 (df_link_create): Use the pools.
1543 (df_ref_create): Ditto.
1545 2003-04-05 Kazu Hirata <kazu@cs.umass.edu>
1547 * simplify-rtx.c: Fix formatting.
1549 2003-04-05 Andrew Pinski <apinski@apple.com>
1551 * config/rs6000/rs6000.c (addrs_ok_for_quad_peep): Allow addr2
1552 reg with reg1 == reg2 and offset1 = -8.
1554 2003-04-05 David Edelsohn <edelsohn@gnu.org>
1556 * config/rs6000/rs6000.c (rs6000_rtx_costs): Halve Power4
1557 multiply costs. Correct Power4 divide costs.
1558 * config/rs6000/power4.md: Restore multiply and FP latency.
1560 2003-04-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1562 * alias.c (find_base_term): Export.
1563 * rtl.h (find_base_term): Declare.
1564 * gcse.c (find_moveable_store): Test for flag_non_call_exceptions
1565 instead of flag_exceptions. Move test for parameter passing ...
1566 (store_killed_in_insn): ... here.
1568 2003-04-05 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1571 * doc/install.texi (*-*-solaris2): /bin/ksh is not just recommended
1574 2003-04-04 Geoffrey Keating <geoffk@apple.com>
1576 * dbxout.c (scope_labelno): Add GTY.
1577 (have_used_extensions): Add GTY.
1578 (source_label_number): Add GTY.
1579 (lastfile): Add GTY.
1580 (lastfile_is_base): New.
1581 (base_input_file): New.
1582 (dbxout_handle_pch): New.
1583 (dbx_debug_hooks): Add handle_pch.
1584 (xcoff_debug_hooks): Likewise.
1585 (dbxout_function_end): Remove scope_labelno.
1586 (dbxout_init): Set base_input_file.
1587 (dbxout_handle_pch): New.
1588 (dbxout_source_file): Honour lastfile_is_base.
1589 * dwarfout.c (dwarf_debug_hooks): Add dummy handle_pch.
1590 * sdbout.c (sdb_debug_hooks): Add dummy handle_pch.
1591 * vmsdbgout.c (vmsdbg_debug_hooks): Add dummy handle_pch.
1592 * dwarf2out.c (dwarf2_debug_hooks): Add dummy handle_pch.
1593 * debug.c (do_nothing_debug_hooks): Add dummy handle_pch.
1594 * debug.h (struct gcc_debug_hooks): Add handle_pch.
1595 * c-pch.c (pch_init): Don't call start_source_file, but do call
1597 (c_common_write_pch): Call handle_pch.
1598 (c_common_read_pch): Don't call start_source_file,
1601 Fri Apr 4 17:43:52 2003 Olivier Hainque <hainque@act-europe.fr>
1603 * emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
1604 use of default attributes to agree MEM_ALIGN macro.
1606 Fri Apr 4 17:33:24 2003 Joel Brobecker <brobecker@gnat.com>
1608 * dbxout.c (dbxout_type): When printing type index of range type
1609 whose bounds are printed in octal format, print type of parent type if
1610 it exists so enumerated type descriptions are not transformed
1611 into unsigned types.
1613 2003-04-04 Kazu Hirata <kazu@cs.umass.edu>
1615 * config/h8300/h8300-protos.h: Add a prototype for
1617 * config/h8300/h8300.c (shift_one): Update the CC status.
1618 (shift_two): Likewise.
1619 (output_a_shift_cc): Set cc_inline and cc_special.
1620 (compute_a_shift_cc): New.
1621 * config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
1623 2003-04-04 Richard Henderson <rth@redhat.com>
1625 * cse.c (fold_rtx): Fix 03-30 change; do check insn non-null.
1627 2003-04-04 Loren James Rittle <ljrittle@acm.org>
1629 * fixinc/inclhack.def (bsd_stdio_attrs_conflict): New.
1630 * fixinc/fixincl.x: Rebuilt.
1631 * fixinc/tests/base/stdio.h: Regenerated.
1633 2003-04-04 Nathan Sidwell <nathan@codesourcery.com>
1635 * gcov.c (accumulate_line_counts): Fix span tree merge bug.
1637 Fri Apr 4 15:58:52 2003 J"orn Rennecke <joern.rennecke@superh.com>
1639 * sh.h (ACTUAL_NORMAL_MODE): New macro, broken out of
1641 * sh.c (fpscr_set_from_mem): Use ACTUAL_NORMAL_MODE.
1643 2003-04-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1645 * doc/contrib.texi (Contributors): Add entries for Wolfgang
1646 Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
1647 Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
1648 Danny Smith, and Ulrich Weigand.
1649 Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
1652 2003-04-04 Nick Clifton <nickc@redhat.com>
1654 * config/sparc/sol2-bi.h: Revert previous delta.
1655 * config/sparc/sol2-gas-bi.h (AS_SPARC64_FLAG): Prepend -TSO
1657 2003-04-04 Nick Clifton <nickc@redhat.com>
1659 * config/v850/v850.c (expand_prologue): Only use register save
1660 helper functions if long calls are not being used.
1661 Add a clobber of r11 id using long calls.
1662 (pattern_is_ok_for_prologue): Account for the extra clobber.
1663 (construct_save_jarl): Likewise.
1664 * config/v850/v850.md (prolog pattern): Do not use this pattern
1667 2003-04-04 Andreas Schwab <schwab@suse.de>
1669 * stor-layout.c (layout_decl): Avoid syntax error in last change
1670 when PCC_BITFIELD_TYPE_MATTERS is defined but not
1671 EMPTY_FIELD_BOUNDARY.
1673 2003-04-03 Jason Merrill <jason@redhat.com>
1676 * jump.c (never_reached_warning): Revert patch of 2002-11-02.
1677 Look backwards for a line note.
1679 2003-04-03 Neil Booth <neil@daikokuya.co.uk>
1681 * fix-header.c (read_scan_file): Defer switch processing.
1683 2003-04-03 Matt Austern <austern@apple.com>
1685 * cpppch.c (reset_ht): Remove.
1686 (cpp_read_state): Remove loop to reset hashtable identifiers.
1687 * ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
1688 after pch file is written.
1689 * ggc.h (gt_pch_fixup_stringpool): Declare.
1690 * stringpool.c (ht_copy_and_clear): Define. Callback. Copy
1691 hashnode's value to another hashtable, then clear the original.
1692 (saved_ident_hash): Define.
1693 (gt_pch_save_stringpool): Create saved_ident_hash, use it to
1694 store definitions in ident_hash, and clear ident_hash.
1695 (gt_pch_fixup_stringpool): Define. Restore definitions from
1696 saved_ident_hash to ident_hash, then destroy saved_ident_hash.
1698 Thu Apr 3 22:27:40 CEST 2003 Jan Hubicka <jh@suse.cz>
1700 * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
1702 2003-04-03 Eric Botcazou <ebotcazou@libertysurf.fr>
1704 PR optimization/10157
1705 * gcse.c (can_copy_p): Rename it to can_copy.
1706 (can_copy_init_p): Remove.
1707 (compute_can_copy): Use can_copy instead of can_copy_p.
1708 (can_copy_p): New exported function. Call compute_can_copy.
1709 (hash_scan_set): Use it.
1710 (gcse_main): Don't call compute_can_copy.
1711 (bypass_jumps): Don't call compute_can_copy.
1712 * rtl.h (can_copy_p): Declare.
1713 * loop.c (scan_loop): Don't move the source and add a reg-to-reg
1714 copy if the mode doesn't support copy operations.
1716 2003-04-03 Jason Merrill <jason@redhat.com>
1718 * Makefile.in (unstrap): Also remove stage_last.
1720 * dwarf2out.c (lookup_filename): Don't check for "<internal>".
1721 (dwarf2out_source_line): Don't do anything if line==0.
1723 * stor-layout.c (do_type_align): New fn, split out from...
1724 (layout_decl): ...here. Do all alignment calculations for
1726 (update_alignment_for_field): Not here.
1727 (start_record_layout, debug_rli): Remove unpadded_align.
1728 * tree.h (struct record_layout_info_s): Remove unpadded_align.
1729 * c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
1730 or DECL_MODE on the CONST_DECLs.
1731 (finish_struct): Don't mess with DECL_ALIGN.
1733 Thu Apr 3 18:57:19 CEST 2003 Jan Hubicka <jh@suse.cz>
1735 * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
1737 Thu Apr 3 17:08:09 2003 J"orn Rennecke <joern.rennecke@superh.com>
1739 * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
1740 function is an interrupt handler.
1742 * sh.c (sh_expand_epilogue): Avoid clash of temp register for
1743 restoring target registers with EH_RETURN_STACKADJ_RTX; use
1744 multiple registers in round-robin fashion.
1746 2003-04-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1748 * gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
1749 * system.h (CHAR_BITFIELD): New.
1751 2003-04-03 Kazu Hirata <kazu@cs.umass.edu>
1753 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
1755 (another peephole2): Likewise.
1757 2003-04-03 Nick Clifton <nickc@redhat.com>
1759 * config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
1760 (DEF_ARCH64_SPEC): Likewise.
1762 Thu Apr 3 09:53:40 CEST 2003 Jan Hubicka <jh@suse.cz>
1764 * i386.c (constant_address_p): Use legitimate_constant_p.
1765 (legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
1767 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
1769 * config/h8300/h8300-protos.h: Add a prototype for
1771 * config/h8300/h8300.c (gtle_operator): New.
1772 * config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
1774 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
1777 2003-04-02 Richard Henderson <rth@redhat.com>
1779 * libgcc-std.ver (_Unwind_GetCFA): New.
1780 * unwind-dw2.c (_Unwind_GetCFA): New.
1781 * unwind-libunwind.c (_Unwind_GetCFA): New.
1782 * unwind-sjlj.c (_Unwind_GetCFA): New.
1783 * unwind.h: Declare it.
1785 Thu Apr 3 00:31:21 CEST 2003 Jan Hubicka <jh@suse.cz>
1788 * i386.c (ix86_hard_regno_mode_ok): Return 0 for MMX/SSE registers
1789 when MMX/SSE is not available.
1791 2003-04-02 Mike Stump <mrs@apple.com>
1793 * doc/install.texi (Specific): Update pointers to apple.com.
1795 Thu Apr 3 00:18:49 CEST 2003 Jan Hubicka <jh@suse.cz>
1797 * i386.c (override_options): Disable red zone by default on i386.
1798 (compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):
1799 Do not test TARGET_64BIT together with TARGET_RED_ZONE
1801 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
1803 * config/h8300/h8300.md (a peephole2): Tighten the condition.
1805 2003-04-02 Richard Henderson <rth@redhat.com>
1807 * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
1809 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
1811 * config/h8300/h8300.md (a peephole2): New.
1813 2003-04-02 Richard Henderson <rth@redhat.com>
1815 * except.c (sjlj_find_directly_reachable_regions): Recognize when
1816 must-not-throw region has been deleted.
1818 2003-04-02 Richard Henderson <rth@redhat.com>
1820 * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
1821 optimization when flag_exceptions not enabled.
1823 2003-04-02 Vladimir Makarov <vmakarov@redhat.com>
1825 * config/rs6000/rs6000.c
1826 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
1828 (rs6000_issue_rate): Add case for 8540.
1829 (rs6000_use_sched_lookahead): New function.
1831 * config/rs6000/8540.md: Rename SIU units into SU ones and MIU
1833 (ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
1834 reservation before retirement.
1835 (ppc8540_multiply, ppc8540_load, ppc8540_store,
1836 ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
1837 Remove additional cycle in the reservation before retirement.
1838 (ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
1839 reservation of ppc8540_issue.
1841 2003-04-02 Andreas Schwab <schwab@suse.de>
1843 * real.c (decode_ieee_single): Fix decoding of SNaN bit.
1845 2003-04-01 Richard Henderson <rth@redhat.com>
1847 * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
1848 notes for nothrow calls if flag_forced_unwind_exceptions.
1849 (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
1850 (sjlj_find_directly_reachable_regions): Likewise.
1851 (reachable_handlers): Likewise.
1852 (can_throw_external): Likewise.
1853 (collect_one_action_chain): Record cleanups after catch-all and
1854 must-not-throw if flag_forced_unwind_exceptions.
1855 * flags.h (flag_forced_unwind_exceptions): Declare.
1856 * toplev.c (flag_forced_unwind_exceptions): New.
1857 (lang_independent_options): Add it.
1858 * doc/invoke.text: Add it.
1860 2003-04-01 David Mosberger <davidm@hpl.hp.com>
1862 * config/ia64/crti.asm: Clean up trailing whitespace.
1863 Remove trailing hashes (#) from identifiers.
1865 * config/ia64/crtn.asm: Ditto.
1867 * config/ia64/crtend.asm: Remove trailing hashes (#) from
1869 (__do_global_ctors_aux): Align to 32-byte boundary. Add unwind
1870 directives. Drop explicit bundling---it just makes the code
1871 harder to read. Don't save/restore gp needlessly.
1873 * config/ia64/crtbegin.asm: Remove trailing hashes (#) from
1874 identifiers (they're only needed if the identifier would clash
1875 with a register name otherwise).
1876 (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
1877 directives. Drop explicit bundling---it just makes the code
1879 (__do_jv_register_classes): Ditto.
1880 (.fini_array): Remove "progbits" (newer
1881 assemblers don't like wrong section-types).
1882 (.init_array): Ditto.
1884 2003-04-01 Roger Sayle <roger@eyesopen.com>
1887 * gcse.c (reg_killed_on_edge): New function to test whether the
1888 given reg is overwritten by any instruction queued on an edge.
1889 (bypass_block): Ignore substitutions killed on incoming edges.
1890 Don't bypass outgoing edges that have queued instructions.
1892 2003-04-01 Alexandre Oliva <aoliva@redhat.com>
1894 * real.h (EXP_BITS): Make room for...
1895 (struct real_value): ... added canonical bit.
1896 (struct real_format): Added pnan.
1897 (mips_single_format, mips_double_format, mips_extended_format,
1898 mips_quad_format): New.
1899 * real.c: Copy p to pnan in all formats.
1900 (get_canonical_qnan, get_canonical_snan): Set canonical bit.
1901 (real_nan): Use pnan to compute significand's shift.
1902 (real_identical): Disregard significand in canonical
1904 (real_hash): Likewise. Take signalling into account.
1905 (encode_ieee_single, encode_ieee_double, encode_ieee_quad):
1906 Disregard significand bits in canonical NaNs. Set all bits of
1907 canonical NaN if !qnan_msb_set.
1908 (encode_ibm_extended, decode_ibm_extended): Likewise. Use
1909 qnan_msb_set to tell the base double format.
1910 (ibm_extended_format): Use 53 as pnan.
1911 (mips_single_format, mips_double_format, mips_extended_format,
1912 mips_quad_format): Copied from the corresponding ieee/ibm
1913 formats, with qnan_msb_set false.
1914 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
1915 * config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
1916 * config/mips/mips.c (override_options): Use mips_single_format
1917 and mips_double_format. Default TFmode to mips_quad_format.
1918 * config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
1919 * config/mips/t-irix6: Likewise.
1920 * config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
1921 * config/fp-bit.c (pack_d, unpack_d): Obey it.
1923 2003-04-01 Geoffrey Keating <geoffk@apple.com>
1925 * unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
1926 (live_image_destructor): Reset image to initial state.
1927 (examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
1929 2003-04-01 Eric Botcazou <ebotcazou@libertysurf.fr>
1931 * config/sparc/sparc.c (input_operand): Accept bare
1932 CONSTANT_P_RTX operands.
1934 2003-04-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1936 * gcse.c (struct ls_expr): Added pattern_regs field.
1937 (ldst_entry): Initialize it.
1938 (extract_mentioned_regs, extract_mentioned_regs_helper): New.
1939 (store_ops_ok): Use regs precomputed by them.
1940 (find_loads, store_killed_in_insn, load_kills_store): Change return
1942 (store_killed_before, store_killed_after): Take position of register
1944 (reg_set_info): Store position of the setter.
1945 (gcse_main): Enable store motion.
1946 (mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
1947 (pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
1949 (simple_mem): Enable store motion of non-symbol mems.
1950 (regvec): Type changed.
1951 (LAST_AVAIL_CHECK_FAILURE): New.
1952 (compute_store_table_current_insn): New.
1953 (build_store_vectors): Computation of availability and anticipatability
1955 (compute_store_table, find_moveable_store): ... here.
1956 (delete_store): Remove senseless comment.
1957 (store_motion): Reorganize.
1959 2003-04-01 Kevin Buettner <kevinb@redhat.com>
1961 * config/mips/mips.c (override_options): Provide mappings for
1962 HI_REGNUM and LO_REGNUM.
1963 * config/mips/mips.h (MD_DBX_FIRST): Define.
1965 2003-04-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1967 * combine.c (merge_outer_ops): Fix typo.
1969 * varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
1971 2003-04-01 David Edelsohn <edelsohn@gnu.org>
1973 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
1974 power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
1975 imul_compare. Add lmul_compare.
1976 * config/rs6000/power4.md: Bump some latencies. Model extra cycle
1977 in second pair of dispatch slots. Model stores more accurately.
1978 Tweak multiply model. Add bypasses for CR instructions dependent
1979 on complicated compares.
1980 * config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
1981 (muldi3): Add lmul_compare patterns.
1982 * config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
1983 and FPSTORE_UX to split instructions and add COMPARE,
1984 DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
1985 (rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
1986 (rs6000_rtx_costs): Separate POWER4 multiply case.
1988 2003-04-01 Ulrich Weigand <uweigand@de.ibm.com>
1990 * config/s390/s390.c (s390_fixup_clobbered_return_reg):
1991 Do nothing if __builtin_return_address was not used.
1993 Tue Apr 1 18:18:23 CEST 2003 Jan Hubicka <jh@suse.cz>
1995 * i386.md (test patterns): Allow memory operand in operand1.
1997 2003-02-31 Aldy Hernandez <aldyh@redhat.com>
1999 * testsuite/gcc.c-torture/execute/simd-3.c: New.
2001 * expr.c (expand_expr): Handle VECTOR_CST.
2002 (const_vector_from_tree): New.
2004 * varasm.c (output_constant): Handle VECTOR_CST.
2006 * c-typeck.c (digest_init): Build a vector constant from a
2009 * config/rs6000/rs6000.c: Remove prototype for
2010 easy_vector_constant.
2011 (easy_vector_constant): Add mode parameter. Rewrite to handle
2012 more easy constants.
2013 (rs6000_emit_move): Pass mode to easy_vector_constant.
2014 Call emit_easy_vector_insn for SPE V2SI vector constant moves.
2015 (emit_easy_vector_insn): New.
2016 (easy_vector_same): New.
2017 (EASY_VECTOR_15): New macro.
2018 (EASY_VECTOR_15_ADD_SELF): New macro.
2019 (bdesc_2arg): Rename to xorv2si3.
2020 (easy_vector_constant_add_self): New.
2021 (input_operand): Allow vector constants.
2023 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
2024 easy_vector_constant, easy_vector_constant_add_self.
2025 (EXTRA_CONSTRAINT): Add 'W'.
2027 * config/rs6000/rs6000-protos.h: Add prototype for
2028 easy_vector_constant, emit_easy_vector_insn.
2030 * config/rs6000/altivec.md (xorv8hi3): New.
2032 Remove all _const0 patterns.
2033 (movv4si_internal): Rewrite to use code. Add vector constant to
2034 vector alternative. Add splitter.
2035 (movv8hi_internal): Same.
2036 (movv16qi_internal): Same.
2037 (movv4sf_internal): Same.
2038 Change the unspecs for vspltis* to use constants.
2040 * config/rs6000/spe.md ("xorv4hi3"): New.
2041 ("spe_evxor"): Rename to xorv2si3.
2043 Remove all _const0 patterns.
2044 (movv2si_internal): Rewrite to use code. Add vector constant to
2045 alternatives. Add splitter.
2046 (movv4hi_internal): Add vector constant to alternatives.
2047 (movv1di_internal): Same.
2048 (movv2sf_internal): Same.
2050 2003-03-31 Mark Mitchell <mark@codesourcery.com>
2053 * c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
2054 variably-sized arrays in parameters.
2055 (set_save_expr_context): New function.
2056 (c_expand_body): Use it, via walk_tree.
2058 2003-03-31 Eric Christopher <echristo@redhat.com>
2060 * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
2061 (combinable_i3pat): Remove call to expand_field_assignment and
2064 2003-03-31 Mark Mitchell <mark@codesourcery.com>
2067 * c-common.c (finish_label_address_expr): Handle the
2070 2003-03-31 Richard Henderson <rth@redhat.com>
2072 * real.c (real_identical): Reorg so as to not compare
2073 signalling for normals.
2075 2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
2077 * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
2079 2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
2081 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
2082 notes as they are boggus.
2083 (m68hc11_gen_movqi): Likewise.
2085 2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
2087 * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
2088 save the soft registers after the frame pointer so that gdb can unwind
2089 the frame more easily.
2090 (expand_epilogue): Likewise in opposite order; allow to use X register
2091 as scratch if the return value is by reference.
2093 2003-03-31 Jason Merrill <jason@redhat.com>
2096 * stor-layout.c (update_alignment_for_field): Respect
2097 DECL_USER_ALIGN for zero-length bitfields, too.
2098 * c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
2101 2003-03-31 Matt Austern <austern@apple.com>
2103 * cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
2104 (count_defs): Keep track of number of defs as well as total size.
2105 (write_defs): Put every definition in cpp_savedstate's defs array.
2106 (comp_hashnode): Define. Comparison function for qsort.
2107 (cpp_write_pch_deps): Sort definitions before writing them.
2108 (struct ht_node_list): Define. Like cpp_savedstate but simpler.
2109 (collect_ht_nodes): Define.
2110 (cpp_valid_state): When verifying that undefined identifiers in
2111 the pch file are still undefined, read a sorted list of undefined
2112 identifiers, collect all defined identifiers into a sorted list,
2113 and walk through both lists to make sure there's no match.
2115 2003-03-31 Kazu Hirata <kazu@cs.umass.edu>
2117 * config/h8300/h8300.md (a peephole2): New.
2119 2003-03-31 Michael Matz <matz@suse.de>
2121 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
2123 2003-03-31 Segher Boessenkool <segher@koffie.nl>
2126 * config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
2127 * config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
2128 all call-clobbered registers as used.
2130 2003-03-31 Michael Matz <matz@suse.de>
2132 * cppexp.c (cpp_classify_number): Accept '.' after "0x".
2133 * testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
2135 2003-03-31 Nathan Sidwell <nathan@codesourcery.com>
2137 * gcov.c: Add -a & -u options.
2138 (struct arc_info): Add local_span, is_call_non_return,
2139 is_nonlocal_return, is_unconditional flags, remove is_call flag.
2140 (struct block_info): Add flags, is_call_site, is_nonlocal_return
2141 members. Make encodings a union with span member.
2142 (struct function_info): Add blocks_executed, line, src, line_next
2144 (struct coverage_info): Make branches a union with blocks member.
2145 (struct source_info): Add functions member.
2146 (object_summary, program_count): New global variables.
2147 (flag_all_blocks, flag_unconditional): New flags.
2148 (find_source, output_branch_count): New functions.
2149 (print_usage): Adjust.
2151 (process_args): Adjust.
2152 (read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
2153 <GCOV_TAG_BLOCKS>: Read flags.
2154 <GCOV_TAG_LINES>: Adjust.
2155 (read_count_file): Process SUMMARY tags.
2156 (solve_flow_graph): Set is_unconditional and clear is_call_site
2158 (add_branch_counts): Adjust. Don't count unconditional branches.
2159 (add_line_counts): Deal with all-blocks mode, accumulate block
2161 (accumulate_line_counts): Adjust, generate local spanning tree for
2163 (output_lines): Adjust.
2164 * profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
2165 * doc/gcov.texi: Document.
2167 2003-03-31 Kazu Hirata <kazu@cs.umass.edu>
2169 * config/h8300/h8300.md: Organize peephole2's that transform
2170 (compare (reg:HI) (const_int)).
2172 2003-03-31 Roger Sayle <roger@eyesopen.com>
2174 * emit-rtl.c (dconstm2, dconsthalf): New real constants.
2175 (init_emit_once): Initialize dconstm2 and dconsthalf here.
2176 * real.h (dconstm2, dconsthalf): Add prototypes here.
2177 * real.c (real_sqrt): Use dconsthalf rather than local copy.
2178 * builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
2179 exp(x/2.0) remember to fold the division if possible.
2180 Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
2181 pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
2182 1.0/(x*x) and pow(x,0.5) as sqrt(x).
2184 2003-03-31 Kazu Hirata <kazu@cs.umass.edu>
2186 * config/h8300/h8300.md (a new peephole2): New.
2188 2003-03-31 Richard Sandiford <rsandifo@redhat.com>
2190 * gcse.c (simple_mem): Return false for floating-point accesses
2191 if flag_float_store is true.
2193 2003-03-30 Roger Sayle <roger@eyesopen.com>
2195 * gcse.c (gcse_constant_p): New function to identify constants
2196 suitable for constant propagation, including COMPARE with two
2197 integer constant arguments.
2198 (hash_scan_set): Use gcse_constant_p.
2199 (find_avail_set): Likewise.
2200 (cprop_insn): Likewise.
2201 (do_local_cprop): Likewise.
2202 (find_implicit_sets): Likewise.
2203 (find_bypass_set): Likewise.
2205 2003-03-30 Matt Kraai <kraai@alumni.cmu.edu>
2207 * except.h: Remove definition of varray_type.
2209 2003-03-30 Richard Henderson <rth@redhat.com>
2211 PR opt/10011, opt/10252:
2212 * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
2213 before post-gcse cse pass.
2215 2003-03-30 Roger Sayle <roger@eyesopen.com>
2217 * dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
2219 2003-03-30 DJ Delorie <dj@redhat.com>
2221 * profile.c (instrument_edges): Make sure any newly created
2222 jump insns have correct jump label info.
2224 2003-03-30 Richard Henderson <rth@redhat.com>
2226 * cfgbuild.c (make_edges): Use tablejump_p.
2227 * cfgcleanup.c (label_is_jump_target_p): Likewise.
2228 * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
2229 * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
2230 (try_redirect_by_replacing_jump): Likewise.
2231 (redirect_edge_and_branch): Likewise.
2232 * cse.c (fold_rtx): Likewise.
2233 * jump.c (delete_related_insns): Likewise.
2234 * rtlanal.c (get_jump_table_offset): Likewise.
2235 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
2237 2003-03-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2239 * Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
2240 (STRICT2_WARN): Likewise.
2242 2003-03-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2245 * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
2246 * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
2248 2003-03-30 Richard Henderson <rth@redhat.com>
2251 * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
2252 don't zero_extend const inputs.
2254 2003-03-30 Kazu Hirata <kazu@cs.umass.edu>
2256 * reload1.c (reload_cse_move2add): Fix a comment typo.
2258 2003-03-30 Kazu Hirata <kazu@cs.umass.edu>
2260 * config/h8300/h8300.md (a peephole2): Remove useless code.
2262 2003-03-29 Kazu Hirata <kazu@cs.umass.edu>
2264 * config/h8300/h8300.md (*iorsi3_and_ashift): New.
2265 (*iorsi3_and_lshiftrt): Likewise.
2266 (*iorsi3_zero_extract): Likewise.
2268 2003-03-29 Kazu Hirata <kazu@cs.umass.edu>
2270 * config/h8300/h8300.md (*insv_si_8_8): New.
2271 (*insv_si_8_8_lshiftrt_8): Likewise.
2272 (a peephole2): Likewise.
2274 2003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2276 * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
2277 Uniformly use bugfix instead of bug fix.
2279 2003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2282 * ONEWS: Remove those items that already appear in the EGCS
2283 release notes on our web pages.
2285 2003-03-29 Alan Modra <amodra@bigpond.net.au>
2287 * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
2288 TARGET_HARD_FLOAT. Reformat.
2289 (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
2291 2003-03-28 Albert Chin-A-Young <china@thewrittenword.com>
2293 * gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
2294 work on Solaris 2.5.1.
2296 2003-03-28 Kazu Hirata <kazu@cs.umass.edu>
2298 * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
2300 (*addsi3_and_nor_r_1): Likewise.
2302 2003-03-29 Ulrich Weigand <uweigand@de.ibm.com>
2304 * config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
2305 set up before any trapping memory access if flag_non_call_exceptions.
2307 2003-03-29 Alan Modra <amodra@bigpond.net.au>
2309 * reload1.c (reload_as_needed): Allow a USE in asm reloads.
2311 * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
2313 2003-03-28 Nathanael Nerode <neroden@gcc.gnu.org>
2315 * configure.in: Clarify comments.
2316 * configure: Regenerate.
2318 2003-03-28 Ulrich Weigand <uweigand@de.ibm.com>
2320 * config/s390/s390.md ("literal_pool_31"): Output pool anchor
2321 label even if pool empty when generating PIC.
2322 ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
2324 2003-03-28 Kazu Hirata <kazu@cs.umass.edu>,
2325 Dhananjay Deshpande <dhananjayd@kpit.com>
2328 * config/h8300/h8300.c (h8300_initial_elimination_offset):
2329 Correct the offset computation when TARGET_NORMAL.
2331 2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
2334 * config/sparc/sparc.md (jump pattern): Correct order
2335 when issuing the annuling marker.
2337 2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
2340 * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
2341 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
2343 2003-03-28 Alan Modra <amodra@bigpond.net.au>
2345 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
2347 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
2348 * config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
2349 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
2350 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
2351 * config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
2352 * config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
2353 * config/v850/v850.c (v850_output_aligned_bss): Likewise.
2355 2003-03-28 Alan Modra <amodra@bigpond.net.au>
2357 * loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
2358 (replace_loop_mems): Add "written" param. Remove invalid REG_EQUAL
2359 notes after hoisting.
2360 (load_mems): Adjust replace_loop_mems call.
2362 2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
2363 Richard Henderson <rth@redhat.com>
2365 PR target/10114 and PR target/10084
2366 * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
2368 2003-03-27 Richard Henderson <rth@redhat.com>
2370 * config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
2372 2003-03-27 Roger Sayle <roger@eyesopen.com>
2374 * fold-const.c (fold_inf_compare): New function to simplify FP
2375 comparisons against +Infinity or -Infinity.
2376 (fold): Optimize floating point comparisons against Infs and NaNs.
2378 2003-03-27 Janis Johnson <janis187@us.ibm.com>
2380 * libgcov.c: Provide only dummy functions if libc is not available.
2382 2003-03-27 Richard Henderson <rth@redhat.com>
2384 * real.h (struct real_value): Add signalling.
2385 (EXP_BITS): Decrement.
2386 * real.c (get_canonical_qnan): Don't set MSB-1.
2387 (get_canonical_snan): Likewise. Set signalling.
2388 (real_identical): Compare signalling.
2389 (round_for_format): Remove force-one-bit on code.
2390 (real_nan): Likewise. Set signalling.
2391 (encode_ieee_single): Add force-one-bit code; honor signalling.
2392 (encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
2393 (decode_ieee_single): Set signalling.
2394 (decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
2396 2003-03-27 Olivier Hainque <hainque@act-europe.fr>
2399 * ada/Makefile.in (gnatlib configuration for HPUX): Split
2400 the general section for HPUX into specific sections for
2401 HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
2404 2003-03-27 Glen Nakamura <glen@imodulo.com>
2407 * loop.c (loop_givs_reduce): Skip bivs with duplicate locations
2408 while incrementing giv.
2409 (record_biv): Check for duplicate biv locations and
2410 set (struct induction *) v->same if found.
2412 2003-03-27 David Mosberger <davidm@hpl.hp.com>
2414 * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
2415 v0.9 API change: replace read of UNW_REG_HANDLER with
2416 unw_get_proc_info().
2417 (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
2418 with unw_get_proc_info().
2419 (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
2420 unw_get_proc_info().
2422 2003-03-27 Vladimir Makarov <vmakarov@redhat.com>
2424 * config/rs6000/8540.md: Use presence_set instead of absence_set.
2426 2003-03-26 Richard Henderson <rth@redhat.com>
2428 * c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
2430 2003-03-26 Roger Sayle <roger@eyesopen.com>
2432 PR bootstrap/10051, PR bootstrap/10169.
2433 * mips-tfile.c (init_file): Don't provide a static initializer.
2434 (initialize_init_file): Initialize the contents of init_file.
2435 (add_file): Call initialize_init_file if not already initialized.
2437 2003-03-26 Ulrich Weigand <uweigand@de.ibm.com>
2439 * config/s390/s390.c (s390_optimize_prolog): Do not save/restore
2440 registers used for global asm variables.
2441 (s390_frame_info, s390_arg_frame_offset): Likewise.
2442 (s390_emit_prologue, s390_emit_epilogue): Likewise.
2444 2003-03-26 Vladimir Makarov <vmakarov@redhat.com>
2446 * config/rs6000/8540.md: New file.
2448 * config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
2449 power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
2450 reservations for imul.
2452 * config/rs6000/rs6000.md: Include 8540.md. Change
2453 delayed_compare onto mult_compare for insns generating
2455 (mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
2456 New type attribute values.
2458 * config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
2459 fpsimple instead of fp.
2460 (*divsf3_gpr): Use type vecfdiv instead of fp.
2461 (spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
2462 instead of vecfloat.
2463 (spe_evfsdive): Use type vecfdiv instead of vecfloat.
2464 (spe_brinc): Use type brinc instead of veccomplex.
2465 (spe_evaddw, spe_evaddiw): Use type vecsimple instead of
2467 (spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
2468 (*movv2si_internal, *movv1di_internal, *movv4hi_internal,
2469 *movv2sf_internal): Define type attribute values for all
2471 (cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
2473 (tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
2474 instead of fpcompare.
2476 2003-03-26 David Edelsohn <edelsohn@gnu.org>
2478 * config/rs6000/power4.md: Allow delay between dispatch and
2479 function units for simple instructions. Correct store units.
2480 Allow branch to occupy as many dispatch slots as necessary.
2482 2003-03-26 Jakub Jelinek <jakub@redhat.com>
2484 * config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
2485 (ia64_expand_compare_and_swap): Use always DImode ar.ccv,
2486 zero extend old to it.
2487 * config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
2490 2003-03-26 Eric Botcazou <ebotcazou@libertysurf.fr>
2493 * reload.c (find_reloads_address): Handle
2494 (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
2497 2003-03-25 Marcelo Abreu <mmabreu@inf.ufrgs.br>
2500 * version.c: Reference the GCC web site in the URL.
2502 2003-03-26 Alan Modra <amodra@bigpond.net.au>
2504 * c-incpath.c (add_standard_paths): Add both "translated" and
2505 non-translated header paths.
2507 2003-03-25 Loren James Rittle <ljrittle@acm.org>
2509 * doc/install.texi (*-*-freebsd*): Update with known status.
2511 2003-03-21 Jason Merrill <jason@redhat.com>
2513 PR optimization/10171
2514 * unroll.c (unroll_loop): Don't delete the jump at the end unless
2515 we also delete a jump at the beginning.
2517 2003-03-25 Stephane Carrez <stcarrez@nerim.fr>
2519 * doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
2522 Tue Mar 25 20:35:51 CET 2003 Jan Hubicka <jh@suse.cz>
2524 * i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
2525 constants are not expensive.
2527 Mon Mar 24 20:03:03 CET 2003 Jan Hubicka <jh@suse.cz>
2530 * cfglayout.c (fixup_reorder_chain): Fix dealing with the conditional
2531 jump jumping to the next instruction.
2532 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
2534 2003-03-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2536 * doc/passes.texi (Passes): Properly document that we do not
2537 perform jump2 any longer; remove command-line option -dJ.
2539 2003-03-25 Eric Botcazou <ebotcazou@libertysurf.fr>
2541 PR optimization/8746
2542 * config/i386/i386.md (and promoting splitters): Disable HImode to
2543 SImode promoting when the sign bit matters and is not preserved, or
2544 when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
2547 2003-03-24 Kazu Hirata <kazu@cs.umass.edu>
2549 * config/h8300/h8300.md (a peephole2): Extend to support loads
2550 in QImode and HImode.
2552 2003-03-24 Stephane Carrez <stcarrez@nerim.fr>
2554 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
2556 (MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
2557 (MULTILIB_EXCEPTIONS): Likewise.
2558 * config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
2559 by calling some board support routine.
2560 ("call_value"): Likewise.
2561 ("*return_void"): Likewise for return.
2562 ("*return_16bit"): Likewise.
2563 ("*return_32bit"): Likewise.
2564 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
2566 (DWARF2_ADDR_SIZE): Use 4 so that addresses can
2567 * config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
2568 -mlong-calls for 68HC11.
2569 * config/m68hc11/larith.asm (declare_near): New macro.
2570 (__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
2571 (___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
2572 (___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
2573 (___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
2574 (__mulhi32): Likewise.
2575 (ret): Update macro for 68HC11.
2576 (__far_trampoline): Implement for 68HC11.
2577 (__call_a16, __call_a32, __return_void, __return_16): New support
2578 routines for 68HC11 memory bank switching calling support.
2579 (__return_32): Likewise.
2581 2003-03-24 Neil Booth <neil@daikokuya.co.uk>
2583 * toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
2585 2003-03-24 Janis Johnson <janis187@us.ibm.com>
2587 * doc/install.texi (Testing): Mention test result links from build
2590 2003-03-24 Mark Mitchell <mark@codesourcery.com>
2592 * function.c (put_var_into_stack): Change bool parameter to int.
2593 (gen_mem_addressof): Likewise.
2594 * rtl.h (gen_mem_addressof): Likewise.
2595 * tree.h (put_var_into_stack): Likewise.
2596 * config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
2597 gen_mem_addressof or put_var_into_stack.
2598 * config/c4x/c4x.c (c4x_expand_builtin): Likewise.
2599 * config/ia64/ia64.c (spill_tfmode_operand): Likewise.
2601 2003-03-24 Kazu Hirata <kazu@cs.umass.edu>
2603 * config/h8300/h8300.md (a peephole2): New.
2605 2003-03-24 Jakub Jelinek <jakub@redhat.com>
2607 * dojump.c (do_jump): Handle UNSAVE_EXPR specially.
2609 2003-03-24 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2611 * doc/contrib.texi (Contributors): Update Janis Johnson.
2613 2003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
2616 * combine.c (simplify_if_then_else): Check that the mode
2617 has MODE_INT class before applying the (OP Z (mult COND C2))
2620 2003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
2622 PR optimization/9414
2623 * config/sparc/sparc.md (widening peepholes): Use
2624 widen_memory_access instead of change_address.
2626 2003-03-23 Mark Mitchell <mark@codesourcery.com>
2629 * c-typeck.c (c_mark_addressable): Adjust calls to
2631 * expr.c (expand_expr): Likewise.
2632 * function.c (put_var_into_stack): Add rescan parameter. Do not
2633 call fixup_var_refs when rescan is false.
2634 (gen_mem_addressof): Likewise.
2635 (assign_parms): Adjust calls to put_var_into_stack.
2636 (setjmp_protect): Likewise.
2637 (setjmp_protect_args): Likewise.
2638 * rtl.h (gen_mem_addressof): Change prototype.
2639 * stmt.c (expand_decl): Adjust calls to put_var_into_stack.
2640 * tree.h (put_var_into_stack): Change prototype.
2642 2003-03-23 Arpad Beszedes <beszedes@cc.u-szeged.hu>
2645 * builtins.c (expand_builtin_fputs): When optimizing for size,
2646 don't transform fputs into fwrite.
2648 2003-03-23 Glen Nakamura <glen@imodulo.com>
2651 * fold-const.c (extract_muldiv_1): Don't pass through type conversions
2652 when signedness changes for division or modulus.
2654 2003-03-24 Alan Modra <amodra@bigpond.net.au>
2656 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
2659 2003-03-23 Roger Sayle <roger@eyesopen.com>
2662 * stmt.c (expand_end_case_type): Check for overflow in range when
2663 determining whether to use a bit-test implementation.
2665 2003-03-23 Richard Henderson <rth@redhat.com>
2667 * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
2669 * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
2671 2003-03-23 Richard Henderson <rth@redhat.com>
2674 * ifcvt.c (find_if_block): Disallow tablejump insns outgoing
2675 from then_bb or else_bb after flow2.
2677 2003-03-23 Zack Weinberg <zack@codesourcery.com>
2679 * configure.in: Check whether it is necessary to link against
2681 * configure: Regenerate.
2682 * Makefile.in: Add LDEXP_LIB substitution variable.
2684 2003-03-23 Kazu Hirata <kazu@cs.umass.edu>
2686 * config/h8300/h8300.md: Fix comment typos.
2688 2003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2690 * pa.c (output_cbranch): Fix typo in comment.
2692 2003-03-22 Richard Henderson <rth@redhat.com>
2694 * cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
2697 2003-03-22 DJ Delorie <dj at redhat dot com>,
2698 Bruce Korb <bkorb at gnu dot org>
2700 * fixinc/inclhack.def (solaris_mutex_init_1): New; Fix
2701 buggy Solaris 2.6 mutex/cond initializers.
2702 (solaris_mutex_init): Rename to solaris_mutex_init_2.
2703 * fixinc/fixincl.x: Regenerate.
2704 * fixinc/tests/base/pthread.h: Update.
2705 * fixinc/fixincl.c(initialize): be explicit about the default case
2706 and indicate verbose level when being very, very verbose.
2707 * fixinc/check.tpl(VERBOSE): provide a means for passing the value in
2709 2003-03-22 Andreas Jaeger <aj@suse.de>
2711 * config/i386/i386.c (ix86_init_machine_status): Return value.
2713 2003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2715 * pa.c (output_cbranch, output_bb, output_bvb): Output nop for
2716 conditional branch to the following instruction. Use next_real_insn
2717 instead of next_active_insn.
2718 (output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
2719 instead of next_active_insn.
2721 2003-03-22 Ulrich Weigand <uweigand@de.ibm.com>
2723 * config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o'
2724 instead of 'm' constraint in forced-split alternatives.
2725 ("*adddi3_31", "*subdi3_31"): Likewise. Also, pass 0 instead of 1 as
2726 VALIDATE_ADDRESS parameter to operand_subword.
2728 2003-03-22 Kazu Hirata <kazu@cs.umass.edu>
2730 * config/h8300/h8300.c (notice_update_cc): Correctly handle
2731 the case where the set destination is STRICT_LOW_PART.
2733 2003-03-22 Svein E. Seldal <Svein.Seldal@solidas.com>
2735 * config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
2736 c30 instead of a c40 processor.
2738 2003-03-22 Alan Modra <amodra@bigpond.net.au>
2740 * combine.c (simplify_comparison <AND>): Use gen_int_mode. Tidy.
2742 2003-03-21 Zack Weinberg <zack@codesourcery.com>
2744 * c-common.c: Include intl.h.
2745 (shadow_warning): Rewrite to allow better diagnostic translations.
2746 * c-common.h: Update prototype of shadow_warning. Declare sw_kind enum.
2747 * c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
2749 * Makefile.in (c-common.o): Add intl.h.
2751 2003-03-21 Nathanael Nerode <neroden@gcc.gnu.org>
2753 * config.gcc: Remove 'float_format'.
2755 * fixproto: Define NULL and size_t in generated stdlib.h and
2756 unistd.h. Kill unused required_stdlib_h, required_unistd_h.
2757 Rearrange file generation loop for readability. Generate time.h,
2758 string.h if missing.
2759 * tsystem.h: Include <string.h>, <time.h> unconditionally.
2760 * config.gcc: Blow away POSIX defines.
2762 2003-03-22 Stephane Carrez <stcarrez@nerim.fr>
2764 * config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
2766 2003-03-22 Stephane Carrez <stcarrez@nerim.fr>
2768 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
2769 writing .interrupt command.
2770 * config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
2771 if it's a far or near function.
2772 ("call_value"): Likewise.
2773 * config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
2775 (m68hc11_handle_fntype_attribute): Accept attributes on methods.
2776 (m68hc11_override_options): Ignore -mlong-calls for 68HC11.
2777 (m68hc11_initial_elimination_offset): Set current_function_far
2778 according to attributes.
2779 (expand_prologue): Likewise.
2780 (trap_handler_symbol): New global to keep track of trap handlers.
2781 (m68hc11_encode_section_info): Mark symbol as far if needed; set
2783 (m68hc11_is_far_symbol): New function.
2784 (m68hc11_is_trap_symbol): New function.
2785 * config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
2786 (m68hc11_is_trap_symbol): Declare.
2788 2003-03-21 Jan Hubicka <jh@suse.cz>
2790 * i386.c (ix86_compute_frame_layout): Recompute fast prologues
2791 only when amount of saved regs changed.
2792 (ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
2793 * i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
2795 2003-03-21 Jan Hubicka <jh@suse.cz>
2798 * function.c (instantiate_virtual_regs_lossage): New function.
2799 (instantiate_virtual_regs_1): Use it.
2800 (instantiate_virtual_regs): Do not continue in substition when insn has
2803 2003-03-21 Kazu Hirata <kazu@cs.umass.edu>
2805 * combine.c (make_field_assignment): Fix a warning.
2807 2003-03-21 Kazu Hirata <kazu@cs.umass.edu>
2809 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt_16): New.
2811 2003-03-21 Dale Johannesen <dalej@apple.com>
2813 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Increase
2814 priority for R2 on Darwin.
2815 (HARD_REGNO_MODE_OK): Don't accept R31 for DFmode.
2817 2003-03-21 Kazu Hirata <kazu@cs.umass.edu>
2819 * combine.c (make_field_assignment): Remove unnecessary AND
2820 when storing into zero_extract.
2822 2003-03-21 Zack Weinberg <zack@codesourcery.com>
2824 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT, gcc_AC_C_FLOAT_FORMAT): Delete.
2825 * configure.in: Don't call gcc_AC_C_FLOAT_FORMAT.
2826 * defaults.h: Remove reference to HOST_FLOAT_WORDS_BIG_ENDIAN
2829 2003-03-21 DJ Delorie <dj@redhat.com>
2831 * optabs.c (init_integral_libfuncs): Make sure we init at least up
2832 to "long long" size words.
2834 2003-03-21 Ulrich Weigand <uweigand@de.ibm.com>
2836 * config/s390/s390.h: Do not include fixdfdi.h on s390x.
2837 (TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
2838 (MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
2840 2003-03-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2843 * doc/extend.texi: Move misplaced paragraph about underscores in
2844 variables in macros.
2846 2003-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
2847 Richard Henderson <rth@redhat.com>
2849 PR optimization/8366
2850 * config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
2851 (GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
2852 PIC+SYMBOLIC_CONST in other modes than Pmode.
2853 (GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
2854 the form PIC+SYMBOLIC_CONST as mode dependent.
2856 2003-03-21 DJ Delorie <dj@redhat.com>
2858 * config/stormy16/stormy16.c (xstormy16_expand_arith): Make
2859 sure we always emit at least one insn.
2861 2003-03-21 Christopher Faylor <cgf@redhat.com>
2863 * config.gcc (i[34567]86-*-cygwin*): Use new common makefile
2864 stub t-cygming. Use common target header cygming.h. Add extra
2865 c_target_obj and cxx_target_obj file. Default cygwin to posix
2866 threading. Enforce i386 as float format.
2867 (i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
2868 Remove cygwin.h as target header. Use common target header
2869 cygming.h Enforce i386 as float format. Correct typo.
2870 * config/i386/cygming.h: New file, containing definitions
2871 common to mingw32 and cygwin.
2872 * config/i386/cygwin.h: Remove definitions common to cygwin and
2873 mingw. Simplify special spec logic. Define "wrappers" around
2874 certain include path defines to accommodate -mno-cygwin.
2875 Remove some #if 0'ed code.
2876 (STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
2877 (LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
2878 (GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
2879 * config/i386/mingw32.h: Remove definitions common to cygwin and
2881 (EXTRA_OS_CPP_BUILTINS): Adjust.
2882 (TARGET_VERSION): Define.
2883 * config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
2884 mingw32.h definitions.
2885 (LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
2886 * config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
2887 Add compilation rules for cygwin1.o cygwin2.o.
2888 * config/i386/cygwin1.c: New file.
2889 * config/i386/cygwin2.c: New file.
2890 * config/i386/t-cygming: New makefile stub.
2892 2003-03-20 Richard Henderson <rth@redhat.com>
2894 * fold-const.c (extract_muldiv_1): Revert changing order of
2895 operands in case MULT_EXPR of 2003-02-16 patch.
2897 2003-03-20 Daniel Berlin <dberlin@dberlin.org>
2898 Merge changes from new-regalloc-branch
2900 From Michael Matz <matz@suse.de>
2901 * df.c (df_ref_record_1): Move init of loc to safe point.
2902 Only recurse on interesting things in parallels.
2903 Handle CLASS_CANNOT_CHANGE_MODE smarter.
2904 (df_uses_record): Ditto.
2906 * df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
2907 it's already okay to use memory operands in (IE doesn't require
2908 adding another insn or anything).
2910 2003-03-20 Richard Henderson <rth@redhat.com>
2913 * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
2914 different from word_mode.
2916 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
2918 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
2919 source operand to those that can be extracted with bld.
2921 2003-03-20 Richard Earnshaw <rearnsha@arm.com>
2924 * arm.md (UNSPEC_PIC_BASE): New constant.
2925 (pic_add_dot_plus_four): Wrap with unspec.
2926 (pic_add_dot_plus_eight): Likewise.
2928 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
2930 * config/h8300/h8300.md (*insv_si_1_n): New.
2931 (*insv_si_1_n_lshiftrt): Likewise.
2933 2003-03-20 Roger Sayle <roger@eyesopen.com>
2935 * fold-const.c (fold_mathfn_compare): New function to simplify
2936 comparisons against built-in math functions. Fold comparisons
2937 of sqrt against constants.
2938 (fold): Call fold_mathfn_compare when appropriate.
2940 2003-03-20 Richard Earnshaw <rearnsha@arm.com>
2942 * ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
2945 2003-03-20 Per Bothner <pbothner@apple.com>
2947 Various cleanups to help compile server.
2949 * cppinit.c (cpp_create_reader): Take extra hash_table* argument,
2950 and pass that to _cpp_init_hashtable.
2951 (cpp_read_main_file): Drop hash_table* argument; don't call
2952 _cpp_init_hashtable.
2953 * cpplib.h: Update declarations to match.
2954 * c-opts.c (c_common_init_options): Pass ident_hash to
2956 (c_common_post_options): Don't pass ident_hash to cpp_read_main_file.
2957 * fix-header.c (read_scan_file): Likewise pass NULL table to
2958 cpp_create_reader rather than cpp_read_main_file.
2960 * cppfiles.c (cpp_rename_file): Generalized and renamed
2962 * cpplib.h: Update declaration to match.
2963 * c-opts.c (push_command_line_line, finish_options): Change
2964 cpp_rename_file calls to cpp_change_file.
2966 * line-map.c (add_line_map): Allow leaving the outermost file.
2967 Allowing entering an outermost-file after the initial time.
2969 * toplev.c (pop_srcloc): Allow popping from initial file.
2971 2003-03-20 Kazu Hirata <kazu at cs dot umass dot edu>
2973 * fold-const.c (fold): Fold A - (A & B) into ~B & A.
2975 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
2977 * config/h8300/h8300.md (a peephole2): New.
2979 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
2981 * config/h8300/h8300.md (*addsi3_and_r_1): New.
2982 (*addsi3_and_not_r_1): Likewise.
2984 2003-03-19 Loren James Rittle <ljrittle@acm.org>
2986 * Makefile.in (STRICT2_WARN): Add @WERROR@.
2987 (GCC_WARN_CFLAGS): Remove $(WERROR).
2988 (fixinc.sh-warn): New.
2989 * ada/Make-lang.in (ada-warn): Add $(WERROR).
2990 * cp/Make-lang.in (cp-warn): Add $(WERROR).
2991 * f/Make-lang.in (f-warn): Add $(WERROR).
2992 * java/Make-lang.in (java-warn): Add $(WERROR).
2993 * treelang/Make-lang.in (treelang-warn): Add $(WERROR).
2995 2003-03-19 Nathanael Nerode <neroden@gcc.gnu.org>
2997 * c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
2998 langhooks-def.h (lhd_tree_dump_dump_tree),
2999 langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
3000 Change return type from 'int' to 'bool'. Replace 0 and 1 with
3001 true and false in return statements.
3003 2003-03-19 Kevin Buettner <kevinb@redhat.com>
3005 * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
3006 (DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
3007 DWARF_INITIAL_LENGTH_SIZE.
3008 (output_compilation_unit_header, output_pubnames, output_aranges)
3009 (output_line_info): Output 0xffffffff escape value for 64-bit
3011 * config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
3013 2003-03-19 Ulrich Weigand <uweigand@de.ibm.com>
3015 * config/s390/s390.c (s390_preferred_reload_class): Do not
3016 force constants to the pool unless necessary.
3017 (s390_decompose_address): Prefer to use pointer as base,
3019 * config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
3021 ("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
3022 "*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
3023 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
3024 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
3025 "*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
3027 2003-03-19 Jan Hubicka <jh@suse.cz>
3029 * i386.h (machine_function): New fields use_fast_prologue_epilogue.
3030 * i386.c (use_fast_prologue_epilogue): Remove.
3031 (ix86_frame): New field save_regs-using_mov;
3032 (ix86_compute_frame_layout): Decide on fast prologues;
3033 allocate saved registers in red zone.
3034 (ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.
3036 2003-03-19 Nick Clifton <nickc@redhat.com>
3038 * config/mcore/mcore.h (CPP_SPEC): Remove trailing semi-colon.
3040 2003-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3043 * config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
3044 * pa-protos.h (output_lbranch): New prototype.
3045 * pa.c (compute_frame_size): Change size of the frame marker on the
3046 64-bit ports to 48 bytes.
3047 (pa_output_function_prologue): Document why SAVE_SP is set.
3048 (hppa_expand_prologue): Save previous stack pointer into frame marker
3049 on targets which use the hpux unwind library.
3050 (output_cbranch): Use output_lbranch.
3051 (output_lbranch): New function to output long unconditional branches.
3052 * pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
3053 (STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
3055 * pa.md (jump): Use output_lbranch.
3056 (allocate_stack): New expander for dynamic stack allocation.
3058 2003-03-19 Alan Modra <amodra@bigpond.net.au>
3060 * config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
3061 when debugging on XCOFF targets. Delete "abi" temp.
3064 * combine.c (force_to_mode <NOT>): Use gen_int_mode.
3066 2003-03-18 Jakub Jelinek <jakub@redhat.com>
3068 * config/s390/s390.c (s390_output_dwarf_dtprel): New.
3069 * config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto.
3070 * config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.
3072 * config/ia64/ia64.c (ia64_output_dwarf_dtprel): New.
3073 * config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto.
3074 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define.
3076 2003-03-18 Geoffrey Keating <geoffk@apple.com>
3078 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't clone
3079 the result of machopic_function_base_name.
3080 * config/darwin.c (machopic_function_base_name): Use a gc-allocated
3081 string rather than a static array.
3083 * Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
3085 * gengtype.c: Include rtl.h.
3086 (enum rtx_code): Don't define.
3087 (rtx_format): Make declaration match rtl.h.
3088 (rtx_next_new): Rename from rtx_next to avoid conflict. Change all
3090 (adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
3091 * Makefile.in (gengtype.o): Update dependencies.
3093 2003-03-18 Andreas Schwab <schwab@suse.de>
3095 * config/m68k/m68k.md (iordi3): Fix setting low half to -1. From
3098 2003-03-18 Geoffrey Keating <geoffk@apple.com>
3100 * function.c (next_block_index): Mark with GTY.
3102 * config/rs6000/rs6000.md (macho_correct_pic): Correct pattern.
3104 2003-03-18 Richard Henderson <rth@redhat.com>
3106 * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
3107 (builtin_setjmp_receiver): Delay call to ia64_reload_gp
3110 2003-03-18 Richard Henderson <rth@redhat.com>
3112 * builtins.c (expand_builtin_unop): New target_mode operand;
3113 use it to convert the result to the correct mode.
3114 (expand_builtin): Update all callers.
3116 2003-03-18 Ulrich Weigand <uweigand@de.ibm.com>
3118 * config/s390/s390.md ("movti", "movhi", "movqi"): Add "type" attribute.
3120 2003-03-18 Jan Hubicka <jh@suse.cz>
3122 * i386.md: Fix previous commit that mistakely applied the patch
3125 * alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
3127 (memrefs_conflict_p): Likewise.
3128 (addr_side_effect_eval): Canonicalize the constructed address.
3130 2003-03-18 Jan Hubicka <jh@suse.cz>
3132 * i386.md (cvtts?2si peep2): New.
3134 2003-03-18 Kazu Hirata <kazu@cs.umass.edu>
3136 * config/h8300/h8300.md (*iorsi3_two_qi_zext): New.
3138 2003-03-18 Andreas Schwab <schwab@suse.de>
3140 * dwarf2out.c (output_file_names): Cast size_t to unsigned long
3143 2003-03-17 Jason Merrill <jason@redhat.com>
3146 * expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
3147 an unaligned member of TREE_ADDRESSABLE type.
3149 2003-03-18 Alan Modra <amodra@bigpond.net.au>
3151 * config/rs6000/linux64.h (MASK_PROFILE_KERNEL): Define.
3152 (TARGET_PROFILE_KERNEL): Define.
3153 (SUBTARGET_SWITCHES): Handle -mprofile-kernel.
3154 (PROFILE_BEFORE_PROLOGUE): Don't define.
3155 (PROFILE_KERNEL): Remove hacks.
3156 * config/rs6000/rs6000.c (TARGET_PROFILE_KERNEL): Define default.
3157 (rs6000_stack_info): No need to save lr if just for profiling when
3158 TARGET_PROFILE_KERNEL.
3159 (output_profile_hook): Output nothing when TARGET_PROFILE_KERNEL.
3160 (output_function_profiler): Localize label generation. Emit code
3161 for kernel profiling.
3163 2003-03-17 Kazu Hirata <kazu@cs.umass.edu>
3165 * config/h8300/h8300-protos.h: Add a prototype for
3166 byte_accesses_mergeable_p.
3167 * config/h8300/h8300.c (byte_accesses_mergeable_p): New.
3168 * config/h8300/h8300.md (*iorhi3_two_qi_mem): Likewise.
3169 (a splitter): Likewise.
3170 (*iorsi3_ashift_16_ashift_24): Likewise.
3171 (*iorsi3_ashift_16_ashift_24_mem): Likewise.
3173 2003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3175 * dwarf2asm.h: Delete obsolete comment.
3176 (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
3177 dw2_asm_output_pcrel, dw2_asm_output_addr,
3178 dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
3179 dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
3180 dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
3181 dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.
3183 2003-03-17 Zack Weinberg <zack@codesourcery.com>
3185 * c-tree.h (struct lang_identifier): Remove error_locus field.
3186 (IDENTIFIER_ERROR_LOCUS): Kill.
3187 (record_function_scope_shadow): New prototype.
3188 * c-typeck.c (build_external_ref): Don't complain if
3189 decl is error_mark_node. When not at file scope, bind the
3190 decl's local value to error_mark_node to suppress further
3191 warnings, instead of setting IDENTIFIER_ERROR_LOCUS.
3193 * c-decl.c (get_function_binding_level): New static function.
3194 (record_function_scope_shadow): New exported function.
3195 (c_make_fname_decl): Use get_function_binding_level.
3197 2003-03-17 Steve Ellcey <sje@cup.hp.com>
3199 * stmt.c (tail_recursion_args): Call promote_mode to set
3200 unsignedp flag correctly before calling convert_move.
3202 2003-03-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3204 * loop-unroll.c (decide_peel_completely,
3205 decide_unroll_constant_iterations, decide_unroll_stupid,
3206 decide_unroll_runtime_iterations, decide_peel_simple): Set
3209 2003-03-17 Jan Hubicka <jh@suse.cz>
3211 * ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
3213 2003-03-17 Olivier Hainque <hainque@act-europe.fr>
3215 * function.c (assign_parms): For a struct value address passed as
3216 first argument, delay the function's result RTL setup code until
3217 after the emission of parameter conversions.
3219 2003-03-17 Dave Love <fx@gnu.org>
3220 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3222 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
3223 __arch64__ to match Compaq cc.
3225 2003-03-17 Neil Booth <neil@daikokuya.co.uk>
3227 * c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
3228 (c_common_init): Set EBCDIC in cpp options.
3229 * cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
3230 not conditional compilation.
3231 * cpplib.h (struct cpp_options): New entry EBCDIC.
3233 2003-03-17 Neil Booth <neil@daikokuya.co.uk>
3235 * fix-header.c (read_scan_file): Need to malloc arguments to add_path.
3237 2003-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3239 * function.c (thread_prologue_and_epilogue_insns): Set delete_unused
3240 argument to 0 for redirect_jump.
3242 2003-03-16 Mark Mitchell <mark@codesourcery.com>
3245 * except.c (eh_region_u_cleanup): Add prev_try.
3246 (expand_eh_region_end_cleanup): Set it.
3247 (reachable_handlers): Use it to skip over cleanup blocks.
3249 2003-03-17 Andreas Jaeger <aj@suse.de>
3251 * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
3253 2003-03-17 Alan Modra <amodra@bigpond.net.au>
3255 * config/rs6000/linux64.h (TARGET_64BIT): Redefine.
3256 (TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
3257 (SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
3258 (SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
3260 2003-03-16 Richard Henderson <rth@redhat.com>
3262 * simplify-rtx (simplify_binary_operation): Don't abort for
3263 SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
3265 2003-03-16 Richard Henderson <rth@redhat.com>
3267 * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
3268 optimize_size as well.
3270 2003-03-16 Stephane Carrez <stcarrez@nerim.fr>
3272 * config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
3273 for D register to specify the low part of it, aka B.
3274 (m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
3275 the register if we are loading 1 or -1 to it; avoid using temp
3276 register when moving X/Y to Y/X.
3277 (m68hc11_gen_movqi): Likewise.
3278 (m68hc11_check_z_replacement): Fix last insn setting for compare case.
3280 2003-03-14 Mark Mitchell <mark@codesourcery.com>
3282 PR optimization/9016
3283 * config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
3284 into the constant pool.
3286 2003-03-16 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
3289 * tree.c (get_narrower): For extensions with unchanged bit number,
3290 return the unsignedness of the outer mode.
3292 2003-03-16 Roger Sayle <roger@eyesopen.com>
3294 * c-typeck.c (build_component_ref): Turn "for" into "do .. while"
3295 to avoid "may be used uninitialized" warning on ia64-hpux.
3296 * config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.
3298 2003-03-16 Andreas Jaeger <aj@suse.de>
3300 * configure.in: Improve check for memcheck.h.
3301 * configure: Regenerated.
3303 2003-03-16 Neil Booth <neil@daikokuya.co.uk>
3305 * doc/cppopts.texi: Remove documentation of -A-.
3307 2003-03-15 Zack Weinberg <zack@codesourcery.com>
3309 * doc/libgcc.texi: Remove @tie.
3311 2003-03-15 Josef Zlomek <zlomekj@suse.cz>
3313 * rtl.h (subrtx_p): Renamed to rtx_referenced_p.
3314 (rtx_pair): Added new element update_label_nuses, renamed to
3316 * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use
3317 replace_label_data instead of rtx_pair.
3318 * loop.c (load_mems): Likewise.
3319 * rtlanal.c (replace_label): Replace label in pool constants and in
3320 INSN_LIST (in REG_LABEL note).
3321 (subrtx_p): Renamed to rtx_referenced_p.
3322 (subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of
3323 LABEL_REF with CODE_LABEL, traverse constants from pool.
3325 2003-03-15 Aldy Hernandez <aldyh@redhat.com>
3326 Zack Weinberg <zack@codesourcery.com>
3328 * Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
3329 * doc/libgcc.texi: New file.
3330 * doc/interface.texi: Delete paragraph about libgcc interface.
3331 * doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.
3333 2003-03-15 Jason Merrill <jason@redhat.com>
3336 * dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
3339 * dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
3340 function DIEs at toplevel.
3341 (decls_for_scope): At -g1, don't descend into subblocks.
3343 2003-03-15 Ulrich Weigand <uweigand@de.ibm.com>
3345 * varasm.c (struct rtx_const): Change type of un.addr member
3346 to struct holding an additional 'symbol' member.
3347 (decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
3348 with equal string addresses as equal.
3349 (simplify_subtraction): Adapt to struct rtx_const change.
3351 2003-03-15 Neil Booth <neil@daikokuya.co.uk>
3353 * fix-header.c (read_scan_file): Read main file before handling -D.
3355 2003-03-15 Roger Sayle <roger@eyesopen.com>
3357 * c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
3358 * c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
3359 * cfgbuild.c (find_many_sub_basic_blocks): Likewise.
3360 (find_sub_basic_blocks): Likewise.
3361 * cgraphunit.c (cgraph_expand_functions): Likewise.
3362 * dwarf2out.c (prune_unused_types): Likewise.
3363 * expr.c (store_field): Likewise.
3364 * genextract.c (print_path): Likewise.
3365 * haifa-sched.c (schedule_insn): Likewise.
3366 * lcm.c (compute_antinout_edge): Likewise.
3367 * loop-unroll.c (decide_peel_once_rolling): Likewise.
3368 * ra-colorize.c (ra_colorize_free_all): Likewise.
3369 * ra-debug.c (dump_igraph): Likewise.
3370 (debug_hard_reg_set): Likewise.
3371 * reg-stack.c (reg_to_stack): Likewise.
3372 * rtlanal.c (refers_to_regno_p): Likewise.
3373 * tracer.c (layout_superblocks): Likewise.
3375 2003-03-15 Neil Booth <neil@daikokuya.co.uk>
3377 * fix-header.c (read_scan_file): Fix thinko.
3379 2003-03-15 Glen Nakamura <glen@imodulo.com>
3381 * reload1.c (choose_reload_regs): Use && instead of ||
3382 with REG_CANNOT_CHANGE_MODE_P condition.
3384 2003-03-15 Neil Booth <neil@daikokuya.co.uk>
3386 * Makefile.in: Update.
3387 * c-common.h (cb_register_builtins): Rename c_cpp_builtins.
3388 * c-lex.c (init_c_lex): Register builtins hook is dead.
3389 * c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
3390 (c_common_decode_option): Don't call cpp_handle_option.
3391 Handle -A, -D and -U.
3392 (handle_deferred_opts): Simplify.
3393 (finish_options): Define builtins and command line macros.
3394 * c-ppoutput.c (init_pp_output): Register builtins hook is dead.
3395 * cppinit.c: Don't include intl.h.
3396 (init_builtins): Rename cpp_init_builtins. No hook to call.
3397 (init_library): Don't need to sort options.
3398 (cpp_create_reader): Don't set pending.
3399 (cpp_destroy): Don't free pending.
3400 (struct pending_option, cl_directive_handler, struct cpp_pending,
3401 APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
3402 cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
3403 cl_options, cpp_handle_option): Remove.
3404 * cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
3405 cpp_finish_options): Remove.
3406 (cpp_init_builtins): New.
3407 * fix-header.c (read_scan_file): Update to handle -D. Fix
3408 handling of -I. Replace call to cpp_finish_options.
3410 2003-03-15 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3412 PR optimization/9387
3413 * function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
3414 for conditional returns.
3416 2003-03-14 Jason Merrill <jason@redhat.com>
3418 PR optimization/6871
3419 * varasm.c (assemble_variable): Leave constant zeroes in .rodata.
3421 2003-03-14 Neil Booth <neil@daikokuya.co.uk>
3423 * c-opts.c (finish_options): New.
3424 (COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
3425 (missing_arg): Handle OPT_include and OPT_imacros.
3426 (c_common_init, c_common_parse_file): Use finish_options.
3427 (handle_deferred_opts): Update.
3428 * cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
3429 (cpp_finish_options): Don't handle -imacros here.
3431 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
3433 2003-03-14 Jakub Jelinek <jakub@redhat.com>
3435 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
3436 rs6000_maybe_dead if !fromprolog.
3438 2003-03-14 Neil Booth <neil@daikokuya.co.uk>
3440 * Makefile.in: Update.
3441 * c-common.h (fe_file_change, pp_file_change): New.
3442 * c-lex.c (init_c_lex): Don't set cb_file_change.
3443 (c_common_parse_file): Move to c-opts.c.
3444 (cb_file_change): Rename fe_file_change.
3445 * c-opts.c: Include debug.h.
3446 (warn_unused_macros, include_cursor): New.
3447 (push_command_line_include, cb_file_change): New.
3448 (COMMAND_LINE_OPTIONS): Handle -include.
3449 (c_common_decode_option): Use local warn_unused_macros.
3451 (c_common_post_options): Set file change callback.
3452 (handle_deferred_opts): Skip -include. Don't free the array.
3453 (c_common_init): Call cpp_finish_options here, and push an
3454 initial -include file.
3455 * c-ppoutput.c (cb_file_change): Rename pp_file_change.
3456 (preprocess_file): Don't call cpp_finish_options.
3457 (init_pp_output): Don't set the file change callback.
3458 (pp_file_change): Return if no line commands or no output.
3459 * cpphash.h (next_include_file, first_unused_line): Remove.
3460 * cppinit.c (include_head, include_tail): Remove.
3461 (cpp_destroy): Don't free -include chain.
3462 (cpp_finish_options): Don't handle -include, or worry about
3464 (_cpp_maybe_push_include_file): Remove.
3465 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
3466 * cpplib.c (_cpp_pop_buffer): Don't handle -include.
3467 * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
3468 Used flag is set based upon the state of the warn_unused_macros
3469 flag, and so use of first_unused_line is unnecessary.