Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
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
|
|
* 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
|
|
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
|
|
From-SVN: r131067
|
|
From-SVN: r131066
|
|
From-SVN: r131065
|
|
* 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
|
|
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
|
|
From-SVN: r131060
|
|
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
|
|
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
|
|
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
|
|
gcc/ada/
* Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target.
From-SVN: r131054
|
|
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-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
|
|
From-SVN: r131050
|
|
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
|
|
From-SVN: r131046
|
|
From-SVN: r131045
|
|
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
|
|
From-SVN: r131042
|
|
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-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
|
|
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
|
|
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-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
|
|
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
|
|
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
|
|
From-SVN: r131028
|
|
PR c++/34488
* decl.c (grokdeclarator): Reject friend sfk_constructor
FUNCTION_TYPE.
* g++.dg/parse/friend7.C: New test.
From-SVN: r131025
|
|
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
|
|
* 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
|
|
From-SVN: r131017
|
|
* 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
|
|
From-SVN: r131011
|
|
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-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
|
|
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
|
|
From-SVN: r131005
|
|
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
|
|
From-SVN: r131001
|
|
Darwin)
PR target/34025
* config/i386/t-crtpc: Add $(MULTILIB_CFLAGS).
* config/i386/t-crtfm: Likewise.
From-SVN: r130998
|
|
* config/i386/i386.h (WIDEST_HARDWARE_FP_SIZE): Define.
From-SVN: r130997
|
|
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-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
|
|
From-SVN: r130992
|
|
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
|
|
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
|
|
"not vectorized" message.
* tree-vect-transform.c (conservative_cost_threshold): Add missing
space to "not vectorized" message.
From-SVN: r130989
|