Age | Commit message (Collapse) | Author | Files | Lines |
|
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* debug.adb, sem_prag.adb, par-ch2.adb, sem_attr.adb, gnat1drv.adb,
exp_disp.adb, opt.ads, sem_ch13.adb (Relaxed_RM_Semantics): New flag.
Enable this flag in CodePeer mode, and also via -gnatd.M.
Replace some uses of CodePeer_Mode by Relaxed_RM_Semantics.
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Check_Constrained_Object): If a subtype is created
from the renamed object in an object renaming declaration with
an unconstrained nominal subtype, freeze the created subtype at
once, to prevent order of elaboration issues in the backend.
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* exp_aggr.adb (Aggr_Size_OK): Refine setting of Max_Aggr_Size
in particular in CodePeer mode.
2013-04-11 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Add documentation for backup copies of project
files for gnatname.
From-SVN: r197751
|
|
2013-04-11 Tristan Gingold <gingold@adacore.com>
* gnat_rm.texi: Add Detect_BLocking in the ravenscar profile
pragma list.
2013-04-11 Vincent Celier <celier@adacore.com>
* gnatname.adb (Scan_Args): Recognize new switch --no-backup
(Usage): Add line for --no-backup.
* opt.ads (No_Nackup): New Boolean variable, initialized to False.
* prj-makr.adb (Initialize): Create a backup for an existing
project file if gnatname is not invoked with --no-backup.
From-SVN: r197750
|
|
2013-04-11 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb: Minor code improvement: replace various calls to
Make_If_Statement in expansion with Make_Implicit_If_Statement.
2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
* ali.adb: Fix minor typo.
From-SVN: r197749
|
|
2013-04-11 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb (Find_Enclosing_Context): Add missing case of
N_Procedure_Call_Statement.
2013-04-11 Robert Dewar <dewar@adacore.com>
* debug.adb: Minor comment fix.
From-SVN: r197748
|
|
2013-04-11 Johannes Kanig <kanig@adacore.com>
* debug.adb: Remove comment for -gnatd.G.
2013-04-11 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb (Expand_Record_Equality.Suitable_Element):
Remove recursive routine, replace with...
(Expand_Record_Equality.Element_To_Compare): New subroutine,
implement iterative search for next element to compare.
Add explanatory comment in the tagged case.
From-SVN: r197747
|
|
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb: remove spurious warning from non-empty loop.
* sem_ch8.adb (Enclosing_Instance): Make public to other routines
in the package, in order to suppress redundant semantic checks
on subprogram renamings in nested instantiations.
From-SVN: r197746
|
|
2013-04-11 Robert Dewar <dewar@adacore.com>
* errout.ads: Minor reformatting.
* sem_eval.adb (Why_Not_Static): Now issues continuation messages
(Why_Not_Static): Test for aggregates behind string literals.
* sem_eval.ads (Why_Not_Static): Now issues continuation messages.
2013-04-11 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_Concatenation): Wrap expansion in
Expressions_With_Actions.
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Base_Types_Match): For an actual type in an
instance, the base type may itself be a subtype, so find true
base type to determine compatibility.
From-SVN: r197745
|
|
2013-04-11 Robert Dewar <dewar@adacore.com>
* s-osprim-mingw.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb.
makeutl.adb, sem_ch8.adb: Minor reformatting.
2013-04-11 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Minor fixes for VMS.
* ug_words: Minor addition: -gnato? => /OVERFLOW_CHECKS=?.
2013-04-11 Robert Dewar <dewar@adacore.com>
* usage.adb (Usage): Minor edit to -gnatW message
2013-04-11 Robert Dewar <dewar@adacore.com>
* exp_aggr.adb (Expand_N_Aggregate): Add circuit for handling
others for string literal case. Also add big ??? comment about
this new code, which should be redundant, but is not.
* sem_eval.adb (Eval_Concatenation): Handle non-static case
properly (Eval_String_Literal): Handle non-static literal properly
From-SVN: r197744
|
|
* opts.c (common_handle_option): Fix formatting and add FALLTHRU
comment.
From-SVN: r197743
|
|
/cp
2013-04-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54216
* parser.c (cp_parser_enum_specifier): Check for empty
anonymous enums and anonymous scoped enums.
/testsuite
2013-04-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54216
* g++.dg/cpp0x/enum26.C: New.
* g++.old-deja/g++.pt/mangle1.C: Adjust.
From-SVN: r197742
|
|
gcc/
* config/aarch64/aarch64-simd.md (aarch64_vcond_internal): Fix
floating-point vector comparisons against 0.
gcc/testsuite/
* gcc.target/aarch64/vect-fcm.x: Add check for zero forms of
inverse operands.
* gcc.target/aarch64/vect-fcm-eq-d.c: Check that new zero form
loop is vectorized.
* gcc.target/aarch64/vect-fcm-eq-f.c: Likewise.
* gcc.target/aarch64/vect-fcm-ge-d.c: Check that new zero form
loop is vectorized and that the correct instruction is generated.
* gcc.target/aarch64/vect-fcm-ge-f.c: Likewise.
* gcc.target/aarch64/vect-fcm-gt-d.c: Likewise.
* gcc.target/aarch64/vect-fcm-gt-f.c: Likewise.
From-SVN: r197741
|
|
PR tree-optimization/56899
* fold-const.c (extract_muldiv_1): Apply distributive law
only if TYPE_OVERFLOW_WRAPS (ctype).
* gcc.c-torture/execute/pr56899.c: New test.
From-SVN: r197692
|
|
PR target/56124
* ira-costs.c (scan_one_insn): Check whether the source rtx of
loading has side effect.
From-SVN: r197691
|
|
From-SVN: r197687
|
|
2013-04-11 Janne Blomqvist <jb@gcc.gnu.org>
* gfortran.h: Remove enum gfc_try, replace gfc_try with bool type.
* arith.c: Replace gfc_try with bool type.
* array.c: Likewise.
* check.c: Likewise.
* class.c: Likewise.
* cpp.c: Likewise.
* cpp.h: Likewise.
* data.c: Likewise.
* data.h: Likewise.
* decl.c: Likewise.
* error.c: Likewise.
* expr.c: Likewise.
* f95-lang.c: Likewise.
* interface.c: Likewise.
* intrinsic.c: Likewise.
* intrinsic.h: Likewise.
* io.c: Likewise.
* match.c: Likewise.
* match.h: Likewise.
* module.c: Likewise.
* openmp.c: Likewise.
* parse.c: Likewise.
* parse.h: Likewise.
* primary.c: Likewise.
* resolve.c: Likewise.
* scanner.c: Likewise.
* simplify.c: Likewise.
* symbol.c: Likewise.
* trans-intrinsic.c: Likewise.
* trans-openmp.c: Likewise.
* trans-stmt.c: Likewise.
* trans-types.c: Likewise.
From-SVN: r197682
|
|
* config/sparc/sparc.c: Include tree-pass.h.
(TARGET_MACHINE_DEPENDENT_REORG): Do not redefine.
(sparc_reorg): Rename to sparc_do_work_around_errata. Move to
head of file. Change return type. Split off gate function.
(sparc_gate_work_around_errata): New function.
(pass_work_around_errata): New pass definition.
(insert_pass_work_around_errata) New pass insert definition to
insert pass_work_around_errata just after delayed-branch scheduling.
(sparc_option_override): Insert the pass.
* config/sparc/t-sparc (sparc.o): Add TREE_PASS_H dependence.
From-SVN: r197681
|
|
gcc/
* config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
or -mcpu=hypersparc.
From-SVN: r197680
|
|
One major suboptimal area of the sparc back end is cstore generation
on 64-bit.
Due to the way arguments and return values of functions must be
promoted, the ideal mode for cstore's result would be DImode.
But this hasn't been done because of a fundamental limitation
of the cstore patterns. They require a fixed mode be used for
the boolean result value.
I've decided to work around this by building a target hook which
specifies the type to use for conditional store results, and then I
use a special predicate for operans 0 in the cstore expanders so
that they still match even when we use DImode.
The default version of the target hook just does what it does now,
so no other target should be impacted by this at all.
Regstrapped on 32-bit sparc-linux-gnu and I've run the testsuite
with "-m64" to validate the 64-bit side.
gcc/
* target.def (cstore_mode): New hook.
* target.h: Include insn-codes.h
* targhooks.c: Likewise.
(default_cstore_mode): New function.
* targhooks.h: Declare it.
* doc/tm.texi.in: New hook slot for TARGET_CSTORE_MODE.
* doc/tm.texi: Rebuild.
* expmed.c (emit_cstore): Obtain cstore boolean result mode using
target hook, rather than inspecting the insn_data.
* config/sparc/sparc.c (sparc_cstore_mode): New function.
(TARGET_CSTORE_MODE): Redefine.
(emit_scc_insn): When TARGET_ARCH64, emit new 64-bit boolean
result patterns.
* config/sparc/predicates.md (cstore_result_operand): New special
predicate.
* config/sparc/sparc.md (cstoresi4, cstoredi4, cstore<F:mode>4):
Use it for operand 0.
(*seqsi_special): Rewrite using 'P' mode iterator on operand 0.
(*snesi_special): Likewise.
(*snesi_zero): Likewise.
(*seqsi_zero): Likewise.
(*sltu_insn): Likewise.
(*sgeu_insn): Likewise.
(*seqdi_special): Make operand 0 and comparison operation be of
DImode.
(*snedi_special): Likewise.
(*snedi_special_vis3): Likewise.
(*neg_snesi_zero): Rename to *neg_snesisi_zero.
(*neg_snesi_sign_extend): Rename to *neg_snesidi_zero.
(*snesi_zero_extend): Delete, covered by 'P' mode iterator.
(*neg_seqsi_zero): Rename to *neg_seqsisi_zero.
(*neg_seqsi_sign_extend): Rename to *neg_seqsidi_zero.
(*seqsi_zero_extend): Delete, covered by 'P' mode iterator.
(*sltu_extend_sp64): Likewise.
(*neg_sltu_insn): Rename to *neg_sltusi_insn.
(*neg_sltu_extend_sp64): Rename to *neg_sltudi_insn.
(*sgeu_extend_sp64): Delete, covered by 'P' mode iterator.
(*neg_sgeu_insn): Rename to *neg_sgeusi_insn.
(*neg_sgeu_extend_sp64): Rename to *neg_sgeudi_insn.
gcc/testsuite/
* gcc.target/sparc/setcc-4.c: New test.
* gcc.target/sparc/setcc-5.c: New test.
From-SVN: r197679
|
|
* config/aarch64/aarch64.c (aarch64_print_extension): New function.
(aarch64_start_file): Use the new function.
From-SVN: r197677
|
|
* common.opt: Add -gdwarf.
* opts.c (common_handle_option): Handle it.
* gcc.c (ASM_DEBUG_SPEC): Don't expect "-2" for DWARF.
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r197675
|
|
2013-04-10 Richard Biener <rguenther@suse.de>
* passes.c (execute_todo): Do not call ggc_collect conditional here.
(execute_one_ipa_transform_pass): But unconditionally here.
(execute_one_pass): And here.
(init_optimization_passes): Remove reload pass.
* tree-pass.h (TODO_ggc_collect): Remove.
(pass_reload): Likewise.
* ira.c (do_reload): Merge into ...
(ira): ... this.
(rest_of_handle_reload): Remove.
(pass_reload): Likewise.
* config/i386/i386.c (ix86_option_override): Refer to ira instead
of reload for vzeroupper pass placement.
* <everywhere>: Remove TODO_ggc_collect from todo_flags_start
and todo_flags_finish of all passes.
* g++.dg/pr55604.C: Use -fdump-rtl-ira.
From-SVN: r197671
|
|
rename first_def_type to first_op_type.
2013-04-10 Richard Biener <rguenther@suse.de>
* tree-vectorizer.h (struct _slp_oprnd_info): Remove
first_const_oprnd field, rename first_def_type to first_op_type.
* tree-vect-slp.c (vect_create_oprnd_info): Adjust.
(vect_get_and_check_slp_defs): Always use the type of the
operand. Allow mixed vect_external_def, vect_constant_def types.
(vect_get_constant_vectors): Handle mixed vect_external_def,
vect_constant_def types.
* gcc.dg/vect/slp-39.c: New testcase.
From-SVN: r197669
|
|
convert_mult_to_fma should prefer to former over the latter.)
gcc:
2013-04-10 Joern Rennecke <joern.rennecke@embecosm.com>
PR tree-optimization/55524
* tree-ssa-math-opts.c
(convert_mult_to_fma): Don't use an fms construct
when we don't have an fms operation, but fnma, and it looks
likely that we'll be able to use the latter.
gcc/testsuite:
2013-04-10 Joern Rennecke <joern.rennecke@embecosm.com>
PR tree-optimization/55524
* gcc.target/epiphany/fnma-1.c: New test.
From-SVN: r197668
|
|
2013-04-10 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
* cif-code.def (OVERWRITABLE): Correct the comment for overwritable
function.
* ipa-inline.c (can_inline_edge_p): Let dump mechanism report the
inline fail caused by overwritable functions.
* gcc.dg/tree-ssa/inline-11.c: New test
From-SVN: r197667
|
|
unnecessary bits in the constant power of two case.
2013-04-10 Chung-Ju Wu <jasonwucj@gmail.com>
* combine.c (simplify_compare_const): Use GET_MODE_MASK to filter out
unnecessary bits in the constant power of two case.
From-SVN: r197666
|
|
operands.
2013-04-10 Richard Biener <rguenther@suse.de>
* tree-vect-slp.c (vect_get_and_check_slp_defs): Remove
broken code swapping operands.
(vect_build_slp_tree): Do not compute load permutations here.
(vect_analyze_slp_instance): Compute load permutations here,
after building the SLP tree.
From-SVN: r197665
|
|
* config/sh/sh.md (barrier_align): Use next/prev_active_insn instead
of next/prev_real_insn.
From-SVN: r197664
|
|
PR c++/56895
* typeck.c (cp_build_binary_op): Call fold_non_dependent_expr_sfinae
first before calling maybe_constant_value for warn_for_div_by_zero
or invalid shift count warning purposes.
* g++.dg/template/arrow3.C: New test.
From-SVN: r197660
|
|
From-SVN: r197658
|
|
* ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p): Drop
aliased parameter.
(function_and_variable_visibility): Do not handle alias pairs.
* cgraph.c (varpool_externally_visible_p): Update prototype.
* varpool.c (varpool_add_new_variable): Update.
From-SVN: r197652
|
|
5.2.8p2)
PR c++/25466
* rtti.c (build_typeid): Check the address of the argument
rather than looking for an INDIRECT_REF.
From-SVN: r197644
|
|
2013-04-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm.md (minmax_arithsi_non_canon): New pattern.
* gcc.target/arm/minmax_minus.c: New test.
From-SVN: r197642
|
|
* sched-vis.c (print_pattern): Print SEQUENCE of insns as insns.
From-SVN: r197640
|
|
* config/sparc/sparc.md: Use define_c_enum for "unspec" and "unspecv".
From-SVN: r197639
|
|
cse_main with -O --param max-cse-path-length=0 on basic code)
PR tree-optimization/48762
* params.def (PARAM_MAX_CSE_INSNS): Increase the minimum
value to 1.
From-SVN: r197637
|
|
2013-04-09 Richard Biener <rguenther@suse.de>
* tree-vect-slp.c (vect_get_and_check_slp_defs): Remove code
dealing with cost.
(vect_build_slp_tree): Likewise.
(vect_analyze_slp_cost_1, vect_analyze_slp_cost): New functions
calculating the cost of a SLP instance.
(vect_analyze_slp_instance): Use it from here, after building
the SLP tree.
From-SVN: r197635
|
|
PR middle-end/56883
* omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
expand_omp_for_static_chunk): Use simple_p = true in
force_gimple_operand_gsi calls when assigning to addressable decls.
* c-c++-common/gomp/pr56883.c: New test.
From-SVN: r197633
|
|
boolean was created by converting a wider...
* tree-vrp.c (simplify_cond_using_ranges): Simplify test of boolean
when the boolean was created by converting a wider object which
had a boolean range.
* gcc.dg/tree-ssa/vrp87.c: New test
From-SVN: r197631
|
|
2013-04-09 Richard Biener <rguenther@suse.de>
* tree-vectorizer.h (slp_void_p): Remove.
(slp_tree): Typedef before _slp_tree declaration.
(struct _slp_tree): Use a vector of slp_tree as children.
(vect_get_place_in_interleaving_chain): Remove.
* tree-vect-data-refs.c (vect_get_place_in_interleaving_chain):
Move ...
* tree-vect-slp.c (vect_get_place_in_interleaving_chain): ... here
and make static.
(vect_free_slp_tree, vect_print_slp_tree, vect_mark_slp_stmts,
vect_mark_slp_stmts_relevant, vect_slp_rearrange_stmts,
vect_detect_hybrid_slp_stmts, vect_slp_analyze_node_operations,
vect_schedule_slp_instance, vect_remove_slp_scalar_calls):
Use slp_node instead of slp_void_p and adjust.
From-SVN: r197629
|
|
2013-04-09 Richard Biener <rguenther@suse.de>
java/
* expr.c (build_java_binop): Pass a type to build_int_cst.
* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa): Avoid
work that is not necessary.
From-SVN: r197626
|
|
PR tree-optimization/56854
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't
forward into clobber stmts if it would change MEM_REF lhs into
non-MEM_REF.
* g++.dg/torture/pr56854.C: New test.
From-SVN: r197625
|
|
2013-04-09 Tobias Burnus <burnus@net-b.de>
* gfortran.texi (KIND Type Parameters,
Internal representation of LOGICAL variables): Add crossrefs.
(Intrinsic Types): Mention issues with _Bool interop.
(Naming and argument-passing conventions): New section.
From-SVN: r197624
|
|
* tree.c (type_hash_lookup, type_hash_add): Make static.
* tree.h (type_hash_lookup, type_hash_add): Remove global declarations.
From-SVN: r197623
|
|
2013-04-09 Richard Biener <rguenther@suse.de>
* tree.h (unsave_expr_now): Remove.
* tree-inline.c (mark_local_for_remap_r): Remove.
(unsave_expr_1): Likewise.
(unsave_r): Likewise.
(unsave_expr_now): Likewise.
* tree-ssa-copy.c (replace_exp_1): Use unshare_expr.
(propagate_tree_value): Likewise.
From-SVN: r197620
|
|
From-SVN: r197618
|
|
From-SVN: r197617
|
|
PR c++/56838
PR c++/17232
* typeck2.c (abstract_virtuals_error_sfinae): Disable
complete_type again.
From-SVN: r197613
|
|
SEQUENCE rtl objects.
* doc/rtl.texi (sequence): Rewrite documentation to match the
current use of SEQUENCE rtl objects.
* rtl.def (SEQUENCE): Likewise.
* doc/rtl.texi (NOTE_INSN_EH_REGION_BEG, NOTE_INSN_EH_REGION_END):
Update documentation.
(NOTE_INSN_LOOP_BEG, NOTE_INSN_LOOP_END, NOTE_INSN_LOOP_CONT,
NOTE_INSN_LOOP_VTOP): Remove documentation for non-existing notes.
* reg-notes.def (REG_EH_CONTEXT): Remove unused note.
From-SVN: r197611
|
|
with -ffrontend-optimize)
2013-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/56782
* frontend-passes.c (callback_reduction): Dont't do
any simplification if there is only a single element
which has an iterator.
2013-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/56782
* gfortran.dg/array_constructor_44.f90: New test.
From-SVN: r197610
|
|
/cp
2013-04-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56871
* decl.c (validate_constexpr_redeclaration): Allow an explicit
specialization to be different wrt the constexpr specifier.
/testsuite
2013-04-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56871
* g++.dg/cpp0x/constexpr-specialization.C: New.
From-SVN: r197597
|