aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2005-09-13re PR fortran/17740 (ICE in gfc_trans_arrayfunc_assign, at ↵Erik Edelmann4-1/+41
fortran/trans-expr.c:2011) 2005-09-13 Erik Edelmann <erik.edelmann@iki.fi> fortran/ PR fortran/17740 * trans-expr.c (gfc_trans_arrayfunc_assign): Check value of attr.elemental for specific function instead of generic name. testsuite/ PR fortran/17740 * gfortran.dg/generic_4.f90: New test. From-SVN: r104240
2005-09-13tree.c (annotate_with_file_line): Compare line numbers before file names.Volker Reichelt2-4/+9
* tree.c (annotate_with_file_line): Compare line numbers before file names. From-SVN: r104239
2005-09-13re PR target/23816 (ICE in extract_insn, at recog.c:2084)Uros Bizjak4-0/+70
PR target/23816 * config/i386/sse.md (*ieee_sminv4sf3, *ieee_smaxv4sf3) (*ieee_sminv2df3, *ieee_smaxv2df3): New insn patterns. From-SVN: r104236
2005-09-13loop-doloop.c (doloop_modify): Use GEN_INT to pass an rtx rather than a ↵Ian Lance Taylor2-1/+6
HOST_WIDEST_INT to gen_doloop_begin. * loop-doloop.c (doloop_modify): Use GEN_INT to pass an rtx rather than a HOST_WIDEST_INT to gen_doloop_begin. From-SVN: r104234
2005-09-13* tree-dfa.c (dump_variable): Guard against NULL annotations.Diego Novillo2-3/+7
From-SVN: r104233
2005-09-13* zh_CN.po: Update.Joseph Myers2-352/+332
From-SVN: r104231
2005-09-13re PR c++/16171 ([ABI] Problems with standard names in different namespaces)Bastian Blank7-5/+72
PR c++/16171 * mangle.c (find_substitution): Do not use special substitutions for identifiers not in std::. PR c++/16171 * g++.dg/abi/mangle26.C: New test. * g++.dg/abi/mangle27.C: New test. * g++.dg/abi/mangle28.C: New test. * g++.dg/abi/mangle29.C: New test. From-SVN: r104228
2005-09-13re PR c++/23839 (ICE: expected var_decl, have parm_decl in ↵Mark Mitchell4-1/+26
cxx_mark_addressable, at cp/typeck.c:4343) PR c++/23839 * typeck.c (cxx_mark_addressable): Only check DECL_HARD_REGISTER for VAR_DECLs. PR c++/23839 * g++.dg/parse/register1.C: New test. From-SVN: r104225
2005-09-13re PR c++/23842 (Incorrect access control context)Mark Mitchell4-4/+27
PR c++/23842 * pt.c (tsubst_default_argument): Do treat default argument expressions as occurring in the context of the function called. PR c++/23842 * g++.dg/template/access16.C: New test. From-SVN: r104224
2005-09-13* gfortran.dg/char_pack_2.f90: Increase the vector size.Richard Sandiford2-3/+7
From-SVN: r104220
2005-09-13re PR fortran/18899 ([gfortran] ubound wrongly calculated for passed array)Richard Sandiford5-4/+50
PR fortran/18899 * trans-intrinsic.c (gfc_conv_intrinsic_bound): Move initialization of argse. Remove now-redundant want_pointer assignment. * trans-array.c (gfc_conv_expr_descriptor): When not assigning to a pointer, keep the original bounds of a full array reference. From-SVN: r104219
2005-09-13re PR tree-optimization/23817 (ICE in check_loop_closed_ssa_use, at ↵Zdenek Dvorak2-2/+16
tree-ssa-loop-manip.c:398) PR tree-optimize/23817 * tree-cfg.c (tree_merge_blocks): Preserve loop closed ssa. From-SVN: r104218
2005-09-13re PR fortran/19269 (transpose(reshape(...)) of character array segfaults.)Richard Sandiford18-16/+664
gcc/fortran/ PR target/19269 * iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift) (gfc_resolve_pack, gfc_resolve_reshape, gfc_resolve_spread) (gfc_resolve_transpose, gfc_resolve_unpack): Add "_char" to the name for character-based operations. (gfc_resolve_pack): Remove ATTRIBUTE_UNUSED from array argument. (gfc_resolve_unpack): Copy the whole typespec from the vector. * trans-array.c (gfc_conv_expr_descriptor): In the EXPR_FUNCTION case, get the string length from the scalarization state. libgfortran/ PR target/19269 * intrinsics/cshift0.c (cshift0): Add an extra size argument. (cshift0_1, cshift0_2, cshift0_4, cshift0_8): Replace explicit implementations with... (DEFINE_CSHIFT): ...this new macro. Define character versions too. * intrinsics/eoshift0.c (zeros): Delete. (eoshift0): Add extra size and filler arguments. Use memset if no bound is provided. (eoshift0_1, eoshift0_2, eoshift0_4, eoshift0_8): Replace explicit implementations with... (DEFINE_EOSHIFT): ...this new macro. Define character versions too. * intrinsics/eoshift2.c (zeros): Delete. (eoshift2): Add extra size and filler arguments. Use memset if no bound is provided. (eoshift2_1, eoshift2_2, eoshift2_4, eoshift2_8): Replace explicit implementations with... (DEFINE_EOSHIFT): ...this new macro. Define character versions too. * intrinsics/pack.c (pack_internal): New static function, reusing the contents of pack and adding an extra size argument. Change "mptr" rather than "m" when calculating the array size. (pack): Redefine as a forwarder to pack_internal. (pack_s_internal): New static function, reusing the contents of pack_s and adding an extra size argument. (pack_s): Redefine as a forwarder to pack_s_internal. (pack_char, pack_s_char): New functions. * intrinsics/reshape.c (reshape_internal): New static function, reusing the contents of reshape and adding an extra size argument. (reshape): Redefine as a forwarder to reshape_internal. (reshape_char): New function. * intrinsics/spread.c (spread_internal): New static function, reusing the contents of spread and adding an extra size argument. (spread): Redefine as a forwarder to spread_internal. (spread_char): New function. * intrinsics/transpose.c (transpose_internal): New static function, reusing the contents of transpose and adding an extra size argument. (transpose): Redefine as a forwarder to transpose_internal. (transpose_char): New function. * intrinsics/unpack.c (unpack_internal): New static function, reusing the contents of unpack1 and adding extra size and fsize arguments. (unpack1): Redefine as a forwarder to unpack_internal. (unpack0): Call unpack_internal instead of unpack1. (unpack1_char, unpack0_char): New functions. * m4/cshift1.m4 (cshift1): New static function, reusing the contents of cshift1_<kind> and adding an extra size argument. (cshift1_<kind>): Redefine as a forwarder to cshift1. (cshift1_<kind>_char): New function. * m4/eoshift1.m4 (zeros): Delete. (eoshift1): New static function, reusing the contents of eoshift1_<kind> and adding extra size and filler arguments. Fix calculation of hstride. Use memset if no bound is provided. (eoshift1_<kind>): Redefine as a forwarder to eoshift1. (eoshift1_<kind>_char): New function. * m4/eoshift3.m4 (zeros): Delete. (eoshift3): New static function, reusing the contents of eoshift3_<kind> and adding extra size and filler arguments. Use memset if no bound is provided. (eoshift3_<kind>): Redefine as a forwarder to eoshift3. (eoshift3_<kind>_char): New function. * generated/cshift1_4.c, generated/cshift1_8.c, * generated/eoshift1_4.c, generated/eoshift1_8.c, * generated/eoshift3_4.c, generated/eoshift3_8.c: Regenerate. From-SVN: r104217
2005-09-13configure.in: Recognize f95 in the --enable-languages option...Francois-Xavier Coudert5-68/+75
* configure.in: Recognize f95 in the --enable-languages option, and substitute it for fortran, issuing a warning. * configure: Regenerate. * Make-lang.in: Change targets prefixes from f95 to fortran. * config-lang.in: Change language name to "fortran". * lang.opt: Change language name to "fortran". * options.c: Change CL_F95 to CL_Fortran. From-SVN: r104215
2005-09-13re PR c++/23841 (Floating-point literals cast to integral types should be ↵Mark Mitchell4-1/+29
accepted in integer constant expressions) PR c++/23841 * parser.c (cp_parser_primary_expression): Recognize the closing ">" of a template-argument-list after a floating-point literal as the end of a cast expression. PR c++/23841 * g++.dg/parse/template17.C: New test. From-SVN: r104208
2005-09-13re PR target/23774 (dealloc of dynamic stack space breaks backchain)Alan Modra2-22/+38
PR target/23774 * config/rs6000/rs6000.md (restore_stack_block): Write the backchain word before changing the stack pointer. Use gen_frame_mem for MEMs. Use UNSPEC_TIE to prevent insn scheduling reordering the insns. (restore_stack_nonlocal): Likewise. (save_stack_nonlocal): Use template to emit insns, and gen_frame_mem. From-SVN: r104206
2005-09-13Daily bump.GCC Administrator1-1/+1
[[Split portion of a mixed commit.]] From-SVN: r104200.2
2005-09-12re PR c++/23789 (compilation error when template parameters have certain ↵Mark Mitchell5-28/+30
complexity) PR c++/23789 * cvt.c (perform_qualification_conversions): Don't create unnecessary NOP_EXPRs. * pt.c (tsubst_template_arg): Use fold_non_dependent_expr. PR c++/23789 * g++.dg/template/nontype14.C: New test. From-SVN: r104193
2005-09-12re PR c++/7874 (g++ finds friend functions defined in class-definition but ↵Ian Lance Taylor21-90/+403
not declared in the enclosing namespace) ./ PR g++/7874 * c.opt (ffriend-injection): New C++ option. * doc/invoke.texi (Option Summary): Mention -ffriend-injection. (C++ Dialect Options): Document -ffriend-injection. cp/ PR g++/7874 * cp-tree.h (struct lang_decl_flags): Add hidden_friend_p bitfield. Make dummy bitfield one bit smaller. (DECL_HIDDEN_FRIEND_P): Define. (pushdecl_maybe_friend): Declare. (pushdecl_top_level_maybe_friend): Declare. * decl.c (duplicate_decls): Add newdecl_is_friend parameter. Change prototype and all callers. Add assertion that a DECL_ARTIFICIAL FUNCTION_DECL is not DECL_HIDDEN_FRIEND_P. Set DECL_ANTICIPATED and DECL_HIDDEN_FRIEND_P in duplicated decl if appropriate. * name-lookup.c (supplement_binding): Don't ignore a DECL_HIDDEN_FRIEND_P. (pushdecl_maybe_friend): Break out contents of pushdecl. Add is_friend parameter. Set DECL_ANTICIPATED and DECL_HIDDEN_FRIEND_P for a friend function. (pushdecl): Just call pushdecl_maybe_friend. (pushdecl_with_scope): Add is_friend parameter. Change prototype and all callers. (pushdecl_namespace_level): Likewise. (push_overloaded_decl): Likewise. Check DECL_HIDDEN_FRIEND_P as well as DECL_ANTICIPATED when checking for a builtin. (do_nonmember_using_decl): Check DECL_HIDDEN_FRIEND_P as well as DECL_ANTICIPATED when checking for a builtin. (do_nonmember_using_decl): Likewise. (pushdecl_top_level_1): Add is_friend parameter. Change all callers. (pushdecl_top_level_maybe_friend): New function. (remove_hidden_names): New function. (struct arg_lookup): Add args field. (friend_of_associated_class_p): New static function. (arg_assoc_namespace): Ignore hidden functions which are not friends of an associated class of some argument. (lookup_arg_dependent): Remove hidden functions from list passed in. Initialize k.args. * name-lookup.h (remove_hidden_names): Declare. * friend.c (do_friend): Call pushdecl_maybe_friend instead of pushdecl. * call.c (add_function_candidate): Change DECL_ANTICIPATED test to an assertion, with a check for DECL_HIDDEN_FRIEND_P. (build_new_function_call): Add koenig_p parameter. Change prototype and callers. * pt.c (register_specialization): Add is_friend parameter. Change all callers. (push_template_decl_real): Change is_friend parameter to bool. Change prototype and all callers. (tsubst_friend_class): Call pushdecl_top_level_maybe_friend instead of pushdecl_top_level. testsuite/ PR g++/7874 * g++.dg/lookup/friend7.C: New test. * g++.dg/lookup/friend8.C: New test. * g++.dg/parse/defarg4.C: Add a parameter to the friend function, so that it will be found via argument dependent lookup. * g++.old-deja/g++.brendan/crash56.C: Don't expect errors for friend functions which will no longer be found. * g++.old-deja/g++.jason/friend.C: Add a parameter to the friend function g, so that it will be found via argument dependent lookup. * g++.old-deja/g++.jason/scoping15.C: Use -ffriend-injection. * g++.old-deja/g++.mike/net43.C: Likewise. From-SVN: r104188
2005-09-12re PR c++/23691 (`mpl_::bool_<false>::value' is not a valid template ↵Mark Mitchell2-5/+25
argument for type `bool' because it is a non-constant expression) PR c++/23691 * g++.dg/template/static16.C: New test. From-SVN: r104186
2005-09-12pr middle-end/23237Josh Conner2-0/+17
pr middle-end/23237 * gcc.c-torture/compile/pr23237.c: New test. From-SVN: r104177
2005-09-12pr middle-end/23237Josh Conner2-4/+17
pr middle-end/23237 * ipa-reference.c (static_execute): Don't mark variables in named sections TREE_READONLY. From-SVN: r104176
2005-09-12rs6000.c (get_next_active_insn): Simplify test for stack_tie.Alan Modra2-4/+7
* config/rs6000/rs6000.c (get_next_active_insn): Simplify test for stack_tie. From-SVN: r104173
2005-09-12tree-ssa-dse.c (dse_optimize_stmt): Fix up all of V_MAY_DEF and V_MUST_DEF ↵Andrew Pinski2-13/+14
instead of just the first_use_p. 2005-09-12 Andrew Pinski <pinskia@physics.uc.edu> * tree-ssa-dse.c (dse_optimize_stmt): Fix up all of V_MAY_DEF and V_MUST_DEF instead of just the first_use_p. Don't mark the virtual variables for renaming on the statement which is being removed. (pass_dse): Remove TODO_update_ssa. From-SVN: r104172
2005-09-12re PR middle-end/23290 (Layout changed for structure with single complex field)J"orn Rennecke2-3/+8
PR middle-end/23290 * stor-layout.c (compute_record_mode): For records with a single field, actually check the field's mode size against the type size. From-SVN: r104171
2005-09-12sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose registers for ↵J"orn Rennecke2-2/+14
TARGET_SHMEDIA. * sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose registers for TARGET_SHMEDIA. (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Rename GENERAL_FP_REGS to GENERAL_DF_REGS. Add GENERAL_FP_REGS as union of GENERAL_REGS and FP_REGS. From-SVN: r104170
2005-09-12* config/bfin/bfin.c (legimitize_pic_address): Use gen_const_mem.Bernd Schmidt2-3/+7
From-SVN: r104168
2005-09-12* objcp-lang.c (objcxx_init_ts): Remove ALIAS_DECL.Richard Henderson2-6/+5
From-SVN: r104165
2005-09-11decl2.c (build_anon_union_vars): Copy attributes from the base addr.Richard Henderson5-9/+27
* decl2.c (build_anon_union_vars): Copy attributes from the base addr. * pt.c (tsubst_decl): Substitute in DECL_VALUE_EXPR. * g++.dg/other/error8.C: Update expected diagnostic text. From-SVN: r104160
2005-09-12rs6000.c (get_next_active_insn): Rewrite using CALL_P...Alan Modra2-16/+22
* config/rs6000/rs6000.c (get_next_active_insn): Rewrite using CALL_P, JUMP_P and NONJUMP_INSN_P, so that barriers and labels are omitted. Exclude stack_tie insn too. From-SVN: r104159
2005-09-12Daily bump.GCC Administrator1-1/+1
[[Split portion of a mixed commit.]] From-SVN: r104147.2
2005-09-11re PR rtl-optimization/23098 (store of 0.0 to float)David Edelsohn5-13/+43
PR rtl-optimization/23098 * config/rs6000/predicates.md (easy_fp_constant): SFmode constant 0.0f is easy. * config/rs6000/rs6000.md (movdf splitter): Use const_double_operand predicate for TARGET_POWERPC64. * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Expand SYMBOL_REF method to ABI_V4. * config/rs6000/altivec.md (build_vector_mask_for_load): Use replace_equiv_address. * config/rs6000/rs6000.c (rs6000_emit_eh_reg_restore): Mark MEM as rs6000_sr_alias_set and MEM_NOTRAP. (rs6000_aix_emit_builtin_unwind_init): Use gen_frame_mem(). From-SVN: r104145
2005-09-11tree.c (contains_placeholder_p): Properly handle CALL_EXPR again.Eric Botcazou2-0/+8
* tree.c (contains_placeholder_p) <tcc_expression>: Properly handle CALL_EXPR again. From-SVN: r104144
2005-09-11re PR libfortran/19872 ([4.0 only] closed and re-opened file not overwriten)Francois-Xavier Coudert2-0/+25
PR libfortran/19872 * gfortran.dg/overwrite_1.f: New test. From-SVN: r104143
2005-09-11* arm/predicates.md (alignable_memory_operand): Delete.Richard Earnshaw2-20/+4
From-SVN: r104138
2005-09-11Daily bump.GCC Administrator1-1/+1
[[Split portion of a mixed commit.]] From-SVN: r104133.2
2005-09-10re PR debug/23806 (-gstabs with VLAs does not work)Richard Henderson2-11/+64
PR debug/23806 * dbxout.c (dbxout_expand_expr): New. (dbxout_symbol): Use it. From-SVN: r104129
2005-09-10arm.c (arm_gen_rotated_half_load): Delete.Richard Earnshaw4-133/+58
* arm.c (arm_gen_rotated_half_load): Delete. (vfp_emit_fstmx, arm_set_return_address): Use gen_frame_mem. (emit_multi_reg_push, emit_sfm, arm_expand_prologue) (thumb_set_return_address): Likewise. (thumb_load_double_from_address): Use adjust_address. * arm.md (splits calling arm_gen_rotated_half_load): Delete. (extendhsisi2_mem, movhi_bytes): Use change_address. (movhi): Use widen_memory_access. (reload_out_df): Use replace_equiv_address. * arm-protos.h (arm_gen_rotated_half_load): Delete prototype. From-SVN: r104124
2005-09-10pr23180-1.C: Removed.Josh Conner3-28/+5
* g++.dg/init/pr23180-1.C: Removed. * g++.dg/init/pr23180-2.C: Removed. From-SVN: r104122
2005-09-10Daily bump.GCC Administrator1-1/+1
[[Split portion of a mixed commit.]] From-SVN: r104119.2
2005-09-0920010124-1.c: Removed and split into two new files which are ...David Daney4-50/+87
2005-09-09 David Daney <ddaney@avtrex.com> * gcc.c-torture/execute/20010124-1.c: Removed and split into two new files which are ... * gcc.c-torture/execute/builtins/20010124-1: ... here and ... * gcc.c-torture/execute/builtins/20010124-1-lib.c: ... here. From-SVN: r104116
2005-09-09parser.c (cp_parser_translation_unit): Simplify.Gabriel Dos Reis2-31/+31
* parser.c (cp_parser_translation_unit): Simplify. The while-block was actually executed at most once. From-SVN: r104115
2005-09-09* gfortran.dg/iostat_2.f90: New test.Francois-Xavier Coudert2-0/+11
From-SVN: r104110
2005-09-09dbxout.c: Include expr.h.Richard Henderson10-39/+54
* dbxout.c: Include expr.h. (dbxout_global_decl): Don't suppress for DECL_RTL unset. (dbxout_symbol): Handle DECL_VALUE_EXPR. * Makefile.in (dbxout.o): Add EXPR_H. cp/ * cp-tree.def (ALIAS_DECL): Remove. * cp-lang.c (cp_init_ts): Remove support for it. * error.c (dump_decl): Likewise. * name-lookup.c (pushdecl): Likewise. * semantics.c (finish_id_expression): Likewise. * decl2.c (build_anon_union_vars): Use a VAR_DECL with DECL_VALUE_EXPR instead. From-SVN: r104106
2005-09-092005-09-09 Thomas Koenig <Thomas.Koenig@online.de>Thomas Koenig2-3/+39
gfortran.texi: Document IOSTAT= specifier. From-SVN: r104104
2005-09-09re PR c++/22252 (pragma interface/implementation still break synthesized ↵Mark Mitchell9-35/+89
methods) PR c++/22252 * decl.c (start_preparsed_function): Do not pay attention to #pragma interface for implicitly-defined methods. * decl2.c (cp_finish_file): Do not complain about uses of inline functions that have bodies, even if we decided not to emit the body in this translation unit. * semantics.c (note_decl_for_pch): Do not mess with linkage. (expand_or_defer_fn): Make inline, non-template functions COMDAT at this point. PR c++/22252 * g++.dg/ext/interface1.C: New test. * g++.dg/ext/interface1.h: Likewise. * g++.dg/ext/interface1a.cc: Likewise. From-SVN: r104103
2005-09-09gfortran.h: Add iomsg to gfc_open, gfc_close, gfc_filepos, gfc_inquire and ↵Thomas Koenig6-6/+121
gfc_dt. 2005-09-09 Thomas Koenig <Thomas.Koenig@online.de> * gfortran.h: Add iomsg to gfc_open, gfc_close, gfc_filepos, gfc_inquire and gfc_dt. * dump-parse-tree.c (gfc_show_code_node): Add iomsg for open, close, file positioning, inquire and namelist. * io.c (io_tag): Add tag_iomsg. (resolve_tag): Add standards warning for iomsg. (match_open_element): Add iomsg. (gfc_free_open): Add iomsg. (gfc_resolve_open): Add iomsg. (gfc_free_close): Add iomsg. (match_close_element): Add iomsg. (gfc_resolve_close): Add iomsg. (gfc_free_filepos): Add iomsg. (match_file_element): Add iomsg. (gfc_resolve_filepos): Add iostat and iomsg. (match-dt_element): Add iomsg. (gfc_free_dt): Add iomsg. (gfc_resolve_dt): Add iomsg. (gfc_free_inquire): Add iomsg. (match_inquire_element): Add iomsg. (gfc_resolve_inquire): Add iomsg. * trans_io.c: Add ioparm_iomsg and ioparm_iomsg_len. (gfc_build_io_library_fndecls): Add iomsg as last field. (gfc_trans_open): Add iomsg. (gfc_trans_close): Add iomsg. (build_fileos): Call set_string for iomsg. (gfc_trans_inquire): Add iomsg. (build_dt): Add iomsg. 2005-09-09 Thomas Koenig <Thomas.Koenig@online.de> * io/io.h: Add iomsg as last field of st_parameter. * runtime/error.c (generate_error): If iomsg is present, copy the message there. 2005-09-09 Thomas Koenig <Thomas.Koenig@online.de> * gfortran.dg/iomsg_1.f90: New test case. From-SVN: r104102
2005-09-09re PR tree-optimization/23509 (ICE with ivopts)Zdenek Dvorak3-9/+22
PR tree-optimization/23509 * tree-cfg.c (replace_uses_by): Use replace_exp. * tree-ssa-loop-ivopts.c (get_ref_tag): Assert that dereferenced pointers have name_mem_tag or type_mem_tag set. From-SVN: r104099
2005-09-09re PR libgcj/23182 (instanceof sometimes fails if compiled with ↵Andrew Haley2-0/+12
-findirect-dispatch) 2005-09-09 Andrew Haley <aph@redhat.com> PR libgcj/23182 * expr.c (pop_type_0): If the expected type is object or ptr (i.e. void*), return the type of the object we just popped from the stack. From-SVN: r104098
2005-09-09Fix for 23180 also fixes 21135 - added to change description.Josh Conner1-0/+1
From-SVN: r104097