aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2007-12-19exp_aggr.adb (Not_OK_For_Backend): A component of a private type with ↵Ed Schonberg1-22/+62
discriminants forces expansion of the... 2007-12-19 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Not_OK_For_Backend): A component of a private type with discriminants forces expansion of the aggregate into assignments. (Init_Record_Controller): If the type of the aggregate is untagged and is not inherently limited, the record controller is not limited either. From-SVN: r131071
2007-12-19atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate the ↵Bob Duff5-172/+232
resulting tail recursion by hand. 2007-12-19 Bob Duff <duff@adacore.com> * atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate the resulting tail recursion by hand. This prevents running out of memory on deeply nested concatenations, since Field2 is where the left operand of concatenations is stored. Fix bug (was returning OK_Orig in some cases). Fix return subtype to clarify that it can only return OK or Abandon. * sem_res.adb (Resolve_Op_Concat): Replace the recursion on the left operand by iteration, in order to avoid running out of memory on deeply-nested concatenations. Use the Parent pointer to get back up the tree. (Resolve_Op_Concat_Arg, Resolve_Op_Concat_First, Resolve_Op_Concat_Rest): New procedures split out of Resolve_Op_Concat, so the iterative algorithm in Resolve_Op_Concat is clearer. * checks.adb (Remove_Checks): Use Traverse_Proc instead of Traverse_Func, because the former already takes care of discarding the result. * errout.adb (First_Node): Use Traverse_Proc instead of Traverse_Func, because the former already takes care of discarding the result. (Remove_Warning_Messages): Use appropriate subtype for Status and Discard From-SVN: r131070
2007-12-192007-12-19 Eric Botcazou <ebotcazou@adacore.com>Eric Botcazou33-44/+2
* targparm.adb, targparm.ads, system.ads, system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads, system-hpux-ia64.ads, system-vxworks-arm.ads, system-darwin-x86.ads, system-vms_64.ads, system-vms-ia64.ads, system-linux-ia64.ads, system-freebsd-x86.ads, system-linux-x86_64.ads, system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads (Dynamic_Trampolines_Used): Delete. * system-lynxos-x86.ads, system-lynxos-ppc.ads: Ditto. Turn on stack probing mechanism on LynxOS. From-SVN: r131069
2007-12-19g-expect-vms.adb, [...]: Add pragma Warnings (Off) for unassigned IN OUT ↵Robert Dewar12-601/+787
arguments 2007-12-19 Robert Dewar <dewar@adacore.com> * g-expect-vms.adb, g-expect.adb, s-poosiz.adb: Add pragma Warnings (Off) for unassigned IN OUT arguments * sem_warn.adb (Output_Reference): Suppress messages for internal names (Check_References): Extensive changes to tune up warnings (Output_Non_Modifed_In_Out_Warnings): Changes to tune up warnings (Has_Pragma_Unmodifed_Check_Spec): New function (Check_References): Implement pragma Unmodified (Warn_On_Unassigned_Out_Parameter): Implement pragma Unmodified * par-prag.adb: Dummy entry for pragma Unmodified * sem_prag.adb: Implement pragma Unmodified * einfo.ads, einfo.adb: (Has_Pragma_Unmodified): New flag (Proc_Next_Component_Or_Discriminant): Fix typo. Update comments. * sem_util.adb (Note_Possible_Modification): Add processinng for pragma Unmodified. (Reset_Analyzed_Flags): Use Traverse_Proc instead of Traverse_Func, because the former already takes care of discarding the result. (Mark_Coextensions): Remove ununused initial value from Is_Dynamic. Add comment. * snames.h, snames.ads, snames.adb: Add entry for pragma Unmodified From-SVN: r131068
2007-12-19Make type limited as per Ada 2005 rules.Arnaud Charlet1-1/+1
From-SVN: r131067
2007-12-19Update test to follow Ada 2005 rules.Arnaud Charlet1-1/+1
From-SVN: r131066
2007-12-19insert missing entry for r128341 into ChangeLog, taken from svn logPaolo Bonzini1-0/+22
From-SVN: r131065
2007-12-19omp-low.c (build_omp_regions_1): Recognition of combined parallels moved ...Zdenek Dvorak4-5/+39
* omp-low.c (build_omp_regions_1): Recognition of combined parallels moved ... (expand_omp): ... here. * gcc.dg/gomp/combined-1.c: New test. From-SVN: r131064
2007-12-19re PR tree-optimization/34355 (ICE: invariant not recomputed when ADDR_EXPR ↵Zdenek Dvorak4-26/+92
changed with -ftree-parallelize-loops) PR tree-optimization/34355 * tree-parloops.c (take_address_of): Handle expresions instead of just variables. (eliminate_local_variables_1): Force whole invariant address to ssa name. * g++.dg/tree-ssa/pr34355.C: New test. From-SVN: r131063
2007-12-19Fix generation of reg-movesRevital Eres4-2/+105
From-SVN: r131060
2007-12-19re PR c++/34513 (static variable not found for C++ OpenMP)Jakub Jelinek2-1/+8
PR c++/34513 * parser.c (cp_parser_omp_parallel): For non-combined parallel call cp_parser_statement rather than cp_parser_already_scoped_statement. * testsuite/libgomp.c/pr34513.c: New test. * testsuite/libgomp.c++/pr34513.C: New test. From-SVN: r131059
2007-12-19tree.h (set_decl_incoming_rtl): Add a by_reference_p parameter.Richard Sandiford4-8/+17
gcc/ * tree.h (set_decl_incoming_rtl): Add a by_reference_p parameter. * emit-rtl.c (set_decl_incoming_rtl): Likewise. Don't set the rtl's register attributes when the parameter is true. * function.c (assign_parms_unsplit_complex, assign_parms) (expand_function_start): Update calls to set_decl_incoming_rtl. From-SVN: r131056
2007-12-19rtl.def (SUBREG): Update comments.Richard Sandiford10-210/+240
gcc/ * rtl.def (SUBREG): Update comments. * rtl.h (reg_attrs): Be explicit about the type of offset used. (set_reg_attrs_from_mem): Rename to... (set_reg_attrs_from_value): ...this. (adjust_reg_mode, byte_lowpart_offset): Declare. * emit-rtl.c (byte_lowpart_offset): New function. (update_reg_offset): Remove special offset handling for big-endian targets. (gen_rtx_REG_offset, gen_reg_rtx_offset): Explicitly say that the offset parameter is added to REG_OFFSET. (adjust_reg_mode): New function. (set_reg_attrs_for_mem): Rename to... (set_reg_attrs_for_value): ...this and generalize to all values. If the register is a lowpart of the value, adjust the offset accordingly. (set_reg_attrs_for_parm): Update after the above renaming. (set_reg_attrs_for_decl_rtl): New function, split out from set_decl_incoming_rtl. Set the offset of plain REGs to the offset of the REG's mode from the decl's. Assert that all subregs are lowparts and handle their inner registers in the same way as plain REGs. (set_decl_rtl, set_incoming_decl_rtl): Use reg_attrs_for_decl_rtl. (subreg_lowpart_offset): Explicitly say that the returned offset is a SUBREG_BYTE. * combine.c (do_SUBST_MODE, try_combine, undo_all): Use adjust_reg_mode instead of PUT_MODE. * final.c (alter_subreg): Fix/update argument to gen_rtx_REG_offset. * config/ia64/ia64.c (ia64_expand_load_address): Likewise. * regclass.c (reg_scan_mark_refs): Use set_reg_attrs_from_value. * reload.c (find_reloads_subreg_address): Call set_mem_offset when offseting a MEM. * var-tracking.c (offset_valid_for_tracked_p): Delete. (mode_for_reg_attrs): Replace with... (track_loc_p): ...this new function. Return the mode and offset to the caller, checking that the latter is valid. If the rtx is a paradoxical lowpart of the decl, use the decl's mode instead. Do the same when storing to a register that contains the entire decl. (var_lowpart): Use byte_lowpart_offset rather than subreg_lowpart_offset when adjusting the offset attribute. (count_uses, add_uses, add_stores): Use track_reg_p instead of REG_EXPR, MEM_EXPR, REG_OFFSET, INT_MEM_OFFSET, track_expr_p, offset_valid_for_tracked_p and mode_for_reg_attrs. Generate lowparts for MEMs as well as REGs. (vt_add_function_parameters): When obtaining the information from the decl_rtl, adjust the offset to match incoming. Use track_loc_p and var_lowpart. From-SVN: r131055
2007-12-19Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target.Samuel Tardieu2-0/+6
gcc/ada/ * Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target. From-SVN: r131054
2007-12-19re PR fortran/34325 (Wrong error message for syntax error)Jerry DeLisle3-0/+34
2007-12-19 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/34325 * gfortran.dg/missing_parens_1.f90: New. * gfortran.dg/missing_parens_1.f90: New. From-SVN: r131053
2007-12-19re PR fortran/34325 (Wrong error message for syntax error)Jerry DeLisle3-2/+80
2007-12-19 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/34325 * match.h: New function declaration. * match.c (gfc_match_parens): New function to look for mismatched parenthesis. (gfc_match_if): Use new function to catch missing '('. From-SVN: r131052
2007-12-19Daily bump.GCC Administrator1-1/+1
From-SVN: r131050
2007-12-18re PR fortran/34495 (accepts invalid initialization expressions withTRANSFER)Daniel Franke6-3/+76
gcc/fortran: 2007-12-19 Daniel Franke <franke.daniel@gmail.com> PR fortran/34495 * expr.c (check_init_expr): Check whether variables with flavor FL_PARAMETER do have a value assigned. Added error messages where appropriate. * simplify.c (gfc_simplify_transfer): Added check if the MOLD argument is a constant if working with initialization expressions. gcc/testsuite: 2007-12-19 Daniel Franke <franke.daniel@gmail.com> PR fortran/34495 * gfortran.dg/transfer_simplify_2.f90: Fixed invalid initialization expressions. * gfortran.dg/transfer_simplify_7.f90: New test. From-SVN: r131047
2007-12-18* gcc.dg/pr32912-3.c: Compile with -w.Janis Johnson2-1/+3
From-SVN: r131046
2007-12-18* gcc.dg/torture/builtin-modf-1.c: Remove -funsafe-math-optimizations.Janis Johnson2-3/+4
From-SVN: r131045
2007-12-18re PR c++/34206 (ICE in retrieve_local_specialization)Jason Merrill3-5/+38
PR c++/34206 * pt.c (tsubst_aggr_type): Do nothing if the type already doesn't use template parms. (dependent_type_p_r): Handle the domain of an array. From-SVN: r131044
2007-12-18Accidentally failed to commit ChangeLogDoug Gregor1-0/+15
From-SVN: r131042
2007-12-18re PR c++/32565 (ICE with specialization of variadic template)Douglas Gregor7-12/+260
2007-12-18 Douglas Gregor <doug.gregor@gmail.com> Jakub Jelinek <jakub@redhat.com> PR c++/32565 PR c++/33943 PR c++/33965 * pt.c (template_template_parm_bindings_ok_p): New; verifies bindings of template template parameters after all template arguments have been deduced. (coerce_template_parms): Don't complain when COMPLAIN doesn't include tf_error. (fn_type_unification): Use template_template_parm_bindings_ok_p. (unify): Deal with variadic, bound template template parameters. (get_class_bindings): Use template_template_parm_bindings_ok_p. 2007-12-18 Douglas Gregor <doug.gregor@gmail.com> Jakub Jelinek <jakub@redhat.com> PR c++/32565 PR c++/33943 PR c++/33965 * g++.dg/cpp0x/variadic86.C: New. * g++.dg/cpp0x/variadic87.C: New. * g++.dg/cpp0x/variadic84.C: New. * g++.dg/cpp0x/variadic85.C: New. * g++.dg/template/ttp25.C: New. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r131041
2007-12-18re PR tree-optimization/34123 (verify_ssa failed with -ftree-loop-linear)Sebastian Pop4-101/+158
2007-12-18 Sebastian Pop <sebastian.pop@amd.com> PR tree-optimization/34123 * lambda-code.c (can_duplicate_iv): New. (cannot_convert_modify_to_perfect_nest): New. (cannot_convert_bb_to_perfect_nest): New. (can_convert_to_perfect_nest): Split up. * gcc.dg/tree-ssa/pr34123.c: New test. From-SVN: r131040
2007-12-18mips.md (clear_hazard): Use PRINT_OPERAND punctuation instead of .set push ↵David Daney2-6/+7
and .set pop. 2007-12-18 David Daney <ddaney@avtrex.com> * config/mips/mips.md (clear_hazard): Use PRINT_OPERAND punctuation instead of .set push and .set pop. From-SVN: r131038
2007-12-18re PR target/33474 (bfin: ICE: RTL check: expected code 'set' or 'clobber', ↵Rask Ingemann Lambertsen2-0/+8
have 'parallel' in bfin_adjust_cost, at config/bfin/bfin.c:3120) PR target/33474 * config/bfin/bfin.c (bfin_adjust_cost): Dig into PARALLELs to find the SET. From-SVN: r131037
2007-12-18re PR java/27643 (ICE in java_mark_cni_decl_local compiling bytecode->native)Andrew Haley3-13/+27
2007-12-18 Andrew Haley <aph@redhat.com> PR java/27643 * jcf-parse.c (java_parse_file): Remove call to java_mark_class_local. (parse_class_file): Reinstate call to java_mark_class_local here. * decl.c (java_mark_cni_decl_local): If the ASSEMBLER_NAME is already set, call java_mangle_decl() and make_decl_rtl() to rewrite its name as a hidden alias. From-SVN: r131036
2007-12-18tree-parloops.c (reduiction_info): Change documentation of reduction_initial ↵Razya Ladelsky2-54/+32
field. 2007-12-18 Razya Ladelsky <razya@il.ibm.com> * tree-parloops.c (reduiction_info): Change documentation of reduction_initial field. (initialize_reductions): Remove creation of reduction_initial variable. (create_loads_for_reductions): don't join reduction_initial to the loaded value. From-SVN: r131035
2007-12-18200x-xx-xx Kaz Kylheku <kaz@zeugmasystems.com>Richard Sandiford4-3/+43
gcc/ 200x-xx-xx Kaz Kylheku <kaz@zeugmasystems.com> PR rtl-optimization/34456 * resource.c (mark_set_resources): Use regs_invalidated_by_call rather than call_used_regs and global_regs. gcc/testsuite/ PR rtl-optimization/34456 * gcc.c-torture/execute/pr34456.c: New test. From-SVN: r131033
2007-12-18Daily bump.GCC Administrator1-1/+1
From-SVN: r131028
2007-12-18re PR c++/34488 (ICE on invalid friend declaration)Jakub Jelinek4-0/+53
PR c++/34488 * decl.c (grokdeclarator): Reject friend sfk_constructor FUNCTION_TYPE. * g++.dg/parse/friend7.C: New test. From-SVN: r131025
2007-12-18re PR rtl-optimization/34490 (r128833 causes miscompilation of glibc ↵Jakub Jelinek4-7/+58
clock_gettime.c) PR rtl-optimization/34490 * simplify-rtx.c (simplify_const_relational_operation): If !sign, don't reduce mmin/mmax using num_sign_bit_copies. * gcc.c-torture/execute/20071216-1.c: New test. From-SVN: r131023
2007-12-17configure.ac: Change required MPFR from 2.2.0 -> 2.2.1.Kaveh R. Ghazi4-3/+9
* configure.ac: Change required MPFR from 2.2.0 -> 2.2.1. Change recommended MPFR from 2.2.1 > 2.3.0. * configure: Regenerate. gcc: * doc/install.texi: Change recommended MPFR from 2.2.1 > 2.3.0. testsuite: * gcc.dg/torture/builtin-math-4.c: Remove XFAIL. From-SVN: r131018
2007-12-17* doc/invoke.texi (Warning Options): Use @itemx.Andreas Schwab2-1/+5
From-SVN: r131017
2007-12-17tree-vectorizer.h (verbosity_levels): Add new verbosity level REPORT_COST.Dorit Nuzman9-30/+48
* tree-vectorizer.h (verbosity_levels): Add new verbosity level REPORT_COST. * tree-vect-transform.c (vect_estimate_min_profitable_iters): Change verbosity level to REPORT_COST. (vect_model_reduction_cost): Likewise. (vect_model_induction_cost): Likewise. (vect_model_simple_cost): likewise. (vect_model_store_cost): likewise. (vect_model_load_cost): likewise. (conservative_cost_threshold): Likewise. Remove print. From-SVN: r131016
2007-12-17* doc/tm.texi (TARGET_SECONDARY_RELOAD): Fix typos.Rask Ingemann Lambertsen2-2/+6
From-SVN: r131011
2007-12-17re PR c/34506 (gcc disallows comma between C/C++ OpenMP clauses)Jakub Jelinek7-3/+82
PR c/34506 * c-parser.c (c_parser_omp_all_clauses): Accept optional comma in between clauses. * parser.c (cp_parser_omp_all_clauses): Accept optional comma in between clauses. * gcc.dg/gomp/clause-2.c: New test. * g++.dg/gomp/clause-4.C: New test. From-SVN: r131008
2007-12-17intrinsic.c (add_functions): Undo change; mark float and sngl as STD_F77.Tobias Burnus6-9/+21
2007-12-17 Tobias Burnus <burnus@net-b.de> * intrinsic.c (add_functions): Undo change; mark float and sngl as STD_F77. * intrinsic.texi (FLOAT, SNGL): Change standard to F77 and later. * gfortran.texi (BOZ): Make note about FLOAT etc. clearer. 2007-12-17 Tobias Burnus <burnus@net-b.de> * gfortran.dg/initialization_16.f90: Update as FLOAT/SNGL are part of Fortran 77/95/2003. From-SVN: r131007
2007-12-17re PR tree-optimization/34445 (internal compiler error: in cost_for_stmt, at ↵Dorit Nuzman6-10/+67
tree-vect-transform.c:98) PR tree-optimization/34445 * tree-vect-trasnform.c (vect_estimate_min_profitable_iters): Skip stmts (including live stmts) that are not relevant. From-SVN: r131006
2007-12-17* s-vxwork-alpha.ads: Removed, no longer used.Arnaud Charlet2-57/+4
From-SVN: r131005
2007-12-17re PR libfortran/34427 (Revision 130708 breaks namelist input)Jerry DeLisle3-3/+68
2007-12-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/34427 * gfortran.dg/namelist_42.f90: Update. * gfortran.dg/namelist_43.f90: New. From-SVN: r131004
2007-12-17Daily bump.GCC Administrator1-1/+1
From-SVN: r131001
2007-12-17re PR target/34025 (Warning when compiling with -m64 -ffast-math on Intel ↵Jack Howarth3-4/+11
Darwin) PR target/34025 * config/i386/t-crtpc: Add $(MULTILIB_CFLAGS). * config/i386/t-crtfm: Likewise. From-SVN: r130998
2007-12-17i386.h (WIDEST_HARDWARE_FP_SIZE): Define.Uros Bizjak2-24/+32
* config/i386/i386.h (WIDEST_HARDWARE_FP_SIZE): Define. From-SVN: r130997
2007-12-16re PR fortran/34495 (accepts invalid initialization expressions withTRANSFER)Tobias Burnus4-2/+37
2007-12-16 Tobias Burnus <burnus@net-b.de> PR fortran/34495 * intrinsic.c (add_functions): Mark float and sngl as STD_GNU. (gfc_intrinsic_func_interface): Reject REAL, DBLE and CMPLX in initialization expressions for -std=f95. 2007-12-16 Tobias Burnus <burnus@net-b.de> PR fortran/34495 * gfortran.dg/initialization_16.f90: New. From-SVN: r130994
2007-12-16re PR fortran/34305 (ICE with array(real) declaration)Thomas Koenig4-1/+22
2007-12-16 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/34305 * resolve.c (compare_bound): If either of the types of the arguments isn't INTEGER, return CMP_UNKNOWN. 2007-12-16 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/34305 * gfortran.dg/real_dimension_1.f: New test case. From-SVN: r130993
2007-12-16* gcc.dg/torture/pr24257.c: Remove -O from options.Rask Ingemann Lambertsen2-1/+5
From-SVN: r130992
2007-12-16re PR fortran/34246 (gfortran.dg/bind_c_usage_16.f03 doesn't work)Tobias Burnus5-31/+85
2007-12-16 Tobias Burnus <burnus@net-b.de> PR fortran/34246 * trans-types.c (gfc_init_types): Change build_type_variant to build_qualified_type. (gfc_sym_type): Return gfc_character1_type_node for character-returning bind(C) functions. * trans-expr.c (gfc_conv_function_call): Do not set se->string_length for character-returning bind(c) functions. (gfc_trans_string_copy,gfc_trans_scalar_assign): Support also single characters. 2007-12-16 Tobias Burnus <burnus@net-b.de> PR fortran/34246 * gfortran.dg/bind_c_usage_16.f03: Extend test. From-SVN: r130991
2007-12-16Undo misguided distinction WRT deciding if a warning is an error or a warning.Bernhard Fischer2-2/+7
A Warning is a warning, diagnostics DTRT. Cosmetic correction from fallout for fix for PR21061. See ML-archives for details on why this hunk is wrong but still harmless in effect. 2007-12-16 Bernhard Fischer <aldot@gcc.gnu.org> * errors.c (gfc_notify_std): As originally stated but improperly changed, disregard warnings_are_errors for deciding which buffer to use for warnings. From-SVN: r130990
2007-12-16tree-vect-transform.c (conservative_cost_threshold): Add missing space to ↵Uros Bizjak2-16/+17
"not vectorized" message. * tree-vect-transform.c (conservative_cost_threshold): Add missing space to "not vectorized" message. From-SVN: r130989