aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2006-02-14Daily bump.GCC Administrator1-1/+1
From-SVN: r110945
2006-02-13re PR rtl-optimization/26235 (FAIL: gcc.c-torture/execute/ieee/fp-cmp-8l.c ↵Zdenek Dvorak2-0/+17
execution at -O1, -O2 and -Os) PR rtl-optimization/26235 * loop-invariant.c (hash_invariant_expr_1): Handle 'i' and 'n' formats. (invariant_expr_equal_p): Handle 'i' and 'n' formats. Fail on unknown format. From-SVN: r110939
2006-02-13tree-vrp.c (extract_range_from_binary_expr): Remove handling of TRUTH_XOR_EPR.Jeff Law2-4/+7
* tree-vrp.c (extract_range_from_binary_expr): Remove handling of TRUTH_XOR_EPR. From-SVN: r110938
2006-02-13cp-tree.h (warn_hidden): Remove prototype.Volker Reichelt3-2/+4
* cp-tree.h (warn_hidden): Remove prototype. * class.c (warn_hidden): Make static. From-SVN: r110936
2006-02-13cp-tree.h (build_type_conversion): Remove prototype.Volker Reichelt3-2/+5
* cp-tree.h (build_type_conversion): Remove prototype. * cvt.c (build_type_conversion): Add prototype, make static. From-SVN: r110935
2006-02-13cp-tree.h (push_tinst_level): Remove prototype.Volker Reichelt3-4/+11
* cp-tree.h (push_tinst_level): Remove prototype. (pop_tinst_level): Likewise. * pt.c (push_tinst_level): Add prototype, make static. (pop_tinst_level): Likewise. From-SVN: r110934
2006-02-13decl.c (grokdeclarator): Return NULL_TREE instead of 0.Volker Reichelt3-3/+8
* decl.c (grokdeclarator): Return NULL_TREE instead of 0. * typeck.c (unary_complex_lvalue): Likewise. From-SVN: r110933
2006-02-13lex.c (parse_strconst_pragma): Return error_mark_node instead of "(tree)-1" ↵Volker Reichelt2-6/+13
to indicate failure. * lex.c (parse_strconst_pragma): Return error_mark_node instead of "(tree)-1" to indicate failure. Simplify. (handle_pragma_interface): Test for error_mark_node instead of "(tree)-1". (handle_pragma_implementation): Likewise. From-SVN: r110932
2006-02-13re PR fortran/26246 (return string length is being marked as TREE_STATIC and ↵Andrew Pinski5-2/+44
TREE_PUBLIC) 2006-02-13 Andrew Pinski <pinskia@physics.uc.edu> Jakub Jelinek <jakub@redhat.com> PR fortran/26246 * trans-decl.c (gfc_get_symbol_decl, gfc_get_fake_result_decl): Use gfc_add_decl_to_function rather than gfc_finish_var_decl on length. * gfortran.dg/pr26246_1.f90: New test. * gfortran.dg/pr26246_2.f90: New test. From-SVN: r110929
2006-02-13re PR middle-end/26092 (ICE on const function pointer assigned to a builtin ↵Jakub Jelinek4-13/+37
function) PR middle-end/26092 * gimplify.c (gimplify_call_expr): Don't call get_callee_fndecl twice if decl is a builtin. When trying again, call get_callee_fndecl first to verify it is still a builtin. * gcc.c-torture/compile/20060208-1.c: New test. From-SVN: r110927
2006-02-13re PR fortran/26074 (Module array cannot be automatic or assumed shape)Paul Thomas11-306/+597
2006-02-13 Paul Thomas <pault@gcc.gnu.org> PR fortran/26074 PR fortran/25103 * resolve.c (resolve_symbol): Extend the requirement that module arrays have constant bounds to those in the main program. At the same time simplify the array bounds, to avoiding trapping parameter array references, and exclude automatic character length from main and modules. Rearrange resolve_symbol and resolve_derived to put as each flavor together, as much as is possible and move all specific code for flavors FL_VARIABLE, FL_PROCEDURE and FL_PARAMETER into new functions. (resolve_fl_var_and_proc, resolve_fl_variable, resolve_fl_procedure): New functions to do work of resolve_symbol. (resolve_index_expr): New function that is called from resolved_symbol and is extracted from resolve_charlen. (resolve_charlen): Call this new function. (resolve_fl_derived): Renamed resolve_derived to be consistent with the naming of the new functions for the other flavours. Change the charlen checking so that the style is consistent with other similar checks. Add the generation of the gfc_dt_list, removed from resolve_ symbol. PR fortran/20861 * resolve.c (resolve_actual_arglist): Prevent internal procedures from being dummy arguments. PR fortran/20871 * resolve.c (resolve_actual_arglist): Prevent pure but non-intrinsic procedures from being dummy arguments. PR fortran/25083 * resolve.c (check_data_variable): Add test that data variable is in COMMON. PR fortran/25088 * resolve.c (resolve_call): Add test that the subroutine does not have a type. 2006-02-13 Paul Thomas <pault@gcc.gnu.org> PR fortran/26074 PR fortran/25103 * gfortran.dg/module_parameter_array_refs_1.f90: New test. * gfortran.dg/bad_automatic_objects_1.f90: New test. * gfortran.dg/automatic_module_variable.f90: Change error message. PR fortran/20861 * gfortran.dg/internal_dummy_1.f90: New test. PR fortran/20871 * gfortran.dg/elemental_non_intrinsic_dummy_1.f90: New test. PR fortran/25083 * gfortran.dg/uncommon_block_data_1.f90: New test. * gfortran.dg/equiv_constraint_7.f90: Correct non-compliance of test with standard. PR fortran/25088 * gfortran.dg/typed_subroutine_1.f90: New test. From-SVN: r110926
2006-02-13Index: gcc/ChangeLogGeoffrey Keating4-137/+127
2006-02-13 Geoffrey Keating <geoffk@apple.com> * dwarf2out.c (base_type_die): Don't add AT_name here. (subrange_type_die): Don't add AT_name here. (modified_type_die): Rearrange code flow. Do add AT_name here. Index: gcc/testsuite/ChangeLog 2006-02-13 Geoffrey Keating <geoffk@apple.com> * objc.dg/dwarf-1.m: New. From-SVN: r110925
2006-02-13re PR rtl-optimization/26247 (gcc.dg/tree-ssa/gen-vect-26.c, 28 and 32. ↵Zdenek Dvorak2-1/+8
int_mode_for_mode ICE strict_low_part loop-invariant) PR rtl-optimization/26247 PR rtl-optimization/26248 * loop-invariant.c (may_assign_reg_p): Do not allow VOIDmode. From-SVN: r110924
2006-02-13floatunditf.c: Use if __LDBL_MANT_DIG__ == 113.Richard Sandiford5-4/+11
* config/floatunditf.c: Use if __LDBL_MANT_DIG__ == 113. * config/fixtfdi.c: Likewise. * config/fixunstfdi.c: Likewise. * config/floatditf.c: Likewise. From-SVN: r110923
2006-02-13re PR middle-end/24427 (missing optimization opportunity with binary operators)Roger Sayle4-0/+136
PR middle-end/24427 * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Transform (X&C1)|C2 into (X,C2) if C1 is a subset of the bits of C2. Transform (X&C1)|C2 into X|C2 if C1|C2 == ~0. Canonicalize (X&C1)|C2 as (X&(C1&~C2))|C2. <BIT_AND_EXPR>: Canonicalize (X|C1)&C2 as (X&C2)|(C1&C2). * gcc.dg/tree-ssa/andor-1.c: New test case. From-SVN: r110918
2006-02-13re PR target/25376 (section attribute doesn't work on darwin)Josh Conner6-6/+49
PR target/25376 * varasm.c (function_section): Check for section name before calling select_section on targets that define USE_SELECT_SECTION_FOR_FUNCTIONS. On other targets, use unlikely_text_section instead of hot_function_section if first_function_block_is_cold. * gcc.dg/pr25376.c: New test. * gcc.c-torture/compile/pr23237.c: Only compile test -- don't assemble. * lib/target-supports.exp (check_named_sections_available): Only compile named-sections test -- don't assemble. From-SVN: r110917
2006-02-13Add PR marker for:Joern Rennecke1-0/+1
PR middle-end/25335 * reload1.c (gen_reload): Also use find_replacement in UNARY_P case. From-SVN: r110916
2006-02-13* reload1.c (gen_reload): Also use find_replacement in UNARY_P case.J"orn Rennecke2-1/+8
From-SVN: r110915
2006-02-13re PR rtl-optimization/26222 (build failuring in libjava)Zdenek Dvorak3-14/+37
PR rtl-optimization/26222 * function.c (assign_stack_temp_for_type): Do not reuse stack slots after tree->rtl expansion. * loop-invariant.c (move_invariant_reg): Use force_operand on rhs before passing it to emit_move_insn. From-SVN: r110912
2006-02-13re PR c++/26151 (duplicate 'duplicate' diagnostic)Volker Reichelt3-42/+47
PR c++/26151 * parser.c (cp_parser_decl_specifier_seq): Check for duplicate decl-specifiers. Remove extra check for duplicate 'friend'. * decl.c (grokdeclarator): Remove check for duplicate decl-specifiers. Set longlong together with long_p. From-SVN: r110911
2006-02-13invoke.texi (-Write-strings): Document that it is enabled by default.Gabriel Dos Reis10-13/+43
2006-02-12 Gabriel Dos Reis <gdr@integrable-solutions.net> * doc/invoke.texi (-Write-strings): Document that it is enabled by default. * c.opt (-Wwrite-strings): Declare variable warn_write_strings. Clarify documentation. * c-common.h (warn_write_strings): Remove. * c-common.c (warn_write_strings): Likewise. * c-opts.c (c_common_init_options): Enable -Wwrite-strings by default for C++. testsuite/ 2006-02-12 Gabriel Dos Reis <gdr@integrable-solutions.net> * g++.dg/warn/no-write-strings.C: New test. * g++.dg/warn/write-strings.C: Likewise. * g++.dg/warn/write-strings-default.C: Likewise. From-SVN: r110907
2006-02-13re PR middle-end/25724 (Emits call to __cmpdi2 for long long comparison in ↵Roger Sayle5-146/+161
switches) PR middle-end/25724 * dojump.c (do_jump): Call do_compare_rtx_and_jump. (do_jump_parts_zero_rtx): New function renamed from do_jump_parts_equality_rtx. Made static. Add a mode argument. (do_jump_parts_equality_rtx): New function split out from do_jump_parts_equality. Old implementation renamed as above. Call do_jump_parts_zero_rtx if either operand is zero. (do_jump_parts_equality): Call do_jump_parts_equality_rtx to do all of the heavy lifting. (do_compare_rtx_and_jump): Handle multi-word comparisons by calling either do_jump_by_parts_greater_rtx or do_jump_by_parts_equality_rtx. * expr.h (do_jump_by_parts_equality_rtx): Remove prototype. * expmed.c (do_cmp_and_jump): Now multi-word optimization has moved to do_compare_rtx_and_jump, call it directly. * stmt.c (do_jump_if_equal): Remove static prototype. Add a mode argument. Call do_compare_rtx_and_jump. (emit_case_nodes): Update calls to do_jump_if_equal. From-SVN: r110906
2006-02-13Daily bump.GCC Administrator1-1/+1
From-SVN: r110904
2006-02-13re PR rtl-optimization/26225 (GCC error: in emit_move_multi_word, at ↵Zdenek Dvorak2-0/+6
expr.c:3053) PR rtl-optimization/26225 * loop-invariant.c (may_assign_reg_p): Do not allow BLKmode operands. From-SVN: r110898
2006-02-12re PR rtl-optimization/26232 (cc0 targets broken; loop-invariants-move code ↵Zdenek Dvorak2-0/+11
doesn't handle cc0.) PR rtl-optimization/26232 * loop-invariant.c (find_invariant_insn): Ignore insns that set CC0. From-SVN: r110897
2006-02-12re PR fortran/25806 (problems with functions returning array pointers?)Erik Edelmann6-16/+86
fortran/ 2006-02-12 Erik Edelmann <eedelman@gcc.gnu.org> PR fortran/25806 * trans-array.c (gfc_trans_allocate_array_storage): New argument dealloc; free the temporary only if dealloc is true. (gfc_trans_allocate_temp_array): New argument bool dealloc, to be passed onwards to gfc_trans_allocate_array_storage. (gfc_trans_array_constructor, gfc_conv_loop_setup): Update call to gfc_trans_allocate_temp_array. * trans-array.h (gfc_trans_allocate_temp_array): Update function prototype. * trans-expr.c (gfc_conv_function_call): Set new argument 'dealloc' to gfc_trans_allocate_temp_array to false in case of functions returning pointers. (gfc_trans_arrayfunc_assign): Return NULL for functions returning pointers. testsuite/ 2006-02-12 Erik Edelmann <eedelman@gcc.gnu.org> PR fortran/25806 * gfortran.dg/ret_pointer_2.f90: New test. From-SVN: r110893
2006-02-12re PR c++/24996 (ICE on throw code)Jason Merrill3-0/+17
PR c++/24996 * except.c (build_throw): Add a CLEANUP_POINT_EXPR inside the TRY_CATCH_EXPR or MUST_NOT_THROW_EXPR. From-SVN: r110889
2006-02-12re PR tree-optimization/24365 (statement makes a memory store with complex)Jason Merrill2-3/+11
PR tree-opt/24365 * tree-inline.c (declare_return_variable): Just don't use the modify target if it's a gimple complex reg and the return slot isn't. From-SVN: r110888
2006-02-12Daily bump.GCC Administrator1-1/+1
From-SVN: r110885
2006-02-11contrib.texi: Update my entry.Kaveh R. Ghazi2-3/+10
* doc/contrib.texi: Update my entry. From-SVN: r110874
2006-02-11* config/i386/darwin.h (DBX_REGISTER_NUMBER): Define.Geoffrey Keating2-0/+14
From-SVN: r110865
2006-02-11Daily bump.GCC Administrator1-1/+1
From-SVN: r110862
2006-02-10tree-inline.c (estimate_num_insns_1): Make OpenMP directives expensive.Diego Novillo2-9/+19
* tree-inline.c (estimate_num_insns_1): Make OpenMP directives expensive. From-SVN: r110853
2006-02-10invoke.texi (-floop-optimize2): Removed.Zdenek Dvorak7-28/+21
* doc/invoke.texi (-floop-optimize2): Removed. * toplev.c (process_options): Remove handling of flag_loop_optimize2. * loop-init.c (gate_handle_loop2): Do not test flag_loop_optimize2. Test flag_branch_on_count_reg only if HAVE_doloop_end. * common.opt (floop-optimize2): Removed. (fmove-loop-invariants): Enabled by default. * gcc.dg/20050105-1.c: Do not use -floop-optimize2. From-SVN: r110852
2006-02-10tree-if-conv.c (combine_blocks): Free the result of get_loop_exit_edges.Sebastian Pop2-1/+8
* tree-if-conv.c (combine_blocks): Free the result of get_loop_exit_edges. From-SVN: r110850
2006-02-10fold-const.c (tree_expr_nonzero_p): Fix thinko.Jeff Law2-1/+3
* fold-const.c (tree_expr_nonzero_p): Fix thinko. From-SVN: r110849
2006-02-10re PR tree-optimization/26213 (new (within last few days) infinite loop with ↵Jeff Law4-4/+33
-O1) PR tree-optimization/26213 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Do not loop trying to follow SSA_NAME_VALUE chains. * gcc.c-torture/compile/pr26213.c: New test. From-SVN: r110846
2006-02-10re PR fortran/20858 (NULL doesn't get its argument type (kind))Steven G. Kargl6-19/+54
2006-02-05 Steven G. Kargl <kargls@comcast.net> PR fortran/20858 *decl.c (variable_decl): Improve error message. Remove initialization typespec. Wrap long line. *expr.c (gfc_check_pointer_assign): Permit checking of type, kind type, and rank. *simplify.c (gfc_simplify_null): Ensure type, kind type, and rank are set. gfortran.dg/null_1.f90: New test. From-SVN: r110845
2006-02-10re PR fortran/14771 (frontend doesn't record parentheses)Tobias Schlüter7-0/+54
fortran/ PR fortran/14771 * arith.c (eval_intrinsic): Accept INTRINSIC_PARENTHESES. * expr.c (check_intrinsic_op): Likewise. * module.c (mio_expr): Likewise. testsuite/ PR fortran/14771 * gfortran.dg/parens_4.f90: New. * gfortran.dg/parens_5.f90: New. From-SVN: r110840
2006-02-10class.c (debug_class): Remove extern.Volker Reichelt2-2/+7
* class.c (debug_class): Remove extern. (debug_thunks): Likewise. From-SVN: r110836
2006-02-10tree-dfa.c (get_ref_base_and_extent): When computing maxsize deal with ↵Richard Guenther2-0/+30
structures that end in implicitly variable... 2006-02-10 Richard Guenther <rguenther@suse.de> * tree-dfa.c (get_ref_base_and_extent): When computing maxsize deal with structures that end in implicitly variable sized arrays. From-SVN: r110834
2006-02-10pr23372-1.c: Remove empty file.Richard Guenther2-0/+4
2006-02-10 Richard Guenther <rguenther@suse.de> * testsuite/gcc.dg/pr23372-1.c: Remove empty file. From-SVN: r110833
2006-02-10Daily bump.GCC Administrator1-1/+1
From-SVN: r110826
2006-02-10dump-parse-tree.c: Update copyright years.Tobias Schlüter4-4/+9
* dump-parse-tree.c: Update copyright years. * matchexp.c: Likewise. * module.c: Likewise. From-SVN: r110820
2006-02-10re PR fortran/14771 (frontend doesn't record parentheses)Tobias Schlüter13-3/+129
fortran/ 2006-02-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> PR fortran/14771 * gfortran.h (gfc_intrinsic_op): Add INTRINSIC_PARENTHESES. * dump-parse-tree (gfc_show_expr): Handle INTRINSIC_PARENTHESES. * expr.c (simplify_intrinsic_op): Treat INTRINSIC_PARENTHESES as if it were INTRINSIC_UPLUS. * resolve.c (resolve_operator): Handle INTRINSIC_PARENTHESES. * match.c (intrinsic_operators): Add INTRINSIC_PARENTHESES. * matchexp.c (match_primary): Record parentheses surrounding numeric expressions. * module.c (intrinsics): Add INTRINSIC_PARENTHESES for module dumping. * trans-expr.c (gfc_conv_expr_op): Handle INTRINSIC_PARENTHESES. testsuite/ 2006-02-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> Paul Thomas <pault@gcc.gnu.org> PR fortran/14771 * gfortran.dg/parens_1.f90: New. * gfortran.dg/parens_2.f90: New. * gfortran.dg/parens_3.f90: New. From-SVN: r110819
2006-02-09re PR fortran/26038 (ICE on allocation of assumed length CHARACTER dummy.)Paul Thomas8-11/+134
2006-02-09 Paul Thomas <pault@gcc.gnu.org> PR fortran/26038 * trans-stmt.c (gfc_trans_allocate): Provide assumed character length scalar with missing backend_decl for the hidden dummy charlen. PR fortran/25059 * interface.c (gfc_extend_assign): Remove detection of non-PURE subroutine in assignment interface, with gfc_error, and put it in * resolve.c (resolve_code). PR fortran/25070 * interface.c (gfc_procedure_use): Flag rank checking for non- elemental, contained or interface procedures in call to (compare_actual_formal), where ranks are checked for assumed shape arrays.. 2006-02-09 Paul Thomas <pault@gcc.gnu.org> PR fortran/26038 * gfortran.dg/allocate_char_star_scalar_1.f90: New test. PR fortran/25059 * gfortran.dg/impure_assignment_1.f90: New test. PR fortran/25070 * gfortran.dg/assumed_shape_ranks_1.f90: New test. From-SVN: r110816
2006-02-09re PR rtl-optimization/24762 ([killloop-branch] code motion of non-invariant ↵Zdenek Dvorak2-1/+8
expressions with hard registers.) PR rtl-optimization/24762 * df-scan.c (df_bb_refs_record): Record correct registers defined on eh edges. From-SVN: r110815
2006-02-09tree-ssa-loop-ivopts.c (struct loop_data, loop_data): Removed.Zdenek Dvorak2-39/+21
* tree-ssa-loop-ivopts.c (struct loop_data, loop_data): Removed. (struct ivopts_data): Add regs_used field. (tree_ssa_iv_optimize_init): Do not allocate aux fields for loops. (ivopts_global_cost_for_size, determine_set_costs): Use data->regs_used instead of loop_data->regs_used; (free_loop_data): Do not free aux fields for loops. (tree_ssa_iv_optimize): Do not pass loops to tree_ssa_iv_optimize_init and tree_ssa_iv_optimize_finalize. From-SVN: r110813
2006-02-09sh.h (FUNCTION_VALUE): Don't handle CHAR_TYPE.Kaz Kojima2-1/+4
2006-02-09 Kaz Kojima <kkojima@gcc.gnu.org> * config/sh/sh.h (FUNCTION_VALUE): Don't handle CHAR_TYPE. From-SVN: r110812
2006-02-09re PR target/26141 (va_arg causes cc1plus ICE in gimplify_addr_expr)J"orn Rennecke4-14/+59
PR target/26141 gcc: * sh.c (sh_gimplify_va_arg_expr): Don't change the result type when computing the effective result type. gcc/testsuite: * g++.dg/expr/stdarg2.C: New test. From-SVN: r110811