aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2004-09-21decl.c (gnat_to_gnu_type, [...]): Wrap modular packed array types in both ↵Robert Dewar6-50/+74
little- and big-endian cases. 2004-09-21 Robert Dewar <dewar@gnat.com> * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular packed array types in both little- and big-endian cases. This change ensures that we no longer count on the unused bits being initialized for such types (and in particular ensures that equality testing will only read the relevant bits). Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P These changes mean that we no longer need to initialize small packed arrays. (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same optimization to an LJM field as to its parent field. * ada-tree.h:, trans.c, utils.c, utils2.c: Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P From-SVN: r87806
2004-09-21re PR libfortran/17286 (namelist containing more than one value cannot ↵Bud Davis2-0/+50
contain whitespace or newlines for READ) 2004-09-21 Bud Davis <bdavis9659@comcast.net> PR fortran/17286 * io/list_read.c (namelist_read): ignore spaces after the '=' for namelist reads. 2004-09-21 Bud Davis <bdavis9659@comcast.net> PR fortran/17286 * gfortran.dg/pr17286.f90: New test. From-SVN: r87799
2004-09-21decl.c (reshape_init_array): Initialize max_index_cst to fix bootstrap failure.Andreas Tobler2-1/+6
2004-09-21 Andreas Tobler <a.tobler@schweiz.ch> * decl.c (reshape_init_array): Initialize max_index_cst to fix bootstrap failure. From-SVN: r87798
2004-09-21re PR rtl-optimization/17482 (GCSE after reload replacing changing instructions)Steven Bosscher2-158/+119
PR rtl-optimization/17482 * postreload-gcse.c (reg_avail_info, oprs_unchanged_p, load_killed_in_block_p): Clarify comments. (record_last_reg_set_info): Make static inline. (mark_call, mark_set, mark_clobber, mark_oprs_set): Remove. (record_opr_changes): New function to replace the above. (compute_hash_table): Clarify comments. Use record_opr_changes. (reg_set_between_after_reload_p): Clean up. (reg_used_between_after_reload_p): Likewise. (eliminate_partially_redundant_load): Clarify comments. From-SVN: r87794
2004-09-21re PR rtl-optimization/17266 (Libgfortran doesn't build)Eric Botcazou2-3/+9
PR rtl-optimization/17266 * regmove.c (optimize_reg_copy_3): Make a new SUBREG for each insn. From-SVN: r87793
2004-09-21re PR c++/17530 (failure to emit inline function)Mark Mitchell4-2/+42
PR c++/17530 * pt.c (tsubst): Fix parentheses to accomodate emacs. (tsubst_baselink): If we get a single function, mark it as used. PR c++/17530 * g++.dg/template/static7.C: New test. From-SVN: r87791
2004-09-21re PR rtl-optimization/14851 (suboptimal fp division with -ffast-math)Uros Bizjak2-0/+7
PR rtl-optimization/14851 * rtlanal.c (commutative_operand_precedence): Calculate precedence of stripped constant. From-SVN: r87788
2004-09-20tree-ssanames.c (make_ssa_name): No longer need to clear, then initialize ↵Jeff Law4-73/+86
key elements here. * tree-ssanames.c (make_ssa_name): No longer need to clear, then initialize key elements here. (release_ssa_name): Zero the released SSA_NAME here. * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): New macros. (struct tree_ssa_name): Add new "equiv" field. * tree-ssa-dom.c (const_and_copies): Kill the global varray. (tree_ssa_dominator_optimize): No longer allocate, resize or clear CONST_AND_COPIES. (get_value_for, set_value_for): Kill. (thread_across_edge): Get/set the equivalency using SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV. (restore_vars_to_original_value): Likewise. (record_equivalences_from_phis): Likewise. (record_dominating_conditions): Likewise. (record_const_or_copy, record_equality): Likewise. (lookup_avail_expr): Likewise. (record_equivalences_from_stmt, cprop_operand): Likewise. (cprop_into_successor_phis): No longer need to pass around CONST_AND_COPIES. Callers updated. Get equivalences via SSA_NAME_EQUIV. (cprop_into_phis): Likewise. Co-Authored-By: Jan Hubicka <jh@suse.cz> From-SVN: r87787
2004-09-21c-common.c (fix_string_type): Build the unqualified array type ↵Matt Austern9-639/+594
unconditionally... 2004-09-20 Matt Austern <austern@apple.com> Zack Weinberg <zack@codesourcery.com> * c-common.c (fix_string_type): Build the unqualified array type unconditionally, then use c_build_qualified_type to get the proper const-qualified variant, and set its TYPE_MAIN_VARIANT to refer to the unqualified type. * c-lex.c (c_lex_return_raw_string): New global. (c_lex_with_flags): Honor it. * c-pragma.h: Declare it. cp: * decl.c (make_rtl_for_nonlocal_decl, start_preparsed_function): Apply lbasename to input_filename before passing to get_fileinfo. * semantics.c (begin_class_definition): Likewise. * lex.c (handle_pragma_interface): Apply get_fileinfo to the correct filename. Rename variables to be less confusing. (handle_pragma_implementation): Likewise. Disable "appears after file is included" diagnostic. * parser.c (struct cp_token): Add in_system_header fiag. (CP_TOKEN_BLOCK_NUM_TOKENS, struct cp_token_block) (CP_TOKEN_BUFFER_SIZE, cp_token_cache_push_token) (CPP_NONE, cp_lexer_read_token): Delete. (struct cp_lexer): Remove first_token, string_tokens, main_lexer_p fields. Clarify comments. (struct cp_token_cache): Now just a pair of pointers. (CP_LEXER_BUFFER_SIZE): New #define. (CPP_PURGED): New fake token type. (cp_lexer_new_from_token_array, cp_lexer_destroy) (cp_lexer_peek_token_emit_debug_info, cp_lexer_skip_purged_tokens) (cp_lexer_handle_pragma, cp_token_cache_new, cp_parser_string_literal): New functions. (cp_lexer_new_from_tokens): Now a simple wrapper around cp_lexer_new_from_token_array. (cp_lexer_set_source_position_from_token): Also update in_system_header. (cp_lexer_next_token, cp_lexer_prev_token, cp_lexer_advance_token): Don't wrap round. (cp_lexer_token_difference): Dont handle wrapping round. (cp_lexer_new_main): Enable pragma deferral and raw strings, read the entire translation unit through c_lex_with_flags into this lexer's buffer, then turn raw strings back off again. (cp_lexer_grow_buffer): Adjust for buffer no longer being circular. (cp_lexer_get_preprocessor_token): No need to handle not being the main lexer. Set token->in_system_header too. (cp_lexer_peek_token): Skip purged tokens. Feed pragma tokens to cp_lexer_handle_pragma. No need to call cp_lexer_read_token. (cp_lexer_peek_nth_token): Likewise. (cp_lexer_purge_token): Mark the token PURGED, don't shift all the other tokens down. (cp_lexer_purge_tokens_after): Likewise. (cp_lexer_save_tokens, cp_lexer_rollback_tokens): Don't worry about there being no tokens. (cp_lexer_print_token): Revise to give useful information on all tokens. (struct cp_parser): Add field translate_strings_p. (cp_parser_new): Initialize it. (cp_parser_translation_unit): Destroy the lexer when done. (cp_parser_parameter_declaration): Restructure saving of default arguments. (cp_parser_save_member_function_body): Likewise. (cp_parser_check_for_invalid_template_id) (cp_parser_nested_name_specifier_opt, cp_parser_template_id): Adjust calls to cp_lexer_advance_token. (cp_parser_skip_to_closing_parenthesis, cp_parser_declaration): No need to fiddle c_lex_string_translate. (cp_parser_primary_expression, cp_parser_linkage_specification) (cp_parser_asm_definition, cp_parser_asm_specification_opt) (cp_parser_asm_operand_list, cp_parser_asm_clobber_list) Use cp_parser_string_literal. (cp_parser_attribute_list): Save and restore parser->translate_strings_p, not c_lex_string_translate. (cp_parser_cache_group): Delete. (cp_parser_cache_group_1): Rename cp_parser_cache_group. Do not take a cache argument. From-SVN: r87786
2004-09-21Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).Daniel Berlin2-10/+14
2004-09-20 Daniel Berlin <dberlin@dberlin.org> * Makefile.in: Fix flags.h dependencies to be $(FLAGS_H). From-SVN: r87785
2004-09-21Daily bump.GCC Administrator1-1/+1
From-SVN: r87783
2004-09-21re PR middle-end/17126 (ICE with -fno-unit-at-a-time and -O3)Jan Hubicka2-9/+9
PR middle-end/17126 * tree-optimize.c (update_inlined_to_pointers): Fix the recursion. (tree_rest_of_compilation): Cleanup. From-SVN: r87780
2004-09-20s390.c (s390_select_rtx_section): Remove.Ulrich Weigand2-19/+5
* config/s390/s390.c (s390_select_rtx_section): Remove. (TARGET_ASM_SELECT_RTX_SECTION): Do not redefine. From-SVN: r87779
2004-09-20sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR note to pretend a ↵Kaz Kojima2-0/+24
direct save from the original... * config/sh/sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR note to pretend a direct save from the original register when an intermediate register is used for the save. From-SVN: r87778
2004-09-20re PR c++/14179 (out of memory while parsing array with many initializers)Giovanni Bajo2-45/+91
PR c++/14179 * decl.c (reshape_init): Extract array handling into... (reshape_init_array): New function. Use integers instead of trees for indices. Handle out-of-range designated initializers. From-SVN: r87777
2004-09-20tsystem.h (alloca): Provide a default definition.Kaveh R. Ghazi3-1/+13
* tsystem.h (alloca): Provide a default definition. Revert: 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * unwind-dw2.c: Call __builtin_alloca, not alloca. From-SVN: r87775
2004-09-20lex.c (cxx_init): Don't set the ridpointer for RID_NULL to null_node.Steven Bosscher2-1/+5
* lex.c (cxx_init): Don't set the ridpointer for RID_NULL to null_node. From-SVN: r87774
2004-09-20re PR tree-optimization/17558 (internal compiler error: in merge_alias_info, ↵Andrew Pinski2-0/+15
at tree-ssa-copy.c:182) 2004-09-20 Andrew Pinski <pinskia@physics.uc.edu> PR tree-opt/17558 * gcc.c-torture/compile/pr17558.c: New test. From-SVN: r87773
2004-09-20re PR tree-optimization/17558 (internal compiler error: in merge_alias_info, ↵Andrew Pinski2-2/+8
at tree-ssa-copy.c:182) 2004-09-20 Andrew Pinski <pinskia@physics.uc.edu> PR tree-opt/17558 * tree-ssa-copy.c (may_propagate_copy): Only allow if the aliasing sets are the same rather than just conflicting. From-SVN: r87772
2004-09-20cgraph.c (cgraph_unnest_node): New function.Jan Hubicka1-15/+15
* cgraph.c (cgraph_unnest_node): New function. (c_finalize): Rename to .... (c_warn_unused_result_recursivly): ... this one; do only the warning (finish_function): Finalize the toplevel function; do not lower nested tree. * cgraph.h (cgraph_unnest_node): Declare. * cgraphunit.c (decide_is_function_needed): Do not use cgraph nestedness datastructure. * cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs. * reload1.c (set_label_offsets): Fix call of set_label_offsets. * tree-nested.c (finlize_nesting_tree_1): Use un-nesting code. From-SVN: r87771
2004-09-20re PR middle-end/16460 (ICE when compiling glibc (ld-ctype.c))Jan Hubicka11-43/+64
PR middle-end/16460 * cgraph.c (cgraph_unnest_node): New function. (c_finalize): Rename to .... (c_warn_unused_result_recursivly): ... this one; do only the warning (finish_function): Finalize the toplevel function; do not lower nested tree. * cgraph.h (cgraph_unnest_node): Declare. * cgraphunit.c (decide_is_function_needed): Do not use cgraph nestedness datastructure. * cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs. * reload1.c (set_label_offsets): Fix call of set_label_offsets. * tree-nested.c (finlize_nesting_tree_1): Use un-nesting code. * utils.c (gnat_finalize): Remove. (end_subprog_body): Directly call cgraph_finalize_function; do not lower the nested functions. * trans-decl.c (build_entry_thunks): Finalize the function; do not lower tree. (gfc_generate_function_code): Likewise. From-SVN: r87770
2004-09-20alpha.c (some_small_symbolic_operand_int): Rename from ↵Richard Henderson5-19/+26
some_small_symbolic_operand_1; export. * config/alpha/alpha.c (some_small_symbolic_operand_int): Rename from some_small_symbolic_operand_1; export. (some_small_symbolic_operand): Remove. * config/alpha/alpha.md (some_small_symbolic_operand splitter): Remove extra C check. * config/alpha/predicates.md (some_small_symbolic_operand): New. From-SVN: r87769
2004-09-20predict.c (return_prediction): New function.Jan Hubicka3-11/+234
* predict.c (return_prediction): New function. (apply_return_prediction): Likewise. (tree_bb_level_predictions): Likewise. (tree_estimate_probability): Add noreturn exit edges; call bb_level_predictions; fix logic of return heuristics. (predict_paths_leading_to): Rescuesce from old CVS version of process_note_prediction function. * predict.def (PRED_TREE_EARLY_RETURN): New predictor. From-SVN: r87768
2004-09-20sdata-section.h (SDATA_SECTION): Don't use an attribute if SKIP_ATTRIBUTE is ↵Richard Sandiford2-1/+6
defined. * gcc.dg/compat/sdata-section.h (SDATA_SECTION): Don't use an attribute if SKIP_ATTRIBUTE is defined. From-SVN: r87766
2004-09-20s390.c (s390_frame_info): Added alignment statement for floating point ↵Andreas Krebbel2-2/+23
register area on stack. 2004-09-20 Andreas Krebbel <krebbel1@de.ibm.com> * config/s390/s390.c (s390_frame_info): Added alignment statement for floating point register area on stack. From-SVN: r87765
2004-09-20re PR fortran/15957 (Error in array assignments; 'shape'-related stuff)Tobias Schlüter4-1/+39
fortran/ PR fortran/15957 * simplify.c (gfc_simplify_reshape): Set shape of return value correctly. testsuite/ PR fortran/15957 * gfortran.dg/pr15957.f90: New test. From-SVN: r87764
2004-09-20* predict.c (expr_expected_value): Use *_CLASS_P macros.Jakub Jelinek2-3/+6
From-SVN: r87763
2004-09-20vect-74.c: Avoid floating point precision error in comparison.Dorit Naishlos4-13/+19
* gcc.dg/vect/vect-74.c: Avoid floating point precision error in comparison. * gcc.dg/vect/vect-79.c: Likewise. * gcc.dg/vect/vect-80.c: Likewise. From-SVN: r87762
2004-09-20tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid ↵Daniel Berlin2-8/+16
generating useless garbage. 2004-09-20 Daniel Berlin <dberlin@dberlin.org> * tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid generating useless garbage. From-SVN: r87760
2004-09-20builtins.c (fold_builtin): Call the new omonymous target hook for ↵Paolo Bonzini6-1/+22
machine-dependent built-ins. 2004-09-20 Paolo Bonzini <bonzini@gnu.org> * builtins.c (fold_builtin): Call the new omonymous target hook for machine-dependent built-ins. * target-def.h (TARGET_FOLD_BUILTIN): New. * target.h (struct gcc_target): Add the fold_builtin hook. * targhooks.c (default_fold_builtin): New. * targhooks.h (default_fold_builtin): Declare it. From-SVN: r87756
2004-09-20re PR ada/17540 (Duplicate symbols while building Ada)Robert Dewar2-1/+16
2004-09-20 Robert Dewar <dewar@gnat.com> PR ada/17540 * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public if an address clause is present, since that means that the Import should be ignored. From-SVN: r87755
2004-09-20cfg.c, [...]: Fix comment typos.Kazu Hirata4-6/+11
* cfg.c, tree-ssa-threadupdate.c, tree-vectorizer.c: Fix comment typos. From-SVN: r87753
2004-09-20re PR fortran/15750 (IOLENGTH form of INQUIRE statement not implemented)Tobias Schlüter2-0/+29
PR fortran/15750 * gfortran.fortran-torture/execute/iolength_2.f90: New test. From-SVN: r87752
2004-09-20* 5tsystem.ads: Removed, no longer used.Arnaud Charlet2-236/+4
From-SVN: r87751
2004-09-20vect-13.c: Added xfail for non ppc platforms.Ira Rosen13-52/+734
2004-09-20 Ira Rosen <irar@il.ibm.com> * gcc.dg/vect/vect-13.c: Added xfail for non ppc platforms. * gcc.dg/vect/vect-74.c: Split into 3 tests (vect-79.c, vect-80.c). * gcc.dg/vect/vect-62.c: New testcase. * gcc.dg/vect/vect-63.c: New testcase. * gcc.dg/vect/vect-64.c: New testcase. * gcc.dg/vect/vect-65.c: New testcase. * gcc.dg/vect/vect-66.c: New testcase. * gcc.dg/vect/vect-67.c: New testcase. * gcc.dg/vect/vect-68.c: New testcase. * gcc.dg/vect/vect-69.c: New testcase. * gcc.dg/vect/vect-79.c: New testcase. * gcc.dg/vect/vect-80.c: New testcase. From-SVN: r87745
2004-09-20re PR target/17565 ([3.3 only] asms in delay slots)Richard Sandiford4-1/+25
PR target/17565 * config/mips/mips.md (define_asm_attributes): Set can_delay to no. From-SVN: r87744
2004-09-20Daily bump.GCC Administrator1-1/+1
From-SVN: r87739
2004-09-20* predict.c (estimate_probability): Remove unnecesary code.Jan Hubicka2-30/+6
From-SVN: r87736
2004-09-19decl2.c (determine_visibility): Allow class visibility directives to ↵Mark Mitchell2-14/+26
override targetm.cxx.export_class_data. * decl2.c (determine_visibility): Allow class visibility directives to override targetm.cxx.export_class_data. [[Split portion of a mixed commit.]] From-SVN: r87735.2
2004-09-19tree-vectorizer.h (stmt_vec_info): Add vect_dr_base field.Ira Rosen14-384/+1362
2004-09-19 Ira Rosen <irar@il.ibm.com> * tree-vectorizer.h (stmt_vec_info): Add vect_dr_base field. (STMT_VINFO_VECT_DR_BASE): Declare. (VECT_SMODULO): Declare. * tree-vectorizer.c (vect_compute_array_ref_alignment): New function. (vect_compute_array_base_alignment): New function. (vect_analyze_data_ref_access): Check array indices. Remove one dimensional arrays restriction. (vect_get_ptr_offset): New function. (vect_get_symbl_and_dr): New function. (vect_get_base_and_bit_offset): Support additional data refs. Renamed (former name vect_get_base_decl_and_bit_offset). (vect_create_index_for_array_ref): Removed. (vect_create_index_for_vector_ref): New function. (vect_create_addr_base_for_vector_ref): New function. (vect_create_data_ref): Handle additional data refs. Call vect_create_index_for_vector_ref and vect_create_addr_base_for_vector_ref. (vect_compute_data_ref_alignment): Support the changes. Call vect_get_base_and_bit_offset. (vect_analyze_data_refs): Call vect_get_symbl_and_dr. Support additional data refs. Store vect_dr_base. (vect_analyze_data_ref_accesses): Support nonconstant init. (new_stmt_vec_info): Initialize vect_dr_base field. (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num. (get_vectype_for_scalar_type): Check for BLKmode. * tree-chrec.h (initial_condition_in_loop_num): Declare. * tree-chrec.c (initial_condition_in_loop_num): New function. (chrec_component_in_loop_num): New function. (evolution_part_in_loop_num): Call chrec_component_in_loop_num. * tree-data-ref.c (analyze_array_indexes): Change parameter (access_fns) to be pointer to varray_type. From-SVN: r87731
2004-09-19basic-block.h (update_bb_profile_after_threading): Declare.Jan Hubicka6-26/+89
* basic-block.h (update_bb_profile_after_threading): Declare. * cfg.c (update_bb_profile_after_threading): Break out from ... * cfgcleanup.c (try_forward_edges): ... here; use it. * tree-ssa-dom.c (thread_across_edge): Use it. * tree-ssa-threadupdate.c (create_block_for_threading): Zero out profile of the new BB. From-SVN: r87730
2004-09-19tree-ssa-pre.c (insert_into_set): Don't put is_gimple_min_invariant values ↵Daniel Berlin2-0/+8
into the set. 2004-09-19 Daniel Berlin <dberlin@dberlin.org> * tree-ssa-pre.c (insert_into_set): Don't put is_gimple_min_invariant values into the set. From-SVN: r87725
2004-09-19tree-ssa-dom.c (restore_nonzero_vars_to_original_value): Fix prototype.Andreas Jaeger2-1/+6
* tree-ssa-dom.c (restore_nonzero_vars_to_original_value): Fix prototype. From-SVN: r87721
2004-09-19cris.h: Preserve the original spelling in a quote.Kazu Hirata2-1/+6
* config/cris/cris.h: Preserve the original spelling in a quote. From-SVN: r87720
2004-09-18tree-ssa-dom.c (nonzero_vars_stack, [...]): New global varrays to replace ↵Jeff Law2-104/+79
the block local varrays. * tree-ssa-dom.c (nonzero_vars_stack, vrp_variables_stack): New global varrays to replace the block local varrays. (struct dom_walk_block_data): Remove, no longer used. (get_eq_expr_value): No longer need to pass around pointers to local varrays. Callers updated. Unused markers added to unused parameters. (record_range, record_equivalences_from_stmt): Likewise. (record_equivalences_from_incoming_edge): Likewise. (record_var_is_nonzero): Likewise. Update now that we have a single global varray of SSA_NAMEs that need restoring. (dom_opt_initialize_block_local_data): Kill, no longer used. (tree_ssa_dominator_optimize): Initialize new global varrays. Update callbacks in dominator walker structure. (dom_opt_initialize_block): Add markers to NONZERO_VAR_STACK and VRP_VARIABLES_STACK. (restore_nonzero_vars_to_original_value): Update now that we have a single global varray of SSA_NAMEs that need restoring. (dom_opt_finalize_block): Similarly for VRP_VARIABLES_STACK. Remove unused variables. (optimize_stmt): Remove unused variable. From-SVN: r87719
2004-09-19Daily bump.GCC Administrator1-1/+1
From-SVN: r87717
2004-09-18* g++.old-deja/g++.pt/static11.C: XFAIL on arm*-*-eabi.Paul Brook2-1/+5
From-SVN: r87712
2004-09-18* tree-cfg.c (thread_jumps): Fix updating of the profile.Jan Hubicka2-10/+18
From-SVN: r87709
2004-09-18tree-optimize.c (tree_rest_of_compilation): Kill forgotten verify_cgraph call.Jan Hubicka2-1/+6
* tree-optimize.c (tree_rest_of_compilation): Kill forgotten verify_cgraph call. From-SVN: r87708
2004-09-18alias.c, [...]: Fix comment typos.Kazu Hirata23-32/+41
* alias.c, crtstuff.c, dbxout.c, domwalk.c, domwalk.h, gcc.c, gcse.c, global.c, lambda-code.c, loop.c, mips-tdump.c, optabs.h, predict.c, reg-stack.c, regclass.c, sched-rgn.c, tree-optimize.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-operands.c, tree-ssa-phiopt.c, tree-ssa-threadupdate.c: Fix comment typos. From-SVN: r87707