aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2006-06-19re PR java/1305 ([JSR133] GCJ ignores volatile modifier)Andrew Haley4-6/+83
2006-06-19 Andrew Haley <aph@redhat.com> PR java/1305 PR java/27908 * expr.c (java_modify_addr_for_volatile): New function. (expand_java_field_op): Handle volatile fields. * java-gimplify.c (java_gimplify_component_ref): Call java_modify_addr_for_volatile to give the field_ref the correct volatile type. (java_gimplify_modify_expr): Likewise. * java-tree.h (java_modify_addr_for_volatile): New decl. From-SVN: r114778
2006-06-19libgcc.S: Correct my wrong previous commit.Denis Chertykov2-7/+11
* config/avr/libgcc.S : Correct my wrong previous commit. From-SVN: r114774
2006-06-19re PR target/27861 (ICE in expand_expr_real_1, at expr.c:6916)Roger Sayle4-3/+87
PR target/27861 * expmed.c (expand_shift): On SHIFT_COUNT_TRUNCATED targets, we may have stripped a SUBREG from the shift count, so we may need to convert_to_mode back to the type's mode before calling make_tree. Use new_amount instead of amount to avoid expanding a tree twice. * gcc.dg/pr27861-1.c: New test case. From-SVN: r114773
2006-06-19re PR middle-end/28045 (Bitfield, &&, and optimization => bad code generation)Richard Guenther4-0/+38
2006-06-19 Richard Guenther <rguenther@suse.de> PR middle-end/28045 * fold-const.c (operand_equal_p): Check if the argument types have the same precision before stripping NOPs. * gcc.dg/torture/pr28045.c: New testcase. From-SVN: r114772
2006-06-19re PR tree-optimization/27341 (ICE in in add_virtual_operand with complex ↵Daniel Berlin5-3/+28
types) 2006-06-19 Daniel Berlin <dberlin@dberlin.org> Fix PR tree-optimization/27341 * tree-cfg.c (gimplify_val): Call mark_new_vars_to_rename on the statement we get. * tree-complex.c (pass_lower_complex): Update SMT usage. From-SVN: r114771
2006-06-19s390.md ("doloop_si64", [...]): Add a new alternative to the constraint strings.Andreas Krebbel2-16/+26
2006-06-19 Andreas Krebbel <krebbel1@de.ibm.com> * config/s390/s390.md ("doloop_si64", "doloop_si31", "doloop_di"): Add a new alternative to the constraint strings. Add move of operand 1 to 3 to the splitter definition. ("doloop_si_long"): Second contraint alternative removed. From-SVN: r114767
2006-06-19Daily bump.GCC Administrator1-1/+1
From-SVN: r114763
2006-06-18avr.h (avr_have_movw_lpmx_p): Declare.Anatoly Sokolov5-48/+104
* config/avr/avr.h (avr_have_movw_lpmx_p): Declare. (TARGET_CPU_CPP_BUILTINS): Add __AVR_HAVE_MOVW__ and __AVR_HAVE_LPMX__. (AVR_HAVE_MOVW) Define. (ASSEMBLER_DIALECT): Use AVR_HAVE_MOVW. (ASM_SPEC): Add avr25. (LINK_SPEC): Add avr25. * config/avr/avr.c (avr_have_movw_lpmx_p): Add. (base_arch_s): Add new member 'have_movw_lpmx'. (avr_arch_types): Init 'have_movw_lpmx'. (avr_mcu_types): Add 'avr25'. Move attiny13, attiny2313, attiny24, attiny44, attiny84, attiny25, attiny45, attiny85, attiny261, attiny461, attiny861 and at86rf401 in 'avr25' arhitecture. (avr_override_options): Init 'avr_have_movw_lpmx_p'. (output_movhi, output_movsisf, ashlsi3_out, avr_rtx_costs): Use AVR_HAVE_MOVW. (avr_file_start): Do not output '.arh' derective. * config/avr/libgcc.S (mov_l): Use __AVR_HAVE_MOVW__. (__do_copy_data): Use __AVR_HAVE_LPMX__. * config/avr/avr.md (mcu_enhanced): Delete. (mcu_have_movw): Define. (negsi2, extendhisi2, zero_extendhisi2): Use 'mcu_have_movw'. (call_insn, call_value_insn): Use 'call_insn' and __AVR_HAVE_MOVW__. * config/avr/t-avr(MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add avr25. (MULTILIB_MATCHES): Add attiny13, attiny2313, attiny24, attiny44, attiny84, attiny25, attiny45, attiny85, attiny261, attiny461, attiny861 and at86rf401 devices. From-SVN: r114758
2006-06-18re PR fortran/26801 (-fbounds-check generates segfault)Francois-Xavier Coudert4-0/+35
PR fortran/26801 * trans-intrinsic.c (gfc_conv_associated): Use pre and post blocks of the scalarization expression. * gfortran.dg/associated_4.f90: New test. From-SVN: r114757
2006-06-18bfin.h (REG_CLASS_FROM_LETTER): Rename constraint 'B' to 'v', 'l' to 'u'.Jie Zhang3-10/+19
* config/bfin/bfin.h (REG_CLASS_FROM_LETTER): Rename constraint 'B' to 'v', 'l' to 'u'. * config/bfin/bfin.md: Change comment accordingly. (define_insn loop_end): Replace 'h' with 'v'. (lsetup_with_autoinit): Replace 'l' with 'u'. (lsetup_without_autoinit): Ditto. * md.texi: Record this change. From-SVN: r114756
2006-06-18bfin.c (MAX_LOOP_LENGTH): Define to be 2042 instead of 4096.Jie Zhang2-1/+6
* config/bfin/bfin.c (MAX_LOOP_LENGTH): Define to be 2042 instead of 4096. From-SVN: r114755
2006-06-18Add PR reference to last ChangeLog entry.Jerry DeLisle1-0/+1
From-SVN: r114754
2006-06-18re PR fortran/19310 ([4.1 Only] unnecessary error for overflowing results)Jerry DeLisle2-0/+47
2006-06-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/19310 PR fortran/19904 * gfortran.dg/real_const_3.f90: New test. From-SVN: r114753
2006-06-18re PR fortran/19310 ([4.1 Only] unnecessary error for overflowing results)Jerry DeLisle8-20/+127
2006-06-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/19310 * arith.c (gfc_range_check): Return ARITH_OK if -fno-range-check. Add return of ARITH_NAN, ARITH_UNDERFLOW, and ARITH_OVERFLOW. (gfc_arith_divide): If -fno-range-check allow mpfr to divide by zero. * gfortran.h (gfc_option_t): Add new flag. * invoke.texi: Document new flag. * lang.opt: Add option -frange-check. * options.c (gfc_init_options): Initialize new flag. (gfc_handle_options): Set flag if invoked. * simplify.c (range_check): Add error messages for overflow, underflow, and other errors. * trans-const.c (gfc_conv_mpfr_to_tree): Build NaN and Inf from mpfr result. From-SVN: r114752
2006-06-18Daily bump.GCC Administrator1-1/+1
From-SVN: r114750
2006-06-17cpp.texi, [...] (@dircategory): Use "Software development" instead of ↵Karl Berry6-5/+12
"Programming"... * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi (@dircategory): Use "Software development" instead of "Programming", following the Free Software Directory. From-SVN: r114746
2006-06-17gcj.texi (@dircategory): Use "Software development" instead of "Programming"...Karl Berry2-1/+6
* gcj.texi (@dircategory): Use "Software development" instead of "Programming", following the Free Software Directory. From-SVN: r114745
2006-06-17gfortran.texi (@dircategory): Use "Software development" instead of ↵Karl Berry2-1/+6
"Programming"... * gfortran.texi (@dircategory): Use "Software development" instead of "Programming", following the Free Software Directory. From-SVN: r114744
2006-06-17treelang.texi (@dircategory): Use "Software development" instead of ↵Karl Berry2-1/+6
"Programming"... * treelang.texi (@dircategory): Use "Software development" instead of "Programming", following the Free Software Directory. From-SVN: r114743
2006-06-17gnat-style.texi (@dircategory): Use "Software development" instead of ↵Karl Berry2-1/+6
"Programming"... * gnat-style.texi (@dircategory): Use "Software development" instead of "Programming", following the Free Software Directory. From-SVN: r114742
2006-06-17i386.c (legitimate_tls_address): Add tp after DTPOFF.Alexandre Oliva3-24/+28
* config/i386/i386.c (legitimate_tls_address) <TARGET_GNU2_TLS>: Add tp after DTPOFF. * config/i386/i386.md (*tls_dynamic_gnu2_combine_32): Adjust. (*tls_dynamic_gnu2_combine_64): Likewise. From-SVN: r114741
2006-06-17re PR c++/28016 (emitting template constant)Mark Mitchell4-8/+26
PR c++/28016 * decl.c (cp_finsh_decl): Do not emit uninstantiated static data members. PR c++/28016 * g++.dg/template/static26.C: New test. From-SVN: r114739
2006-06-17Daily bump.GCC Administrator1-1/+1
From-SVN: r114737
2006-06-16re PR c++/27979 (conversion check confused by enum bitfields)Mark Mitchell4-2/+18
PR c++/27979 * call.c (standard_conversion): Strip cv-qualifiers from bitfield types. PR c++/27979 * g++.dg/expr/bitfield2.C: New test. From-SVN: r114733
2006-06-16re PR c++/27884 (bogus error: invalid use of 'register' in linkage ↵Mark Mitchell6-26/+32
specification) PR c++/27884 * decl.c (have_extern_spec): Remove. (start_decl): Do not check have_extern_spec. (start_function): Likewise. * cp-tree.h (have_extern_spec): Remove. * parser.c (cp_parser_linkage_specification): Don't set have_extern_spec. (cp_parser_init_declarator): Likewise. (cp_parser_parameter_declaration): Do not treat parameters as within the scope of an unbraced linkage specification. PR c++/27884 * g++.dg/parse/linkage2.C: New test From-SVN: r114727
2006-06-16re PR fortran/27965 (invalid "Array bound mismatch" runtime error)Francois-Xavier Coudert2-12/+89
PR fortran/27965 * trans-array.c (gfc_conv_ss_startstride): Correct the runtime conditions for bounds-checking. Check for nonzero stride. Don't check the last dimension of assumed-size arrays. Fix the dimension displayed in the error message. From-SVN: r114724
2006-06-16re PR middle-end/27116 (Incorrect integer division (wrong sign).)Richard Guenther5-50/+93
2006-06-16 Richard Guenther <rguenther@suse.de> PR middle-end/27116 * fold-const.c (negate_expr_p): Do not introduce undefined overflow in negating INTEGER_CSTs. (fold_negate_expr): Rename from negate_expr. Revert last change for folding BIT_NOT_EXPR. Change semantics to return NULL_TREE for non-simplified negations. Do not strip type conversions and unify type handling. (negate_expr): New function, wrap around fold_negate_expr but ensure building a tree always. Strip type conversions here, fold to result type. (fold_unary): Use fold_negate_expr for folding NEGATE_EXPR. * gcc.dg/pr15785-1.c: Revert last change. * gcc.dg/torture/pr27116-2.c: New testcase. From-SVN: r114723
2006-06-16re PR middle-end/27802 (ICE with longjmp)Roger Sayle4-0/+37
PR middle-end/27802 * reg-stack.c (subst_stack_regs): Handle noreturn function calls that (would) return their results in stack registers. * gcc.dg/pr27802-1.c: New test case. From-SVN: r114721
2006-06-16class.c (make_class_data): When using flag_indirect_classes, don't ↵Andrew Haley2-4/+11
initialize the vtable of Class instances. 2006-06-16 Andrew Haley <aph@redhat.com> * class.c (make_class_data): When using flag_indirect_classes, don't initialize the vtable of Class instances. 2006-06-16 Andrew Haley <aph@redhat.com> * java/lang/natClassLoader.cc (_Jv_NewClassFromInitializer): Don't copy the whole Class instance from the initializer: instead, copy everything but the first word (the vtable pointer). Change prototype to (const char* class_initializer). (_Jv_RegisterNewClasses): Change prototype to (const char**). * java/lang/Class.h (_Jv_RegisterNewClasses): Change prototype to (const char**). From-SVN: r114714
2006-06-16fold-const.c (fold_truthop): Only return new tree node if we canonicalized ↵Michael Matz2-1/+13
something. 2006-06-16 Michael Matz <matz@suse.de> Richard Guenther <rguenther@suse.de> * fold-const.c (fold_truthop): Only return new tree node if we canonicalized something. Co-Authored-By: Richard Guenther <rguenther@suse.de> From-SVN: r114713
2006-06-16function.h (enum function_frequency): Move declaration out of struct function.Richard Guenther4-30/+44
2006-06-16 Richard Guenther <rguenther@suse.de> * function.h (enum function_frequency): Move declaration out of struct function. (struct function): Move bool fields and the enum to the bitfield section. Reorder elements to avoid padding. Remove unused fields left over from the RTL inliner removal. * function.c (free_after_compilation): Do not zero removed fields. * Makefile.in (ipa-reference.o): Add $(FUNCTION_H) dependency. (ipa-type-escape.o): Likewise. From-SVN: r114712
2006-06-16cgraph.h (struct cgraph_local_info): Turn bool elements into a bitfield.Richard Guenther2-22/+30
2006-06-16 Richard Guenther <rguenther@suse.de> * cgraph.h (struct cgraph_local_info): Turn bool elements into a bitfield. (struct cgraph_node): Likewise. (struct cgraph_varpool_node): Likewise. From-SVN: r114711
2006-06-16re PR c++/27689 (function template incorrectly selected as candidate)Mark Mitchell6-27/+77
PR c++/27689 * cp-tree.h (CLASSTYPE_SPECIALIZATION_OF_PRIMARY_TEMPLATE_P): New macro. * pt.c (unify): Use it. PR c++/27689 * g++.dg/template/ttp18.C: New test. * g++.dg/template/ttp19.C: Likewise. From-SVN: r114703
2006-06-16re PR c++/27666 (ICE with volatile in conditional expression)Mark Mitchell4-0/+25
PR c++/27666 * call.c (build_conditional_expr): Robustify. PR c++/27666 * g++.dg/expr/cond9.C: New test. From-SVN: r114702
2006-06-16re PR c++/27640 (segfault, related to constructor instantiation and virtual ↵Mark Mitchell4-1/+40
base case and templates and new operator) PR c++/27640 * pt.c (instantiate_template): Set processing_template_decl to zero while performing substitutions. PR c++/27640 * g++.dg/template/ctor7.C: New test. From-SVN: r114701
2006-06-16Daily bump.GCC Administrator1-1/+1
From-SVN: r114699
2006-06-15* gcc.dg/vmx/pr27842.c: Remove dg-do directive; use default.Janis Johnson2-2/+4
From-SVN: r114690
2006-06-15fold-const.c (fold_truth_not_expr): Rename from invert_truthvalue.Richard Guenther3-30/+59
2006-06-15 Richard Guenther <rguenther@suse.de> * fold-const.c (fold_truth_not_expr): Rename from invert_truthvalue. Give it fold_* semantics to avoid generating garbage. (invert_truthvalue): New function. Wrapper around fold_truth_not_expr. (optimize_minmax_comparison): Avoid creating garbage. (fold_unary): Use fold_truth_not_expr for folding TRUTH_NOT_EXPR. (fold_ternary): Replace uses of invert_truthvalue with fold_truth_not_expr where applicable. * tree.h (fold_truth_not_expr): Prototype. From-SVN: r114683
2006-06-15re PR middle-end/27781 (weak-attribute over-optimisation)Richard Guenther5-4/+37
2006-06-16 Richard Guenther <rguenther@suse.de> PR tree-optimization/27781 * Makefile.in (ipa-pure-const.o): Add $(TARGET_H) dependency. * ipa-pure-const.c (target.h): Include. (analyze_function): Do not analyze functions that do not bind locally. * gcc.dg/tree-ssa/pr27781.c: New testcase. From-SVN: r114681
2006-06-15_Pragma6.c: Fix comment.Joern Rennecke2-4/+6
* gcc.dg/cpp/_Pragma6.c: Fix comment. Test is not supported on sh*-unknown-elf nor sh*-superh-elf. * g++.dg/cpp/_Pragma1.C: Likewise. From-SVN: r114680
2006-06-15re PR middle-end/27793 (num_ssa_names inconsistent or immediate use iterator ↵Andrew MacLeod4-36/+11
wrong) 2006-06-15 Andrew MacLeod <amacleod@redhat.com> PR middle-end/27793 * tree-dfa.c (referenced_vars_dup_list): Remove. (find_referenced_vars): Remove assert. (referenced_var_check_and_insert): Replace dup list with assert. * tree-ssa.c (delete_tree_ssa): Remove dup list processing. * tree-flow.h (referenced_vars_dup_list): Remove extern decl. From-SVN: r114678
2006-06-15trans-array.h (gfc_trans_create_temp_array): Add bool argument.Thomas Koenig8-11/+104
2006-06-15 Thomas Koenig <Thomas.Koenig@online.de> * trans-array.h (gfc_trans_create_temp_array): Add bool argument. * trans-arrray.c (gfc_trans_create_temp_array): Add extra argument "function" to show if we are translating a function. If we are translating a function, perform checks whether the size along any argument is negative. In that case, allocate size 0. (gfc_trans_allocate_storage): Add function argument (as false) to gfc_trans_create_temp_array call. * trans-expr.c (gfc_conv_function_call): Add function argument (as true) to gfc_trans_create_temp_array call. * trans-stmt.c (gfc_conv_elemental_dependencies): Add function argument (as false) to gfc_trans_create_temp_array call. * trans-intrinsic.c: Likewise. 2006-06-15 Thomas Koenig <Thomas.Koenig@online.de> * gfortran.dg/allocate_zerosize_2.f90: New test case. From-SVN: r114677
2006-06-15tree-ssa-structalias.c (alias_get_name): Avoid creating extra unused ↵Richard Guenther2-7/+21
identifiers if not dumping. 2006-06-15 Richard Guenther <rguenther@suse.de> * tree-ssa-structalias.c (alias_get_name): Avoid creating extra unused identifiers if not dumping. (create_variable_info_for): Likewise. From-SVN: r114675
2006-06-15tree-ssa-loop-niter.c (implies_nonnegative_p): New function.Zdenek Dvorak5-18/+172
* tree-ssa-loop-niter.c (implies_nonnegative_p): New function. (derive_constant_upper_bound): Derive more precise upper bound in common cases. Return type changed to double_int. (record_estimate): Reflect the changed return type of derive_constant_upper_bound. * double-int.c (double_int_zext, double_int_sext): Fix. * gcc.dg/tree-ssa/loop-18.c: New test. From-SVN: r114674
2006-06-15Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Export CFLAGS and LDFLAGS too.Paolo Bonzini4-132/+253
2006-06-15 Paolo Bonzini <bonzini@gnu.org> * Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Export CFLAGS and LDFLAGS too. * Makefile.in: Regenerate. gcc: 2006-06-15 Paolo Bonzini <bonzini@gnu.org> * configure.ac (CFLAGS): Get them from the toplevel or from the configure invocation. * configure: Regenerate. * Makefile.in (CFLAGS): Substitute value provided by configure. From-SVN: r114673
2006-06-15re PR c++/26559 (ICE with __builtin_constant_p in template argument)Mark Mitchell1-15/+32
PR c++/26559 * pt.c (tsubst_expr): Use finish_omp_atomic. (value_dependent_expression_p): All CALL_EXPRs are dependent. * semantics.c (finish_omp_atomic): Rework to use standard paradigms for handling non-dependent expressions. From-SVN: r114671
2006-06-15re PR c++/27665 (ICE writing class instead of typename)Mark Mitchell3-0/+30
PR c++/27665 * parser.c (cp_parser_unqualified_id): Use constructor_name_p to identify destructors. (cp_parser_nested_name_specifier_opt): Remove invalid optimization. (cp_parser_template_id): Refine heuristic for determining whether we are entering a scope. PR c++/27665 * g++.dg/template/crash52.C: New test. From-SVN: r114669
2006-06-15Fix ChangeLogMark Mitchell2-2/+2
From-SVN: r114668
2006-06-15re PR c++/27648 (ICE on attribute on pointers in static_cast)Mark Mitchell4-22/+31
PR c++/26748 * parser.c (cp_parser_declarator): Robustify. PR c++/26748 * g++.dg/ext/attrib22.C: New test. From-SVN: r114667
2006-06-15Fix ChangeLogMark Mitchell1-11/+6
From-SVN: r114666