OSDN Git Service

* tree.c (decl_type_context): Return NULL_TREE if decl's context is a
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 4dc4f7f..53d4d0d 100644 (file)
@@ -1,3 +1,339 @@
+2002-05-24  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * tree.c (decl_type_context): Return NULL_TREE if decl's context is a
+       namespace.
+
+2002-05-24  Andreas Jaeger  <aj@suse.de>
+
+       * ggc-page.c (alloc_page): Cast variables of type size_t to
+       unsigned long, adjust printf format string.
+       (ggc_alloc): Likewise.
+       (ggc_print_statistics): Likewise.
+       (ggc_print_statistics): Correct printf format string for SCALE to
+       use unsigned long.
+
+2002-05-24  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
+
+2002-05-23  Gabriel Dos Reis  <gdr@codesourcery.com>
+            Zack Weinberg     <zack@codesourcery.com>
+
+       * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
+       quoted strings.
+       * dwarf2out.c (lookup_filename): Properly quote filename in .file
+       directive in assembly file.
+       * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
+       * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
+       * config/pj/pj.h (ASM_FILE_START): Likewise.
+       * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
+       * config/avr/avr.c (asm_file_end): Likewise.
+       * toplev.c (output_quoted_string): Handle possibly signed plain
+       char.
+       * toplev.h (output_clean_symbol_name): Declare
+       * toplev.c (output_clean_symbol_name): Define.
+       * config/alpha/alpha.c (unicosmk_output_module_name): Use it.
+       * config/1750a/1750a.h (ASM_FILE_START): Likewise.
+
+2002-05-24  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
+
+2002-05-23  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
+       of size of unsigned.
+
+2002-05-23  Richard Henderson  <rth@redhat.com>
+
+       * configure.in (HAVE_AS_TLS): New test.
+       * config.in, configure: Rebuild.
+       * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
+       (ix86_tls_dialect_string, ix86_tls_dialect): New.
+       (override_options): Set it.
+       (tls_model_chars, tls_symbolic_operand): New.
+       (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
+       (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
+       (local_exec_symbolic_operand): New.
+       (get_pic_label_name): Merge into output_set_got.
+       (ix86_asm_file_end): Emit pic_label_name if defined.
+       (legitimate_constant_p, constant_address_p): New.
+       (legitimate_pic_operand_p): New.
+       (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
+       (legitimate_address_p): Likewise.
+       (ix86_encode_section_info): Rename from i386_; handle tls decls.
+       (ix86_strip_name_encoding): New.
+       (get_thread_pointer): New.
+       (legitimize_address): Handle tls symbols.
+       (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
+       Remove UNSPEC_PLT.
+       (struct machine_function): Add some_ld_name.
+       (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
+       (print_operand) [&]: Use it.  Handle UNSPEC_TP.
+       (output_addr_const_extra): New.
+       (maybe_get_pool_constant): New.
+       (ix86_split_to_parts): Use it.
+       (ix86_expand_move): Handle tls symbols.
+       (ix86_tls_get_addr): New.
+       * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
+       (TARGET_OPTIONS): Add tls-dialect.
+       (CONSTANT_ADDRESS_P): Use new out-of-line function.
+       (LEGITIMATE_CONSTANT_P): Likewise.
+       (LEGITIMATE_PIC_OPERAND_P): Likewise.
+       (TARGET_STRIP_NAME_ENCODING): New.
+       (ASM_OUTPUT_LABELREF): New.
+       (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
+       (OUTPUT_ADDR_CONST_EXTRA): New.
+       (PREDICATE_CODES): Update.
+       (ix86_tls_dialect, ix86_tls_dialect_string): New.
+       * config/i386/i386.md: Regroup and renumber unspec constants.
+       (tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
+       (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
+       (tls_global_dynamic, tls_local_dynamic_base): New.
+       (tls_local_dynamic_once): New.
+       * config/i386/i386-protos.h: Update.
+
+2002-05-23  Richard Henderson  <rth@redhat.com>
+
+       * genemit.c (gen_insn): Print file:lineno comment before function.
+       (main): likewise.
+       * gensupport.c (struct queue_elem): Add filename member.
+       (queue_pattern): Initialize it; update all callers.
+       (process_include): Don't free filename.
+       (read_md_rtx): Set read_rtx_filename.
+
+2002-05-23  Hans Boehm  <Hans_Boehm@hp.com>
+
+       * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
+
+2002-05-23  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
+
+2002-05-23  Richard Henderson  <rth@redhat.com>
+
+       * doc/extend.texi (C++98 Thread-Local Edits): Update with
+       commentary from Mark.
+
+2002-05-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
+       Use FOR_EACH_BB macros to iterate over basic block chain.
+       * cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
+       alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
+       Likewise.
+       * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
+       find_unreachable_blocks, create_edge_list, verify_edge_list,
+       remove_fake_edges, add_noreturn_fake_exit_edges,
+       flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
+       Likewise.
+       * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
+       find_sub_basic_blocks): Likewise.
+       * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
+       Likewise.
+       * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
+       Likewise.
+       * cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
+       Likewise.
+       * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
+       commit_edge_insertions, commit_edge_insertions_watch_calls,
+       print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
+       * combine.c (combine_instructions, reg_dead_at_p): Likewise.
+       * conflict.c (conflict_graph_compute): Likewise.
+       * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
+       df_modified_p, df_refs_unlink, df_dump): Likewise.
+       * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
+       * final.c (compute_alignments): Likewise.
+       * flow.c (update_life_info, update_life_info_in_dirty_blocks,
+       delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
+       count_or_remove_death_notes): Likewise.
+       * gcse.c (oprs_unchanged_p, record_last_reg_set_info,
+       compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
+       classic_gcse, compute_transp, cprop, compute_pre_data,
+       compute_transpout, invalidate_nonnull_info,
+       delete_null_pointer_checks_1, delete_null_pointer_checks,
+       compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
+       compute_store_table, build_store_vectors, store_motion): Likewise.
+       * global.c (global_conflicts, mark_elimination): Likewise.
+       * graph.c (print_rtl_graph_with_bb): Likewise.
+       * haifa-sched.c (sched_init): Likewise.
+       * ifcvt.c (if_convert): Likewise.
+       * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
+       compute_available, compute_nearerout, compute_rev_insert_delete,
+       optimize_mode_switching): Likewise.
+       * local-alloc.c (local_alloc, update_equiv_regs): Likewise.
+       * predict.c (estimate_probability, note_prediction_to_br_prob,
+       propagate_freq, counts_to_freqs, expensive_function_p,
+       estimate_bb_frequencies): Likewise.
+       * profile.c (instrument_edges, get_exec_counts,
+       compute_branch_probabilities, compute_checksum, branch_prob,
+       find_spanning_tree): Likewise.
+       * recog.c (split_all_insns, peephole2_optimize): Likewise.
+       * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
+       Likewise.
+       * regclass.c (scan_one_insn, regclass): Likewise.
+       * regmove.c (mark_flags_life_zones, regmove_optimize,
+       record_stack_memrefs): Likewise.
+       * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
+       * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
+       * resource.c (find_basic_block): Likewise.
+       * sched-ebb.c (schedule_ebbs): Likewise.
+       * sched-rgn.c (is_cfg_nonregular, build_control_flow,
+       find_single_block_region, find_rgns, schedule_insns)
+       * sibcall.c (optimize_sibling_and_tail_recursive_call)
+       * ssa-ccp.c (optimize_unexecutable_edges,
+       ssa_ccp_df_delete_unreachable_insns): Likewise.
+       * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
+       * ssa.c (find_evaluations, compute_dominance_frontiers_1,
+       rename_block, convert_to_ssa, compute_conservative_reg_partition,
+       compute_coalesced_reg_partition, rename_equivalent_regs,
+       convert_from_ssa): Likewise.
+       * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
+       process_for_unwind_directive): Likewise.
+
+       * df.c (FOR_ALL_BBS): Removed.
+       * gcse.c (struct null_pointer_info): Type of current_block field
+       changed.
+       (struct reg_avail_info): Type of last_bb field changed.
+       * config/ia64/ia64.c (block_num): Removed.
+       (need_copy_state): Type changed.
+       (last_block): New.
+
+2002-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cppinit.c (mark_named_operators): Split out from init_builtins.
+       (cpp_finish_options): Call it from here instead.
+
+2002-05-23  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * builtin-attrs.def: Update copyright years.
+       (ATTR_NONNULL): New attribute identifier.
+       (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
+       attribute tree lists.
+       (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
+       format operand.
+       (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
+       (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
+       attribute lists.  Chain the appropriate nonnull attribute.
+       * c-format.c (check_format_arg): Remove null format string
+       warning.
+       * testsuite/gcc.dg/format/null-1.c: New test.
+
+2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * Makefile.in (ADAC): Define.
+       (SYSLIBS): Define.
+       (.SUFFIXES): Move before language makefile fragments.
+       (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
+
+2002-05-23  Mark Mitchell  <mark@codesourcery.com>
+
+       * varasm.c (make_decl_rtl): Don't allow weak variables to be
+       placed in common.
+
+Thu May 23 19:43:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * cfg.c (dump_flow_info): Print results of
+       maybe_hot/probably_never_executed predicates.
+       * toplev.c (open_dump_file): Print function frequency.
+
+2002-05-23  David S. Miller  <davem@redhat.com>
+
+       * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
+       regsets.
+
+2002-05-23  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * c-common.c (warn_nonnull): Declare.
+       (c_common_attribute_table): Add "nonnull" attribute.
+       (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
+       check_nonnull_arg, get_nonnull_operand, check_function_arguments,
+       check_function_arguments_recurse): New functions.
+       * c-common.h (warn_nonnull): Declare extern.
+       (check_function_arguments, check_function_arguments_recurse): New
+       prototypes.
+       * c-decl.c (c_decode_option): Add -Wnonnull option.
+       * c-format.c (set_Wformat): Set warn_nonnull if enabling
+       format checking.
+       (format_check_context): New structure.
+       (check_format_info_recurse): Remove recursion and rename to...
+       (check_format_arg): ...this.  Update comment.
+       (check_format_info): Use check_function_arguments_recurse.
+       * c-typeck.c (build_function_call): Call check_function_arguments
+       instead of check_function_format.
+       * doc/extend.texi: Document "nonnull" attribute.
+       * doc/invoke.texi: Docuemnt -Wnonnull option.
+       * testsuite/gcc.dg/nonnull-1.c: New test.
+       * testsuite/gcc.dg/nonnull-2.c: New test.
+
+2002-05-23  David S. Miller  <davem@redhat.com>
+
+       * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
+       * cfgcleanup.c (cleanup_cfg): If it is set do not
+       attempt to delete trivially dead insns.
+       * except.c (finish_eh_generation): Pass it to cleanup_cfg.
+       * toplev.c (rest_of_compilation): Document non-trivial aspect
+       the RTL before optimize_save_area_alloca is run.
+
+2002-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * c-lex.c (indent_level): Remove.
+       (cb_file_change, c_lex): Remove indent level handling.
+       * c-lex.h (indent_level): Remove.
+       * input.h (struct file_stack): Remove indent_level.
+       * toplev.c (push_srcloc): Remove indent_level handling.
+
+2002-05-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/6753
+       * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
+       of x in constraints for clarity.
+       (sse_mov?fcc split): abort if op2 == op3.
+       (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
+       sse_movsfcc_const0_4): Add earlyclobber.
+       (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
+       sse_movdfcc_const0_4): Likewise.  Use DFmode, not SFmode.
+       Use Y instead of x in constraints.
+
+2002-05-23  Richard Henderson  <rth@redhat.com>
+
+       * doc/extend.texi (C99 Thread-Local Edits): New subsection.
+       (C++98 Thread-Local Edits): New subsection.
+
+       * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
+       (ix86_arch): Set type to enum processor_type.
+
+       * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
+       LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
+
+2002-05-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.in: Fix as version test for binutils 2.12.1 releases
+       (without dates).
+       * configure: Rebuilt.
+
+2002-05-23  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (get_pic_label_name): New.
+       (load_pic_register): Remove.
+       (output_set_got): New.
+       (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
+       * config/i386/i386.md (UNSPEC_SET_GOT): New.
+       (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
+       (prologue_set_got, prologue_get_pc): Remove.
+       (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
+       (builtin_setjmp_receiver): Use gen_set_got.
+       * config/i386/i386-protos.h: Update.
+
+Thu May 23 09:22:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * gcse.c (hash_expr): Do not use alias set for hashing.
+
+2002-05-22  Kevin Buettner  <kevinb@redhat.com>
+
+       * dbxout.c (dbxout_class_name_qualifiers): New function.
+       (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
+
 2002-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
 
        * cpperror.c (_cpp_begin_message): No special casing
@@ -178,7 +514,7 @@ objc:
 
 2002-05-21  Jeffrey A Law  <law@redhat.com>
 
-       * optabs.c (expand_binop): For double-word integer multiplies,
+       * optabs.c (expand_binop): For double-word integer multiplies,
        do not compute intermediate results into something that is
        not a register (such as a SUBREG or MEM).