aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2006-04-20c-pretty-print.c (pp_c_direct_abstract_declarator): Print TYPE_MAX_VALUE ↵Jakub Jelinek4-1/+24
(TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather than plain... * c-pretty-print.c (pp_c_direct_abstract_declarator): Print TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)). * gcc.dg/20060419-1.c: New test. From-SVN: r113112
2006-04-20rs6000.c (rs6000_gimplify_va_arg): Consume all fp regs if the last fp arg ↵Alan Modra2-1/+6
doesn't fit in regs. * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all fp regs if the last fp arg doesn't fit in regs. From-SVN: r113111
2006-04-20re PR target/27182 (SH: wrong-code generation)Kaz Kojima2-0/+8
PR target/27182 * config/sh/sh.md (movsicc_true+3): Tweak condition for the case that the last insn has the REG_INC note. From-SVN: r113109
2006-04-20re PR c/26774 (Out of memory compiling 9-line Delta-reduced Linux kernel ↵Carlos O'Donell4-11/+46
driver msp3400.c) gcc/ 2006-04-19 Carlos O'Donell <carlos@codesourcery.com> Nathan Sidwell <nathan@codesourcery.com> PR c/26774 * stor-layout.c (update_alignment_for_field): Do not align ERROR_MARK nodes. (place_union_field): Place union field at the start of the union. (place_field): Move ERROR_MARK check later, and use the current allocation position to maintain monotonicity. gcc/testsuite/ 2006-04-19 Carlos O'Donell <carlos@codesourcery.com> PR c/26774 * gcc.dg/struct-parse-1.c: New test case. Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com> From-SVN: r113107
2006-04-20Daily bump.GCC Administrator1-1/+1
From-SVN: r113105
2006-04-19re PR c++/26558 (segfault on syntax error)Volker Reichelt4-7/+28
PR c++/26558 * parser.c (cp_parser_class_name): Check for invalid typenames. Rearrange code. * g++.dg/parse/template19.C: New test. From-SVN: r113096
2006-04-19Fix PR numbers.Volker Reichelt1-2/+2
From-SVN: r113094
2006-04-19re PR c++/26739 (ICE in g++.old-deja/g++.pt/friend36.C)Volker Reichelt4-2/+12
PR c++/26739 * pt.c (tsubst_friend_function): Return early if pushdecl_namespace_level fails. * g++.old-deja/g++.pt/friend36.C: Adjust error markers. From-SVN: r113090
2006-04-19re PR c++/26036 (Treating a class object as a function with member variables ↵Volker Reichelt6-11/+23
causes hang) PR c++/26036 * typeck.c (convert_arguments): Return error_mark_node instead of error_mark_list. * cp-tree.h (error_mark_list): Remove declaration. * decl.c (error_mark_list): Remove definition. (cxx_init_decl_processing): Do not initialize error_mark_list. * g++.dg/expr/call3.C: New test. From-SVN: r113087
2006-04-19re PR c++/10385 (Internal compiler error in build_up_reference, at ↵Volker Reichelt5-3/+32
cp/cvt.c:353, on invalid dynamic_cast) PR c++/10385 * rtti.c (build_dynamic_cast_1): Check for invalid conversions before calling convert_to_reference. * cvt.c (convert_to_reference): Assert that reftype is a REFERENCE_TYPE. * g++.dg/conversion/dynamic1.C: New test. From-SVN: r113084
2006-04-19re PR c++/27102 (ICE with invalid class name in function template)Mark Mitchell10-66/+136
PR c++/27102 * class.c (currently_open_class): Tidy. * decl.c (grokdeclarator): If we encounter an erroneous declarator, assume that we have already issued an error message and return. Return error_mark_node instead of NULL_TREE in more places. Issue errors about function definitions that do not have a function declarator. Check for complete types for all function definitions. * cp-tree.h (cp_error_declarator): Remove. (currently_open_class): Change return type. * parser.c (cp_parser_id_expression): Add optional_p parameter. (cp_parser_parse_diagnose_invalid_type_name): Adjust calls. (cp_parser_id_expression): Likewise. (cp_parser_unqualified_id): If the name is optional, return NULL_TREE. (cp_parser_postfix_dot_deref_expression): Adjust calls. (cp_parser_type_parameter): Likewise. (cp_parser_unqualified_id): Likewise. (cp_parser_direct_declarator): Likewise. (cp_parser_declarator_id): Add optional_p parameter. (cp_parser_function_definition_from_specifiers_and_declarator): Assume that start_function indicates failure only if it has issued an error. (cp_parser_omp_var_list_no_open): Adjust calls. PR c++/27102 * g++.dg/template/crash35.C: Tweak error markers. * g++.dg/template/crash46.C: New test. * g++.old-deja/g++.brendan/friend4.C: Tweak error markers. * g++.old-deja/g++.pt/incomplete1.C: Likewise. From-SVN: r113081
2006-04-19dominance.c: Include timevar.h.Zdenek Dvorak4-1/+13
* dominance.c: Include timevar.h. (calculate_dominance_info): Use TV_DOMINANCE. * timevar.def (TV_DOMINANCE): New timevar. * Makefile.in (dominance.o): Add TIMEVAR_H dependency. From-SVN: r113075
2006-04-19PR reference added to ChangeLogAndreas Krebbel2-0/+2
From-SVN: r113073
2006-04-19ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting move ↵Andreas Krebbel4-39/+106
would be an INSV insn. 2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com> * ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting move would be an INSV insn. (noce_process_if_block): Don't optimize if the destination is a ZERO_EXTRACT which can't be handled by noce_emit_move_insn. 2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com> * gcc.c-torture/compile/20060419-1.c: Added. From-SVN: r113072
2006-04-19s390.md: Add comments with the instructions emitted by an insn pattern if ↵Andreas Krebbel2-12/+101
macros are used. 2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com> * config/s390/s390.md: Add comments with the instructions emitted by an insn pattern if macros are used. From-SVN: r113071
2006-04-19Daily bump.GCC Administrator1-1/+1
From-SVN: r113064
2006-04-19re PR rtl-optimization/26026 (power of 2 mod missing optimisation)Alan Modra2-21/+39
PR rtl-optimization/26026 * fold-const.c (fold_binary): Optimize div and mod where the divisor is a known power of two shifted left a variable amount. From-SVN: r113060
2006-04-18dwarf2out.c (prune_unused_types_update_strings): Don't add strings to hash ↵Geoffrey Keating2-3/+7
table twice when the debug_str section has SECTION_MERGE. * dwarf2out.c (prune_unused_types_update_strings): Don't add strings to hash table twice when the debug_str section has SECTION_MERGE. From-SVN: r113057
2006-04-18soft-fp: New directory.Joseph Myers79-59/+7411
* config/soft-fp: New directory. From glibc. * config/soft-fp/t-softfp: New. * config/soft-fp/README: New. * mklibgcc.in: Handle LIB2FUNCS_EXCLUDE. * Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New. (libgcc.mk): Pass LIB2FUNCS_EXCLUDE. (LIBGCC_DEPS): Add $(SFP_MACHINE). * config.gcc: Use rs6000/t-fprules-fpbit or rs6000/t-fprules-softfp and soft-fp/t-softfp together with rs6000/t-fprules. * config/rs6000/sfp-machine.h: New. Based on glibc. * config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp: New. * config/rs6000/t-fprules: Remove fp-bit rules. * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=. * config/rs6000/t-linux64: Likewise. Remove duplicates from LIB2FUNCS_EXTRA. Remove fp-bit rules. (softfp_wrap_start, softfp_wrap_end): New. From-SVN: r113056
2006-04-18* config/m32c/m32c.h (PTRDIFF_TYPE): Define.DJ Delorie2-0/+7
From-SVN: r113054
2006-04-18parse.c (next_free): Use consistent error string between free-form and ↵Bernhard Fischer4-4/+15
fixed-form for illegal... fortran/ * parse.c (next_free): Use consistent error string between free-form and fixed-form for illegal statement label of zero. (next_fixed): Use consistent warning string between free-form and fixed-form for statement labels for empty statements. testsuite/ * gfortran.dg/label_1.f90: Adjust dg-error. From-SVN: r113053
2006-04-18* doc/invoke.texi (-Wuninitialized): Clarify -O connection.Devang Patel2-2/+7
From-SVN: r113048
2006-04-18* trans-io.c (gfc_build_io_library_fndecls): Align pad.Steve Ellcey2-0/+12
From-SVN: r113047
2006-04-18t-symbian: Add rule to build sh-c.oNick Clifton3-3/+14
* config/sh/t-symbian: Add rule to build sh-c.o * config/sh/symbian.c (sh_symbian_mark_dllexport): Replace use of DECL_NON_ADDR_CONST_P with DECL_DLLIMPORT_P. (sh_symbian_encode_section_info): Likewise. From-SVN: r113042
2006-04-18builtins.c (expand_builtin_strcmp): Cover label definition of do_libcall ↵Andreas Krebbel2-0/+7
with HAVE_cmpstrnsi. 2006-04-18 Andreas Krebbel <krebbel1@de.ibm.com> * builtins.c (expand_builtin_strcmp): Cover label definition of do_libcall with HAVE_cmpstrnsi. From-SVN: r113039
2006-04-18function.c (temp_slots_at_level, [...]): Use VEC instead of VARRAY.Kazu Hirata3-8/+26
* function.c (temp_slots_at_level, max_slot_level): Use VEC instead of VARRAY. * function.h (temp_slot_p): New. (function): Change the type of x_used_temp_slots to VEC(temp_slot_p,gc) *. From-SVN: r113029
2006-04-18* config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove reference to ↵Nick Clifton2-1/+3
flag_strength_reduce. From-SVN: r113028
2006-04-18* doc/tm.texi (TARGET_SECTION_TYPE_FLAGS): Fix typo.Nick Clifton2-1/+5
From-SVN: r113027
2006-04-18re PR target/27117 (SH backend cheats to reload -- disables indexed ↵Paolo Bonzini2-10/+17
addressing but uses it internally) 2006-04-18 Paolo Bonzini <bonzini@gnu.org> PR target/27117 Partial revert of revision 112637 2006-04-03 Paolo Bonzini <bonzini@gnu.org> Dale Johannesen <dalej@apple.com> PR target/19653 * regclass.c (struct reg_pref): Update documentation. (regclass): Set prefclass to NO_REGS if memory is the best option. (record_reg_classes): Cope with a prefclass set to NO_REGS. From-SVN: r113026
2006-04-18re PR tree-optimization/26821 (ice in varasm.c with certain flags)Paolo Bonzini3-2/+55
2006-04-18 Paolo Bonzini <bonzini@gnu.org> PR tree-optimization/26821 * tree-ssa-math-opts.c (get_constant_one): New. (insert_reciprocals): Use it. From-SVN: r113025
2006-04-18Daily bump.GCC Administrator1-1/+1
From-SVN: r113022
2006-04-17dwarf2out.c (free_AT): Delete.Geoffrey Keating2-63/+70
* dwarf2out.c (free_AT): Delete. (remove_AT): Update string ref counts. (remove_child_TAG): Don't call free_die. (free_die): Delete. (break_out_includes): Don't call free_die on DW_TAG_GNU_BINCL or DW_TAG_GNU_EINCL. (prune_unused_types_walk_attribs): Reset string refcounts. (prune_unused_types_update_strings): New. (prune_unused_types_prune): Don't make unnecessary stores. Don't call free_die. Do call prune_unused_types_update_strings. (prune_unused_types): Empty debug_str_hash. From-SVN: r113012
2006-04-17PR c++/26114, c++/26115Janis Johnson3-3/+11
PR c++/26114, c++/26115 * typeck.c (cxx_mark_addressable): Restore check for extra_warnings. * class.c (check_field_decls): Ditto. From-SVN: r113010
2006-04-17expr.c (expand_assignment): Optimize away no-op moves where the source and ↵Roger Sayle2-1/+9
destination are equal and have... * expr.c (expand_assignment): Optimize away no-op moves where the source and destination are equal and have no side-effects. From-SVN: r113009
2006-04-17* init.c (build_offset_ref): Remove superfluous temporary.Volker Reichelt2-7/+7
From-SVN: r113008
2006-04-17re PR target/26826 (ICE in reg_or_subregno, at jump.c:2011)Richard Guenther2-2/+12
2006-04-17 Richard Guenther <rguenther@suse.de> PR target/26826 * reload.c (push_reload): Guard calls to get_secondary_mem for memory subregs. From-SVN: r113007
2006-04-17cgraph.h (cgraph_edge_p): New.Kazu Hirata4-16/+27
* cgraph.h (cgraph_edge_p): New. Update the prototype of cgraph_function_versioning. * cgraphunit.c (cgraph_copy_node_for_versioning, cgraph_function_versioning): Use VEC instead of VARRAY. * ipa-cp.c (ipcp_insert_stage): Likewise. From-SVN: r113006
2006-04-17alias.c (alias_sets): Change the type to VEC(alias_set_entry,gc) *.Kazu Hirata2-10/+16
* alias.c (alias_sets): Change the type to VEC(alias_set_entry,gc) *. (get_alias_set_entry, new_alias_set, record_alias_subset): Use VEC instead of VARRAY. (last_alias_set): Remove. From-SVN: r113005
2006-04-17alias.c (reg_base_value, [...]): Change the type to VEC(rtx,gc) *.Kazu Hirata2-33/+32
* alias.c (reg_base_value, old_reg_base_value): Change the type to VEC(rtx,gc) *. (REG_BASE_VALUE, find_base_value, record_set, init_alias_analysis): Use VEC instead of VARRAY. From-SVN: r113004
2006-04-17re PR target/26961 (ICE simplify_subreg:3813)Roger Sayle5-4/+60
PR target/26961 * fold-const.c (fold_ternary): When converting "A ? B : C" into either "A op B" or "A op C", we may need to convert A to the type of B and C. * gcc.dg/fold-cond-1.c: New test case. * gcc.dg/pr26961-1.c: Likewise. From-SVN: r113001
2006-04-17re PR fortran/27138 (gfortran: read(*,*) myInt advances only one character ↵Jerry DeLisle2-0/+37
on error) 2006-04-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/27138 * gfortran.dg/read_bad_advance.f90: New test. From-SVN: r113000
2006-04-17target.h (struct gcc_target): Add mode_rep_extended.Adam Nemet8-2/+157
* target.h (struct gcc_target): Add mode_rep_extended. * rtlanal.c (num_sign_bit_copies_in_rep): New global. (init_num_sign_bit_copies_in_rep): Initialize it using mode_rep_extended. (truncate_to_mode): Use it. (init_rtlanal): Call init_num_sign_bit_copies_in_rep. * targhooks.h (default_mode_rep_extended): Declare it. * targhooks.c (default_mode_rep_extended): Define it. * target-def.h (TARGET_MODE_REP_EXTENDED): New macro. Default to default_mode_rep_extended. (TARGET_INITIALIZER): Include it. * doc/tm.texi (Misc): Document it. * config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it. (mips_truncated_to_mode): New function. From-SVN: r112998
2006-04-17Daily bump.GCC Administrator1-1/+1
From-SVN: r112995
2006-04-16re PR middle-end/25474 (Extra load for some FP code)Roger Sayle2-1/+11
PR middle-end/25474 * expr.c (compress_float_constant): Copy the narrow constant into a new pseudo before extending it to its final width. From-SVN: r112991
2006-04-16re PR target/24076 ((vector char){x, x, x, x, x, x, x, x, x, x, x, x, x, x, ↵Roger Sayle7-1/+154
x, x} code gen is not that good) 2006-04-15 Roger Sayle <roger@eyesopen.com> Andrew Pinski <pinskia@gcc.gnu.org> Dale Johannesen <dalej@apple.com> PR target/24076 * config/i386/i386.c (ix86_expand_vector_init_duplicate): Add special case code to implement V8HImode and V16QImode with SSE2. * gcc.target/i386/vecinit-3.c: New testcase. * gcc.target/i386/vecinit-4.c: Likewise. * gcc.target/i386/sse-18.c: Likewise. * gcc.target/i386/sse-19.c: Likewise. Co-Authored-By: Andrew Pinski <pinskia@gcc.gnu.org> Co-Authored-By: Dale Johannesen <dalej@apple.com> From-SVN: r112990
2006-04-16re PR fortran/26017 (allocate (a(1:-1)) should yield zero-sized array)Thomas Koenig4-2/+76
2006-04-16 Thomas Koenig <Thomas.Koenig@online.de> PR fortran/26017 * trans-array.c(gfc_array_init_size): Introduce or_expr which is true if the size along any dimension is negative. Create a temporary variable with base name size. If or_expr is true, set the temporary to 0, to the normal size otherwise. 2006-04-16 Thomas Koenig <Thomas.Koenig@online.de> * gfortran.dg/allocate_zerosize_1.f90: New test. From-SVN: r112988
2006-04-16re PR c++/26365 (ICE in finish_class_member_access_expr, at cp/typeck.c)Mark Mitchell4-8/+30
PR c++/26365 * typeck.c (finish_class_member_access_expr): Robustify PR c++/26365 * g++.dg/template/crash45.C: New test. From-SVN: r112986
2006-04-16i386.c (ix86_va_start): Ensure all integer constant trees are constructed ↵Roger Sayle2-10/+20
with a suitable tree type. * config/i386/i386.c (ix86_va_start): Ensure all integer constant trees are constructed with a suitable tree type. From-SVN: r112982
2006-04-16re PR fortran/26822 (Scalarization of non-elemental intrinsic: __logical_4_l4)Paul Thomas17-12/+427
2006-04-16 Paul Thomas <pault@gcc.gnu.org> PR fortran/26822 * intrinsic.c (add_functions): Mark LOGICAL as elemental. PR fortran/26787 * expr.c (gfc_check_assign): Extend scope of error to include assignments to a procedure in the main program or, from a module or internal procedure that is not that represented by the lhs symbol. Use VARIABLE rather than l-value in message. PR fortran/27096 * trans-array.c (gfc_trans_deferred_array): If the backend_decl is not a descriptor, dereference and then test and use the type. PR fortran/25597 * trans-decl.c (gfc_trans_deferred_vars): Check if an array result, is also automatic character length. If so, process the character length. PR fortran/18803 PR fortran/25669 PR fortran/26834 * trans_intrinsic.c (gfc_walk_intrinsic_bound): Set data.info.dimen for bound intrinsics. * trans_array.c (gfc_conv_ss_startstride): Pick out LBOUND and UBOUND intrinsics and supply their shape information to the ss and the loop. PR fortran/27124 * trans_expr.c (gfc_trans_function_call): Add a new block, post, in to which all the argument post blocks are put. Add this block to se->pre after a byref call or to se->post, otherwise. 2006-04-16 Paul Thomas <pault@gcc.gnu.org> PR fortran/26787 * gfortran.dg/proc_assign_1.f90: New test. * gfortran.dg/procedure_lvalue.f90: Change message. * gfortran.dg/namelist_4.f90: Add new error. PR fortran/27096 * gfortran.dg/auto_pointer_array_result_1.f90 PR fortran/27089 * gfortran.dg/specification_type_resolution_1.f90 PR fortran/18803 PR fortran/25669 PR fortran/26834 * gfortran.dg/bounds_temporaries_1.f90: New test. PR fortran/27124 * gfortran.dg/array_return_value_1.f90: New test. From-SVN: r112981
2006-04-16tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW.Roger Sayle2-12/+16
* tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW. (integer_onep): Likewise. (integer_all_onesp): Likewise. (integer_pow2p): Likewise. (integer_nonzerop): Likewise. (real_zerop): Likewise. (real_onep): Likewise. (real_twop): Likewise. (real_minus_onep): Likewise. (int_size_in_bytes): Likewise. (host_integerp): Likewise. From-SVN: r112980