platform/upstream/linaro-gcc.git
10 years ago0;261;0c2013-09-23 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Tue, 24 Sep 2013 03:35:46 +0000 (03:35 +0000)]
0;261;0c2013-09-23  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (rs6000_vector_reload): Delete, combine
reload helper function arrays into a single array reg_addr.
(reload_fpr_gpr): Likewise.
(reload_gpr_vsx): Likewise.
(reload_vsx_gpr): Likewise.
(struct rs6000_reg_addr): Likewise.
(reg_addr): Likewise.
(rs6000_debug_reg_global): Change rs6000_vector_reload,
reload_fpr_gpr, reload_gpr_vsx, reload_vsx_gpr uses to reg_addr.
(rs6000_init_hard_regno_mode_ok): Likewise.
(rs6000_secondary_reload_direct_move): Likewise.
(rs6000_secondary_reload): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202859 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-24 Tim Shen <timshen91@gmail.com>
timshen [Tue, 24 Sep 2013 02:05:00 +0000 (02:05 +0000)]
2013-09-24  Tim Shen  <timshen91@gmail.com>

* include/Makefile.am: Add regex.tcc.
* include/Makefile.in: Regenerate.
* include/bits/regex.h: Remove definitions to regex.tcc.
* include/bits/regex.tcc: New.
(match_results::format, regex_replace): Implement;
* include/bits/regex_compiler.h: Move _M_flags to the top of class
member list, because other members' initialization depend on it.
* include/bits/regex_compiler.tcc
(_Compiler<>::_Compiler): Adjust member initializations.
(_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier.
* include/bits/regex_executor.h: Remove _RegexT from _*Executor classes.
In the future, all regex classes may refactor to *Impl style.
* include/bits/regex_executor.tcc (_Executor::_M_set_results):
Merge identical code from _*Executor classes.
* testsuite/28_regex/algorithms/regex_match/extended/
string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase
caller for new __get_executors interface.
* testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
New.
* testsuite/28_regex/match_results/format.cc: New.
* testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph
testcase.
* testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202858 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Tue, 24 Sep 2013 00:16:43 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202854 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoFix 58500.
abutcher [Mon, 23 Sep 2013 22:43:44 +0000 (22:43 +0000)]
Fix 58500.

gcc/cp/
PR c++/58500
* type-utils.h (find_type_usage): Only traverse one type level into
member function pointers.

gcc/testsuite/
PR c++/58500
* g++.dg/cpp1y/pr58500.C: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202851 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoFix instantiation of implicit function template forward declarations.
abutcher [Mon, 23 Sep 2013 22:43:34 +0000 (22:43 +0000)]
Fix instantiation of implicit function template forward declarations.

* parser.c (cp_parser_init_declarator): Defer calling
finish_fully_implicit_template for forward declarations until after
other decl processing is complete.  Cleanup for clarity: Extract 'else'
case after 'if' containing unconditional return.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202850 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoGenerate more intuitive name for 'auto' parameters.
abutcher [Mon, 23 Sep 2013 22:43:25 +0000 (22:43 +0000)]
Generate more intuitive name for 'auto' parameters.

* parser.c (make_generic_type_name): Spell generic type names '<autoN>'
rather than '__GenN'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202849 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoSupport nested generic lambdas.
abutcher [Mon, 23 Sep 2013 22:43:15 +0000 (22:43 +0000)]
Support nested generic lambdas.

* lambda.c (maybe_add_lambda_conv_op): Don't check for instantiated
callop in the case of generic lambdas.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202848 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoUse translation-unit-global rather than parameter-list-local counter for generic...
abutcher [Mon, 23 Sep 2013 22:43:06 +0000 (22:43 +0000)]
Use translation-unit-global rather than parameter-list-local counter for generic type names to facilitate nested implicit function templates.

* parser.c (make_generic_type_name): Use global count rather than
parameter and ...
(add_implicit_template_parms): ... propagate interface change here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202847 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-20 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Mon, 23 Sep 2013 21:13:38 +0000 (21:13 +0000)]
2013-09-20  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add new
constraints: wu, ww, and wy.  Repurpose wv constraint added during
power8 changes.  Put wg constraint in alphabetical order.

* config/rs6000/rs6000.opt (-mvsx-scalar-float): New debug switch
for future work to add ISA 2.07 VSX single precision support.
(-mvsx-scalar-double): Change default from -1 to 1, update
documentation comment.
(-mvsx-scalar-memory): Rename debug switch to -mupper-regs-df.
(-mupper-regs-df): New debug switch to control whether DF values
can go in the traditional Altivec registers.
(-mupper-regs-sf): New debug switch to control whether SF values
can go in the traditional Altivec registers.

* config/rs6000/rs6000.c (rs6000_debug_reg_global): Print wu, ww,
and wy constraints.
(rs6000_init_hard_regno_mode_ok): Use ssize_t instead of int for
loop variables.  Rename -mvsx-scalar-memory to -mupper-regs-df.
Add new constraints, wu/ww/wy.  Repurpose wv constraint.
(rs6000_debug_legitimate_address_p): Print if we are running
before, during, or after reload.
(rs6000_secondary_reload): Add a comment.
(rs6000_opt_masks): Add -mupper-regs-df, -mupper-regs-sf.

* config/rs6000/constraints.md (wa constraint): Sort w<x>
constraints.  Update documentation string.
(wd constraint): Likewise.
(wf constraint): Likewise.
(wg constraint): Likewise.
(wn constraint): Likewise.
(ws constraint): Likewise.
(wt constraint): Likewise.
(wx constraint): Likewise.
(wz constraint): Likewise.
(wu constraint): New constraint for ISA 2.07 SFmode scalar
instructions.
(ww constraint): Likewise.
(wy constraint): Likewise.
(wv constraint): Repurpose ISA 2.07 constraint that we not used in
the previous submissions.
* doc/md.texi (PowerPC and IBM RS6000): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202843 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
rsandifo [Mon, 23 Sep 2013 17:41:02 +0000 (17:41 +0000)]
gcc/
* doc/rtl.texi (REG_NOTES): Say that int_list can also be used.
(REG_BR_PROB): Say that the probability is stored in an int_list.
* reg-notes.def: Update commentary to mention INT_LIST.
* rtl.def (EXPR_LIST, INSN_LIST): Capitalize comments.
(INT_LIST): New rtx.
* rtl.h (add_int_reg_note, add_shallow_copy_of_reg_note): Declare.
* rtlanal.c (int_reg_note_p): New function.
(alloc_reg_note): Assert that the note does not have an int argument.
(add_int_reg_note, add_shallow_copy_of_reg_note): New functions.
* combine.c (distribute_notes): Use add_shallow_copy_of_rtx.
* cse.c (cse_process_notes_1): Expect REG_EQUAL to be an EXPR_LIST
rather than an INSN_LIST.  Handle INT_LIST.
* ifcvt.c (cond_exec_process_insns): Take the probability as an int
rather than an rtx.  Use gen_rtx_INT_LIST to create a REG_BR_PROB note.
(cond_exec_process_if_block): Use XINT to extract REG_BR_PROB values.
Manipulate them as ints rather than rtxes.
* reg-stack.c (subst_asm_stack_regs): Only handle EXPR_LIST notes.
* regmove.c (copy_src_to_dest): Likewise.
* sched-vis.c (print_insn_with_notes): Handle INT_LIST.

* config/i386/winnt.c (i386_pe_seh_unwind_emit): Sink pat assignment
into the cases that need it.
* config/arm/arm.c (arm_unwind_emit): Likewise.

* asan.c (asan_clear_shadow): Use add_int_reg_note for REG_BR_PROB.
* emit-rtl.c (try_split, emit_copy_of_insn_after): Likewise.
* loop-doloop.c (add_test, doloop_modify): Likewise.
* loop-unswitch.c (compare_and_jump_seq): Likewise.
* optabs.c (emit_cmp_and_jump_insn_1): Likewise.
* predict.c (combine_predictions_for_insn): Likewise.
* print-rtl.c (print_rtx): Handle INT_LIST.
* config/aarch64/aarch64.c (aarch64_emit_unlikely_jump): Likewise.
* config/alpha/alpha.c (emit_unlikely_jump): Likewise.
* config/arm/arm.c (emit_unlikely_jump): Likewise.
* config/i386/i386.c (ix86_expand_split_stack_prologue): Likewise.
(ix86_split_fp_branch, predict_jump): Likewise.
* config/rs6000/rs6000.c (emit_unlikely_jump): Likewise.
* config/sh/sh.c (expand_cbranchsi4): Likewise.
* config/spu/spu.c (ea_load_store_inline): Likewise.

* cfgbuild.c (compute_outgoing_frequencies): Use XINT to access the
value of a REG_BR_PROB note.
* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
(update_br_prob_note, rtl_verify_edges, purge_dead_edges): Likewise.
* emit-rtl.c (try_split): Likewise.
* predict.c (br_prob_note_reliable_p): Likewise.
(invert_br_probabilities, combine_predictions_for_insn): Likewise.
* reorg.c (mostly_true_jump): Likewise.
* config/bfin/bfin.c (cbranch_predicted_taken_p): Likewise.
* config/frv/frv.c (frv_print_operand_jump_hint): Likewise.
* config/i386/i386.c (ix86_print_operand): Likewise.
* config/ia64/ia64.c (ia64_print_operand): Likewise.
* config/mmix/mmix.c (mmix_print_operand): Likewise.
* config/rs6000/rs6000.c (output_cbranch): Likewise.
* config/s390/s390.c (s390_expand_tbegin): Likewise.
* config/sh/sh.c (sh_print_operand, sh_adjust_cost): Likewise.
* config/sparc/sparc.c (output_cbranch): Likewise.
* config/spu/spu.c (get_branch_target): Likewise.
* config/tilegx/tilegx.c (cbranch_predicted_p): Likewise.
* config/tilepro/tilepro.c (cbranch_predicted_p): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202839 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * ipa-cp.c (ipa_get_indirect_edge_target_1): Add sanity check
hubicka [Mon, 23 Sep 2013 16:54:34 +0000 (16:54 +0000)]
* ipa-cp.c (ipa_get_indirect_edge_target_1): Add sanity check
for ipa-devirt.
* ipa-utils.h (possible_polymorphic_call_target_p): New function.
* ipa-devirt.c (possible_polymorphic_call_target_p): Be tolerant
of external calls
* gimple-fold.c: Include ipa-utils.h and gimple-pretty-print.h
(gimple_fold_call): Dump inconsistent devirtualizations; add
sanity check for type based devirtualizations.
* ipa-prop.c: Include ipa-utils.h
(ipa_intraprocedural_devirtualization): Add sanity check.
(try_make_edge_direct_virtual_call): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202837 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com>
ppluzhnikov [Mon, 23 Sep 2013 16:36:11 +0000 (16:36 +0000)]
2013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>

* src/c++11/snprintf_lite.cc (__concat_size_t): Use
unsigned long long conditionally.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202836 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on copy
ebotcazou [Mon, 23 Sep 2013 16:07:19 +0000 (16:07 +0000)]
* tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on copy
assignment statements.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202833 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoUnbreak i386 and other builds where size_t != unsigned long.
ppluzhnikov [Mon, 23 Sep 2013 15:29:14 +0000 (15:29 +0000)]
Unbreak i386 and other builds where size_t != unsigned long.

2013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>

* src/c++11/snprintf_lite.cc (__concat_size_t): Use only
std::__int_to_char<unsigned long long>()

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202832 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-23 Kugan Vivekanandarajah <kuganv@linaro.org>
clyon [Mon, 23 Sep 2013 15:13:39 +0000 (15:13 +0000)]
2013-09-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

gcc/
* gimple-pretty-print.c (dump_ssaname_info): New function.
(dump_gimple_phi): Call it.
(pp_gimple_stmt_1): Likewise.
* tree-core.h (tree_ssa_name): New union ssa_name_info_type field.
(range_info_def): Declare.
* tree-pretty-print.c (pp_double_int): New function.
(dump_generic_node): Call it.
* tree-pretty-print.h (pp_double_int): Declare.
* tree-ssa-alias.c (dump_alias_info): Check pointer type.
* tree-ssanames.h (range_info_def): New structure.
(value_range_type): Move definition here.
(set_range_info, value_range_type, duplicate_ssa_name_range_info):
Declare.
* tree-ssanames.c (make_ssa_name_fn): Check pointer type at
initialization.
(set_range_info): New function.
(get_range_info): Likewise.
(duplicate_ssa_name_range_info): Likewise.
(duplicate_ssa_name_fn): Check pointer type and call
duplicate_ssa_name_range_info.
* tree-ssa-copy.c (fini_copy_prop): Likewise.
* tree-vrp.c (value_range_type): Remove definition, now in
tree-ssanames.h.
(vrp_finalize): Call set_range_info to update value range of
SSA_NAMEs.
* tree.h (SSA_NAME_PTR_INFO): Macro changed to access via union.
(SSA_NAME_RANGE_INFO): New macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202831 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-23 Richard Biener <rguenther@suse.de>
rguenth [Mon, 23 Sep 2013 12:37:17 +0000 (12:37 +0000)]
2013-09-23  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58464
* tree-ssa-pre.c (phi_trans_lookup): Remove.
(phi_trans_add): Change to add conditionally on being not
present.
(phi_translate_1): Remove recursion detection here.
(phi_translate): Pre-seed the cache with NULL to catch
recursion here in a more generic way.
(bitmap_find_leader): Adjust comment.
(get_representative_for): Dump value-numbers.
(create_expression_by_pieces): Likewise.
(insert_into_preds_of_block): Likewise.

* g++.dg/torture/pr58464.C: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202826 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-23 Christian Bruel <christian.bruel@st.com>
chrbr [Mon, 23 Sep 2013 08:30:00 +0000 (08:30 +0000)]
2013-09-23  Christian Bruel  <christian.bruel@st.com>

        PR target/58475
        * config/sh/sh.md (movsf_ie): Allow fpul_operand.
        * config/sh/predicate.md (arith_reg_operand): Disallow FPUL_REG.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202825 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRevert r202780:
jgreenhalgh [Mon, 23 Sep 2013 08:25:55 +0000 (08:25 +0000)]
Revert r202780:

* config/aarch64/aarch64.c (aarch64_expand_prologue): Use plus_constant.
(aarch64_expand_epilogue): Likewise.
(aarch64_legitimize_reload_address): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202824 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-23 Janus Weil <janus@gcc.gnu.org>
janus [Mon, 23 Sep 2013 07:40:39 +0000 (07:40 +0000)]
2013-09-23  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58355
* decl.c (check_extended_derived_type): Prevent segfault, modify error
message.

2013-09-23  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58355
* gfortran.dg/extends_15.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202823 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Mon, 23 Sep 2013 00:16:55 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202822 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gimplify.c (gimplify_asm_expr): Reset the TREE_CHAIN of clobbers to
ebotcazou [Sun, 22 Sep 2013 21:57:39 +0000 (21:57 +0000)]
* gimplify.c (gimplify_asm_expr): Reset the TREE_CHAIN of clobbers to
NULL_TREE before pushing them onto the vector.  Likewise for labels.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202819 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoPrint additional info when various out-of-range conditions are detected.
ppluzhnikov [Sun, 22 Sep 2013 02:04:13 +0000 (02:04 +0000)]
Print additional info when various out-of-range conditions are detected.

2013-09-21  Paul Pluzhnikov  <ppluzhnikov@google.com>

* include/bits/functexcept.h (__throw_out_of_range_fmt): New.
* src/c++11/functexcept.cc (__throw_out_of_range_fmt): New.
* src/c++11/snprintf_lite.cc: New.
* src/c++11/Makefile.am: Add snprintf_lite.cc.
* src/c++11/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Add _ZSt24__throw_out_of_range_fmtPKcz.
* include/std/array (at): Use __throw_out_of_range_fmt.
* include/debug/array (at): Likewise.
* include/profile/array (at): Likewise.
* include/std/bitset (_M_check_initial_position, _M_check): New.
(bitset::bitset): Use _M_check_initial_position.
(set, reset, flip, test): Use _M_check.
* include/ext/vstring.h (_M_check, at): Use __throw_out_of_range_fmt.
* include/bits/stl_vector.h (_M_range_check): Likewise.
* include/bits/stl_bvector.h (_M_range_check): Likewise.
* include/bits/stl_deque.h (_M_range_check): Likewise.
* include/bits/basic_string.h (_M_check, at): Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
Likewise.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
Likewise.
* testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
Likewise.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc:
Likewise.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise.
* testsuite/util/exception/safety.h (generate): Use __throw_out_of_range_fmt.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202818 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Sun, 22 Sep 2013 00:16:50 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202817 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/ia64/predicates.md (ia64_cbranch_operator): Accept unordered
ebotcazou [Sat, 21 Sep 2013 21:12:20 +0000 (21:12 +0000)]
* config/ia64/predicates.md (ia64_cbranch_operator): Accept unordered
comparison operators when -fno-trapping-math is in effect.
* config/ia64/ia64.c (ia64_expand_compare): Add support for unordered
comparison operators in TFmode and assert that unsupported operators
cannot reach here.
(ia64_print_operand): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202814 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * x86-tune.def (partial_reg_stall): Disable for CoreI7 and newer.
hubicka [Sat, 21 Sep 2013 20:59:10 +0000 (20:59 +0000)]
* x86-tune.def (partial_reg_stall): Disable for CoreI7 and newer.
(sse_typeless_stores): Enable for core
(sse_load0_by_pxor): Likewise.
(four_jump_limit): Disable for core.
(pad_returns): Likewise.
(avoid_vector_decode): Likewise.
(fuse_cmp_and_branch): Enable for cores.
* i386.c (x86_accumulate_outgoing_args): Disable for cores.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202813 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Sat, 21 Sep 2013 00:16:51 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202811 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR middle-end/56791
danglin [Fri, 20 Sep 2013 23:58:43 +0000 (23:58 +0000)]
PR middle-end/56791
* config/pa/pa.c (pa_option_override): Disable auto increment and
decrement instructions until reload is completed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202807 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Define
danglin [Fri, 20 Sep 2013 23:37:56 +0000 (23:37 +0000)]
* config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Define
__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2,
and __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202803 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago* config/rl78/rl78.c: Various whitespace and comment tweaks.
dj [Fri, 20 Sep 2013 22:42:26 +0000 (22:42 +0000)]
* config/rl78/rl78.c: Various whitespace and comment tweaks.
(need_to_save): Save bank 0 on interrupts.
(characterize_address): Strip far address wrappers.
(rl78_as_legitimate_address): Likewise.
(transcode_memory_rtx): Likewise.
(rl78_peep_movhi_p): Disable this peephole after devirt.
(rl78_propogate_register_origins): Forget all origins when a
CLOBBER is seen.
* config/rl78/rl78-virt.md: Various whitespace tweaks.
* config/rl78/rl78-real.md: Various whitespace tweaks.  Additional
peephole2's.
* config/rl78/rl78.md (sel_rb): Disable for G10 just in case.
* config/rl78/rl78-expand.md (movqi): Check for subregs of consts.
* config/rl78/rl78.h (LINK_SPEC): Pass -gc-sections unless
relocating.
* config/rl78/constraints.md: Various whitespace and paren tweaks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202801 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/pa/pa.md: In "scc" insn patterns, change output template to
danglin [Fri, 20 Sep 2013 22:28:34 +0000 (22:28 +0000)]
* config/pa/pa.md: In "scc" insn patterns, change output template to
handle const0_rtx in reg_or_0_operand operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202798 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago/cp
paolo [Fri, 20 Sep 2013 21:04:09 +0000 (21:04 +0000)]
/cp
2013-09-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58481
* pt.c (tsubst_copy): Use current_nonlambda_class_type to
call tsubst_baselink.

/testsuite
2013-09-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58481
* g++.dg/cpp0x/lambda/lambda-this17.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202797 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoWork around buggy gas not properly sign-extending a 64bit value on a 32bit host
jbglaw [Fri, 20 Sep 2013 19:00:02 +0000 (19:00 +0000)]
Work around buggy gas not properly sign-extending a 64bit value on a 32bit host

PR target/56875
2013-09-20  Martin Husemann  <martin@NetBSD.org>
    Jan-Benedict Glaw  <jbglaw@lug-owl.de>

gcc/
* config/vax/vax.c (vax_output_int_move): Use D format specifier.
* config/vax/vax.md (ashldi3, <unnamed>): Ditto.

gcc/testsuite/
* gcc.target/vax/vax.exp: New.
* gcc.target/vax/pr56875.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202796 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR testsuite/57605
jakub [Fri, 20 Sep 2013 17:52:29 +0000 (17:52 +0000)]
PR testsuite/57605
libstdc++-v3/
* testsuite/lib/libstdc++.exp (libstdc++_init): Prepend
-fdiagnostics-color=never to cxxflags.
libmudflap/
* testsuite/lib/libmudflap.exp (libmudflap-init): Append
-fdiagnostics-color=never to cxxflags.
libgomp/
* testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
ALWAYS_CFLAGS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202791 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-20 Richard Biener <rguenther@suse.de>
rguenth [Fri, 20 Sep 2013 17:49:45 +0000 (17:49 +0000)]
2013-09-20  Richard Biener  <rguenther@suse.de>

PR middle-end/58484
* tree-scalar-evolution.c (struct scev_info_str): Shrink by
remembering SSA name version and block index.
(new_scev_info_str): Adjust.
(hash_scev_info): Likewise.  Also hash the block index.
(eq_scev_info): Adjust.
(find_var_scev_info): Likewise.
(struct instantiate_cache_entry): Remove.
(struct instantiate_cache_type): Use a htab to map name, block
to chrec.
(instantiate_cache_type::~instantiate_cache_type): Adjust.
(get_instantiated_value_entry): Likewise.
(hash_idx_scev_info, eq_idx_scev_info): New functions.
(instantiate_scev_name): Adjust.

* gfortran.dg/pr58484.f: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202790 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * tree-ssa-dom.c (record_temporary_equivalences): Add comment.
law [Fri, 20 Sep 2013 17:43:08 +0000 (17:43 +0000)]
   * tree-ssa-dom.c (record_temporary_equivalences): Add comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202789 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc.dg/tree-ssa/ssa-dom-thread-3.c: Add missing dg-final clause.
law [Fri, 20 Sep 2013 17:36:38 +0000 (17:36 +0000)]
    * gcc.dg/tree-ssa/ssa-dom-thread-3.c: Add missing dg-final clause.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202788 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
yufeng [Fri, 20 Sep 2013 16:25:07 +0000 (16:25 +0000)]
gcc/

* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args):
Call aarch64_simd_expand_args to update op[argc].

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202784 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-20 Basile Starynkevitch <basile@starynkevitch.net>
bstarynk [Fri, 20 Sep 2013 15:54:47 +0000 (15:54 +0000)]
2013-09-20  Basile Starynkevitch  <basile@starynkevitch.net>

* plugin.c (parse_plugin_arg_opt): Accept equal sign inside
          plugin argument.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202783 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-20 Basile Starynkevitch <basile@starynkevitch.net>
bstarynk [Fri, 20 Sep 2013 15:50:56 +0000 (15:50 +0000)]
2013-09-20  Basile Starynkevitch  <basile@starynkevitch.net>

       * gengtype.c (file_rules): Added rule for *.cc files.
       (get_output_file_with_visibility): Give fatal message when no
       rules found.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202782 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-20 Marc Glisse <marc.glisse@inria.fr>
glisse [Fri, 20 Sep 2013 15:50:09 +0000 (15:50 +0000)]
2013-09-20  Marc Glisse  <marc.glisse@inria.fr>

PR libstdc++/58338
* include/bits/allocator.h (__alloc_swap::_S_do_it,
__shrink_to_fit_aux::_S_do_it): Mark as noexcept.
* include/bits/basic_string.h (basic_string::_Rep) [_S_empty_rep,
_M_is_leaked, _M_is_shared, _M_set_leaked, _M_set_sharable,
_M_set_length_and_sharable, _M_dispose]: Likewise.
(basic_string::_Alloc_hider::_Alloc_hider): Likewise.
(basic_string) [_M_data, _M_rep, _M_ibegin, _M_iend, _M_limit,
_M_disjunct, _M_copy, _M_move, _M_assign, _S_copy_chars, _S_compare,
_S_empty_rep, shrink_to_fit, operator[] const, front const, back const]:
Likewise.
[clear]: Link to PR 56166.
[swap]: Link to PR 58265.
* include/bits/stl_deque.h (_Deque_iterator) [_S_buffer_size,
_Deque_iterator, _M_const_cast, operator*, operator->, operator++,
operator--, operator+=, operator+, operator-=, operator-, operator[],
_M_set_node]: Mark as noexcept.
(operator==(const _Deque_iterator&, const _Deque_iterator&),
operator!=(const _Deque_iterator&, const _Deque_iterator&),
operator<(const _Deque_iterator&, const _Deque_iterator&),
operator>(const _Deque_iterator&, const _Deque_iterator&),
operator<=(const _Deque_iterator&, const _Deque_iterator&),
operator>=(const _Deque_iterator&, const _Deque_iterator&),
operator-(const _Deque_iterator&, const _Deque_iterator&),
operator+(ptrdiff_t, const _Deque_iterator&)): Likewise.
(_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
_M_initialize_map.
[~_Deque_base, _M_deallocate_node, _M_deallocate_map, _M_destroy_nodes]:
Mark as noexcept.
(_Deque_base::_Deque_impl) [_Deque_impl(const _Tp_alloc_type&),
_Deque_impl(_Tp_alloc_type&&)]: Likewise.
(deque) [_S_buffer_size, operator=(deque&&), shrink_to_fit, operator[],
front, back, pop_front, pop_back, swap]: Likewise.
[deque(), deque(const allocator_type&)]: Merge.
* include/debug/deque (deque) [operator=(deque&&), shrink_to_fit,
operator[], front, back, pop_front, pop_back, swap]: Mark as noexcept.
* include/profile/deque (deque) [operator=(deque&&), operator[], front,
back, pop_front, pop_back, swap]: Likewise.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust line number.
* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
Likewise.
* testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202781 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[AArch64] Use plus_constant.
mshawcroft [Fri, 20 Sep 2013 14:59:18 +0000 (14:59 +0000)]
[AArch64] Use plus_constant.

2013-09-20  Renlin Li  <renlin.li@arm.com>

* config/aarch64/aarch64.c (aarch64_expand_prologue): Use plus_constant.
(aarch64_expand_epilogue): Likewise.
(aarch64_legitimize_reload_address): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202780 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Fri, 20 Sep 2013 14:10:14 +0000 (14:10 +0000)]
2013-09-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR middle-end/57748
        * expr.c (expand_assignment): Remove misalignp code path.

testsuite/

        PR middle-end/57748
        * gcc.dg/torture/pr57748-1.c: New test.
        * gcc.dg/torture/pr57748-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202778 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-20 Marek Polacek <polacek@redhat.com>
mpolacek [Fri, 20 Sep 2013 13:26:07 +0000 (13:26 +0000)]
2013-09-20  Marek Polacek  <polacek@redhat.com>

PR sanitizer/58413
* ubsan.c (get_ubsan_type_info_for_type): Use TYPE_SIZE instead of
TYPE_PRECISION.  Add asserts.

testsuite/
* c-c++-common/ubsan/shift-4.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202776 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-20 Richard Biener <rguenther@suse.de>
rguenth [Fri, 20 Sep 2013 12:21:08 +0000 (12:21 +0000)]
2013-09-20  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58453
* tree-loop-distribution.c (distribute_loop): Apply the cost
model for -ftree-loop-distribute-patterns, too.

* gcc.dg/tree-ssa/ldist-23.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202775 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-20 Richard Biener <rguenther@suse.de>
rguenth [Fri, 20 Sep 2013 10:19:12 +0000 (10:19 +0000)]
2013-09-20  Richard Biener  <rguenther@suse.de>

PR middle-end/58473
* tree-chrec.h (build_polynomial_chrec): Use gcc_checking_assert,
make type comparison less strict.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202774 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonical
amodra [Fri, 20 Sep 2013 09:47:52 +0000 (09:47 +0000)]
* libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonical
ppc host match.  Support little-endian powerpc linux hosts.
Regenerate configure throughout.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202773 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-20 Janus Weil <janus@gcc.gnu.org>
janus [Fri, 20 Sep 2013 07:44:05 +0000 (07:44 +0000)]
2013-09-20  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58099
* expr.c (gfc_check_pointer_assign): Remove second call to
'gfc_compare_interfaces' with swapped arguments.
* interface.c (gfc_compare_interfaces): Symmetrize the call to
'check_result_characteristics' by calling it with swapped arguments.

2013-09-20  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58099
* gfortran.dg/proc_ptr_43.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202766 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-20 Marek Polacek <polacek@redhat.com>
mpolacek [Fri, 20 Sep 2013 06:08:44 +0000 (06:08 +0000)]
2013-09-20  Marek Polacek  <polacek@redhat.com>

PR other/58467
* doc/extend.texi: Document that attribute used is meant to be used
on variables with static storage duration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202764 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Fri, 20 Sep 2013 00:16:56 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202763 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agocompiler: Fix inconsistent check for structs using memcmp for ==.
ian [Thu, 19 Sep 2013 17:32:56 +0000 (17:32 +0000)]
compiler: Fix inconsistent check for structs using memcmp for ==.

Test is bug479.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202751 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR tree-optimization/58472
jakub [Thu, 19 Sep 2013 16:56:40 +0000 (16:56 +0000)]
PR tree-optimization/58472
* tree-vect-stmts.c (vectorizable_store, vectorizable_load): For
simd_lane_access set inv_p = false.
* omp-low.c (lower_rec_input_clauses): Set TREE_NO_WARNING on
the simduid magic VAR_DECL.

* c-c++-common/gomp/pr58472.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202748 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * i386.c (generic_memcpy, generic_memset): Fix 32bit template.
hubicka [Thu, 19 Sep 2013 15:42:55 +0000 (15:42 +0000)]
* i386.c (generic_memcpy, generic_memset): Fix 32bit template.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202747 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * tree-ssa-dom.c (record_temporary_equivalences): New function
law [Thu, 19 Sep 2013 12:49:30 +0000 (12:49 +0000)]
   * tree-ssa-dom.c (record_temporary_equivalences): New function
        split out of dom_opt_dom_walker::after_dom_children.
        (dom_opt_dom_walker::thread_across_edge): Move common code
        in here from dom_opt_dom_walker::after_dom_children.
        (dom_opt_dom_walker::after_dom_children): Corresponding simplifictions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202742 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * i386.h (TARGET_GENERIC32, TARGET_GENERIC64): Remove.
hubicka [Thu, 19 Sep 2013 12:43:57 +0000 (12:43 +0000)]
* i386.h (TARGET_GENERIC32, TARGET_GENERIC64): Remove.
(TARGET_GENERIC): Use PROCESOR_GENERIC
(enum processor_type): Unify generic32 and 64.
* i386.md (cpu): Likewise.
* x86-tune.def (use_leave): Enable for generic32.
(avoid_vector_decode, slow_imul_imm32_mem, slow_imul_imm8): Likewise.
* athlon.md: Change generic64 to generic in all occurences.
* i386-c.c (ix86_target_macros_internal): Unify generic64 and 32.
(ix86_target_macros_internal): Likewise.
* driver-i386.c (host_detect_local_cpu): Likewise.
* i386.c (generic64_memcpy, generic64_memset, generic64_cost): Rename to ..
(generic_memcpy, generic_memset, generic_cost): This one.
(generic32_memcpy, generic32_memset, generic32_cost): Remove.
(m_GENERIC32, m_GENERIC64): Remove.
(m_GENERIC): Turn into one flag.
(processor_target): Unify generic tunnings.
(ix86_option_override_internal): Replace generic32/64 by generic.
(ix86_issue_rate): Likewise.
(ix86_adjust_cost): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202741 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * cgraph.c (cgraph_create_edge_1): Avoid uninitialized read
hubicka [Thu, 19 Sep 2013 12:20:47 +0000 (12:20 +0000)]
* cgraph.c (cgraph_create_edge_1): Avoid uninitialized read
of speculative flag.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202740 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * omp-low.c (expand_omp_sections): Always pass len - 1 to
jakub [Thu, 19 Sep 2013 11:52:52 +0000 (11:52 +0000)]
* omp-low.c (expand_omp_sections): Always pass len - 1 to
GOMP_sections_start, even if !exit_reachable.
libgomp/
* testsuite/libgomp.c/sections-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202738 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-19 Marc Glisse <marc.glisse@inria.fr>
glisse [Thu, 19 Sep 2013 11:40:29 +0000 (11:40 +0000)]
2013-09-19  Marc Glisse  <marc.glisse@inria.fr>

PR libstdc++/58338
* include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]:
Mark as noexcept.
(_Rb_tree_iterator) [_Rb_tree_iterator, operator*, operator->,
operator++, operator--, operator==, operator!=]: Likewise.
(_Rb_tree_const_iterator) [_Rb_tree_const_iterator, _M_const_cast,
operator*, operator->, operator++, operator--, operator==, operator!=]:
Likewise.
(operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&),
operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)):
Likewise.
(_Rb_tree) [_M_put_node, _M_destroy_node, _M_root, _M_leftmost,
_M_rightmost, _M_begin, _M_end, _S_left, _S_right, _S_minimum,
_S_maximum]: Likewise.
* include/debug/string (basic_string) [basic_string(const _Allocator&),
shrink_to_fit, operator[], pop_back]: Likewise.
* include/ext/vstring.h (__versa_string) [_M_limit, _M_disjunct,
_M_ibegin, _M_iend, __versa_string(const _Alloc&),
operator=(__versa_string&&), shrink_to_fit, operator[], front,
back, assign(__versa_string&&), swap]: Likewise.
(__versa_string) [__versa_string(), __versa_string(const _Alloc&)]:
Merge.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202737 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoAdd myself to MAINTAINERS file as diagnostics maintainer
dodji [Thu, 19 Sep 2013 07:12:13 +0000 (07:12 +0000)]
Add myself to MAINTAINERS file as diagnostics maintainer

* MAINTAINERS (diagnostic messages): Add myself as diagnostics
maintainer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202732 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Thu, 19 Sep 2013 00:17:01 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202731 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agocompiler: Fix name of unexported method of embedded imported type.
ian [Wed, 18 Sep 2013 23:28:00 +0000 (23:28 +0000)]
compiler: Fix name of unexported method of embedded imported type.

Test case is fixedbugs/bug478.go in master testsuite.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202726 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-18 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 18 Sep 2013 22:19:03 +0000 (22:19 +0000)]
2013-09-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57697
        * gfortran.dg/defined_assignment_11.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202725 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agocompiler: Correctly handle identical unnamed structs with methods.
ian [Wed, 18 Sep 2013 21:53:44 +0000 (21:53 +0000)]
compiler: Correctly handle identical unnamed structs with methods.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202723 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-18 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 18 Sep 2013 20:52:01 +0000 (20:52 +0000)]
2013-09-18  Tobias Burnus  <burnus@net-b.de>

        * expr.c (gfc_check_assign_symbol): Free lvalue.ref.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202722 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-18 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Wed, 18 Sep 2013 19:12:16 +0000 (19:12 +0000)]
2013-09-18  Vladimir Makarov  <vmakarov@redhat.com>

* lra-constraints.c (need_for_all_save_p): Use macro
HARD_REGNO_CALL_PART_CLOBBERED.
* lra-lives.c (check_pseudos_live_through_calls): Use the macro to
set up pseudo conflict hard regs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202721 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-18 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Wed, 18 Sep 2013 18:54:06 +0000 (18:54 +0000)]
2013-09-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/58452
* config/rs6000/paired.md (movmisalignv2sf): Fix to allow memory
operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202719 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agocompiler: Fix type of result of shortcut calculation.
ian [Wed, 18 Sep 2013 18:36:21 +0000 (18:36 +0000)]
compiler: Fix type of result of shortcut calculation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202717 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-18 Marc Glisse <marc.glisse@inria.fr>
glisse [Wed, 18 Sep 2013 18:31:01 +0000 (18:31 +0000)]
2013-09-18  Marc Glisse  <marc.glisse@inria.fr>

PR libstdc++/58338
* include/bits/stl_iterator.h (__normal_iterator) [__normal_iterator,
_M_const_cast, operator*, operator->, operator++, operator--,
operator[], operator+=, operator+, operator-=, operator-, base]:
Mark as noexcept.
(operator==(const __normal_iterator&, const __normal_iterator&),
operator!=(const __normal_iterator&, const __normal_iterator&),
operator<(const __normal_iterator&, const __normal_iterator&),
operator>(const __normal_iterator&, const __normal_iterator&),
operator<=(const __normal_iterator&, const __normal_iterator&),
operator>=(const __normal_iterator&, const __normal_iterator&),
operator-(const __normal_iterator&, const __normal_iterator&),
operator+(difference_type, const __normal_iterator&)): Likewise.
* include/bits/stl_list.h (list) [splice, _M_check_equal_allocators]:
Likewise.
(list::_M_check_equal_allocators): Abort instead of throwing.
* include/debug/array (array) [operator[], front, back]: Mark as
noexcept.
* include/profile/array (array) [operator[], front, back]: Likewise.
* include/std/array (array) [operator[], front, back]: Likewise.
* include/debug/list (list::splice): Likewise.
* include/profile/list (list::splice): Likewise.
* testsuite/23_containers/list/operations/5.cc: Remove file.
* testsuite/23_containers/list/operations/5.h: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202716 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoAdd missed testsuite/g++.dg/pr58438.C
vmakarov [Wed, 18 Sep 2013 18:27:49 +0000 (18:27 +0000)]
Add missed testsuite/g++.dg/pr58438.C

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202715 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-18 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Wed, 18 Sep 2013 18:24:49 +0000 (18:24 +0000)]
2013-09-18  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/58438
* lra.c (lra): Clear lra_optional_reload_pseudos in upper loop.
* lra-constraints.c (undo_optional_reloads): Keep optional reloads
from previous subpasses.

2013-09-18  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/58438
* g++.dg/pr58438.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202714 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-15 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 18 Sep 2013 18:14:57 +0000 (18:14 +0000)]
2013-09-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43366
        * primary.c (gfc_variable_attr): Also handle codimension.
        * resolve.c (resolve_ordinary_assign): Add invalid-diagnostic
        * for
        polymorphic assignment.

2013-09-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43366
        * gfortran.dg/class_39.f03: Update dg-error.
        * gfortran.dg/class_5.f03: Ditto.
        * gfortran.dg/class_53.f90: Ditto.
        * gfortran.dg/realloc_on_assign_20.f90: New.
        * gfortran.dg/realloc_on_assign_21.f90: New.
        * gfortran.dg/realloc_on_assign_22.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202713 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago/cp
paolo [Wed, 18 Sep 2013 18:11:46 +0000 (18:11 +0000)]
/cp
2013-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58457
* class.c (instantiate_type): Loosen a bit the gcc_assert.

/testsuite
2013-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58457
* g++.dg/parse/using4.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202711 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-18 Tim Shen <timshen91@gmail.com>
timshen [Wed, 18 Sep 2013 15:56:20 +0000 (15:56 +0000)]
2013-09-18  Tim Shen  <timshen91@gmail.com>

* include/bits/regex.h: Add friend classes.
(match_results<>::position, regex_iterator<>::operator++):
Implement position specification in regex_iterator.
(regex_match<>, regex_search<>):
Move match_results initializations to these function. Remove `todo`.
* include/bits/regex_compiler.tcc:
(_Compiler<>::_M_quantifier): Fix greedy/ungreedy of interval matching.
* include/bits/regex_constants.h:
Fix indentation. Change match_flag_type to enum type.
* include/bits/regex_executor.h:
Merge identical code to the base class _Executor.
Support flags in regex_constants.
* include/bits/regex_executor.tcc: Likewise.
* include/bits/regex_scanner.h: Add comments.
* include/bits/regex_scanner.tcc: Same.
* testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
Add a testcase.
* testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New.
* testsuite/28_regex/iterators/regex_iterator/char/
string_position_01.cc: Remove `xfail`.
* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
Remove `xfail` and make the case really work.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202706 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-18 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 18 Sep 2013 14:49:28 +0000 (14:49 +0000)]
2013-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/performance/25_algorithms/search_n.cc: Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202704 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[gcc/testsuite]
ktkachov [Wed, 18 Sep 2013 14:01:52 +0000 (14:01 +0000)]
[gcc/testsuite]
2013-09-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* gcc.c-torture/execute/pr58419.c (b): Change type to signed char.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202703 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * arm.c (arm_get_frame_offsets): Validate architecture supports
rearnsha [Wed, 18 Sep 2013 13:57:27 +0000 (13:57 +0000)]
* arm.c (arm_get_frame_offsets): Validate architecture supports
LDRD/STRD before accepting the tuning preference.
(arm_expand_prologue): Likewise.
(arm_expand_epilogue): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202702 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-18 Marek Polacek <polacek@redhat.com>
mpolacek [Wed, 18 Sep 2013 13:31:34 +0000 (13:31 +0000)]
2013-09-18  Marek Polacek  <polacek@redhat.com>

PR sanitize/58443
cp/
* typeck.c (cp_build_binary_op): Properly honor -fsanitize options.
Remove unnecessary check.

c/
* c-typeck.c (build_binary_op): Properly honor -fsanitize options.
Remove unnecessary check.

testsuite/
* g++.dg/ubsan/div-by-zero-1.C: Use the integer-divide-by-zero option
instead of the shift option.
* c-c++-common/ubsan/pr58443-1.c: New test.
* c-c++-common/ubsan/pr58443-3.c: New test.
* c-c++-common/ubsan/pr58443-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202701 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-18 Richard Biener <rguenther@suse.de>
rguenth [Wed, 18 Sep 2013 12:31:45 +0000 (12:31 +0000)]
2013-09-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58417
* tree-chrec.c (chrec_fold_plus_1): Assert that we do not
have chrecs with symbols defined in the loop as operands.
(chrec_fold_multiply): Likewise.
* tree-scalar-evolution.c (interpret_rhs_expr): Instantiate
parameters before folding binary operations.
(struct instantiate_cache_entry_hasher): Remove.
(struct instantiate_cache_type): Use a pointer-map.
(instantiate_cache_type::instantiate_cache_type): New function.
(instantiate_cache_type::get): Likewise.
(instantiate_cache_type::set): Likewise.
(instantiate_cache_type::~instantiate_cache_type): Adjust.
(get_instantiated_value_entry): Likewise.
(global_cache): New global.
(instantiate_scev_r, instantiate_scev_poly, instantiate_scev_binary,
instantiate_array_ref, instantiate_scev_convert, instantiate_scev_3,
instantiate_scev_2, instantiate_scev_1): Do not pass along cache.
(instantiate_scev_name): Adjust.
(instantiate_scev): Construct global instead of local cache.
(resolve_mixers): Likewise.

* gcc.dg/torture/pr58417.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202700 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-18 Marc Glisse <marc.glisse@inria.fr>
glisse [Wed, 18 Sep 2013 11:21:51 +0000 (11:21 +0000)]
2013-09-18  Marc Glisse  <marc.glisse@inria.fr>

PR libstdc++/58338
* include/bits/list.tcc (_List_base::_M_clear, list::erase): Mark as
noexcept.
* include/bits/stl_list.h (_List_iterator) [_List_iterator,
_M_const_cast, operator*, operator->, operator++, operator--,
operator==, operator!=]: Likewise.
(_List_const_iterator) [_List_const_iterator, _M_const_cast, operator*,
operator->, operator++, operator--, operator==, operator!=]: Likewise.
(operator==(const _List_iterator&, const _List_const_iterator&),
operator!=(const _List_iterator&, const _List_const_iterator&)):
Likewise.
(_List_impl) [_List_impl(const _Node_alloc_type&),
_List_impl(_Node_alloc_type&&)]: Likewise.
(_List_base) [_M_put_node, _List_base(const _Node_alloc_type&),
_List_base(_List_base&&), _M_clear, _M_init]: Likewise.
(list) [list(), list(const allocator_type&)]: Merge.
(list) [list(const allocator_type&), front, back, pop_front, pop_back,
erase, _M_erase]: Mark as noexcept.
* include/debug/list (list) [list(const _Allocator&), front, back,
pop_front, pop_back, _M_erase, erase]: Likewise.
* include/profile/list (list) [list(const _Allocator&), front, back,
pop_front, pop_back, erase]: Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust line number.
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202699 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-18 Daniel Morris <danielm@ecoscentric.com>
paolo [Wed, 18 Sep 2013 11:06:15 +0000 (11:06 +0000)]
2013-09-18  Daniel Morris  <danielm@ecoscentric.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58458
* doc/implement-cxx.texi: Fix references to the C++ standards.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202696 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR ada/58264
ebotcazou [Wed, 18 Sep 2013 10:51:43 +0000 (10:51 +0000)]
PR ada/58264
* gcc-interface/trans.c (Attribute_to_gnu): Define GNAT_PREFIX local
variable and use it throughout.
<Attr_Length>: Note whether the prefix is the dereference of a pointer
to unconstrained array and, in this case, capture the result for both
Attr_First and Attr_Last.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202694 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[gcc/testsuite/]
ktkachov [Wed, 18 Sep 2013 10:50:49 +0000 (10:50 +0000)]
[gcc/testsuite/]
2013-09-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* g++.dg/debug/dwarf2/omp-fesdr.C: Check for fopenmp effective target.
* gcc.dg/debug/dwarf2/omp-fesdr.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202693 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Abstract_State>: New.
ebotcazou [Wed, 18 Sep 2013 10:35:53 +0000 (10:35 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Abstract_State>: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202690 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/trans.c (gigi): Remove dead code.
ebotcazou [Wed, 18 Sep 2013 10:31:03 +0000 (10:31 +0000)]
* gcc-interface/trans.c (gigi): Remove dead code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202688 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/trans.c (Subprogram_Body_to_gnu): Pop the stack of
ebotcazou [Wed, 18 Sep 2013 10:21:37 +0000 (10:21 +0000)]
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Pop the stack of
return variables for subprograms using the CICO mechanism.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202684 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * omp-low.c (copy_var_decl): Copy DECL_ATTRIBUTES.
jakub [Wed, 18 Sep 2013 10:14:31 +0000 (10:14 +0000)]
* omp-low.c (copy_var_decl): Copy DECL_ATTRIBUTES.
* tree-vect-data-refs.c (vect_analyze_data_refs): For
simd_lane_access drs, update also DR_ALIGNED_TO.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202683 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-18 Marek Polacek <polacek@redhat.com>
mpolacek [Wed, 18 Sep 2013 10:01:40 +0000 (10:01 +0000)]
2013-09-18  Marek Polacek  <polacek@redhat.com>

PR sanitizer/58411
* doc/extend.texi: Document no_sanitize_undefined attribute.
* builtins.c (fold_builtin_0): Don't sanitize function if it has the
no_sanitize_undefined attribute.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202682 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/msp430/msp430.h (ASM_SPEC): Pass -md on to the assembler.
nickc [Wed, 18 Sep 2013 08:05:50 +0000 (08:05 +0000)]
* config/msp430/msp430.h (ASM_SPEC): Pass -md on to the assembler.
(ASM_DECLARE_FUNCTION_NAME): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202681 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * compare-elim.c (find_comparison_dom_walker): New class
law [Wed, 18 Sep 2013 02:39:50 +0000 (02:39 +0000)]
* compare-elim.c (find_comparison_dom_walker): New class
(find_comparisons_in_bb): Rename to
find_comparison_dom_walker::before_dom_children
(find_comparisons): Adjust
* domwalk.c (walk_dominator_tree): Rename to dom_walker::walk, and
adjust.
(init_walk_dominator_tree, fini_walk_dominator_tree): Remove
* domwalk.h (dom_walk_data): Convert it To a class dom_walker.
(init_walk_dominator_tree): Remove declaration.
(fini_walk_dominator_tree): Remove declaration.
* fwprop.c (single_def_use_dom_walker): New class
(single_def_use_enter_block): Convert to
single_def_use_dom_walker::before_dom_children.
(single_def_use_leave_block): Convert to
single_def_use_dom_walker::after_dom_children.
(build_single_def_use_links): Adjust.
* gimple-ssa-strength-reduction.c (find_candidates_dom_walker): New
class.
(find_candidates_in_block): Convert to
find_candidates_dom_walker::before_dom_children.
(execute_strength_reduction): Adjust.
* graphite-sese-to-poly.c (struct bsc, build_sese_conditions): Remove.
(sese_dom_walker): New class.
(sese_dom_walker::sese_dom_walker): New constructor.
(sese_dom_walker::~sese_dom_walker): New destructor.
(build_sese_conditions_before): Convert to
sese_dom_walker::before_dom_children.
(build_sese_conditions_after): Convert to
sese_dom_walker::after_dom_children.
(build_poly_scop): Adjust
* tree-into-ssa.c (rewrite_dom_walker): New class
(rewrite_enter_block): Convert to
rewrite_dom_walker::before_dom_children.
(rewrite_leave_block): Convert to
rewrite_dom_walker::after_dom_children.
(rewrite_update_dom_walker): New class.
(rewrite_update_enter_block): Convert to
rewrite_update_dom_walker::before_dom_children.
(rewrite_update_leave_block): Convert to
rewrite_update_dom_walker::after_dom_children.
(rewrite_blocks, rewrite_into_ssa): Adjust.
(mark_def_dom_walker): New class.
(mark_def_dom_walker::mark_def_dom_walker): New constructor.
(mark_def_dom_walker::~mark_def_dom_walker): New destructor.
(mark_def_sites_blocks): Convert to
mark_def_dom_walker::before_dom_children.
(mark_def_site_blocks): Remove.
* tree-ssa-dom.c (dom_opt_dom_walker): New class.
(tree_ssa_dominator_optimize): Adjust.
(dom_thread_across_edge): Convert to method
dom_opt_dom_walker::thread_across_edge.
(dom_opt_enter_block): Convert to member function
dom_opt_dom_walker::before_dom_children.
(dom_opt_leave_block): Convert to member function
dom_opt_dom_walker::after_dom_children.
* tree-ssa-dse.c (dse_dom_walker): New class.
(dse_enter_block): Convert to member function
dse_dom_walker::before_dom_children.
(tree_ssa_dse): Adjust.
* tree-ssa-loop-im.c (invariantness_dom_walker): New class.
(determine_invariantness_stmt): Convert to method
invariantness_dom_walker::before_dom_children.
(determine_invariantness): Remove
(move_computations_dom_walker): New class.
(move_computations_stmt): Convert to method
move_computations_dom_walker::before_dom_children.
(move_computations, tree_ssa_lim): Adjust.
* tree-ssa-phiopt.c (nontrapping_dom_walker): new class
(nt_init_block): Make method
notrappping_dom_walker::before_dom_children.
(nt_fini_block): Make
method nontrapping_dom_walker::after_dom_children.
(get_non_trapping): Adjust.
* tree-ssa-pre.c (eliminate_dom_walker): New class.
(eliminate_bb): Make method eliminate_dom_walker::before_dom_children.
(eliminate_leave_block): Make method.
eliminate_dom_walker::after_dom_children.
(eliminate): Adjust
* tree-ssa-strlen.c (strlen_dom_walker): New class.
(strlen_enter_block): Make method
strlen_dom_walker::before_dom_children.
(strlen_leave_block): Make
method strlen_dom_walker::after_dom_children.
(tree_ssa_strlen): Adjust.
* tree-ssa-uncprop.c (uncprop_dom_walker): New class.
(tree_ssa_uncprop): Adjust.
(uncprop_leave_block): Make method
uncprop_dom_walker::after_dom_children.
(uncprop_leave_block): Make method
uncprop_dom_walker::before_dom_children.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202679 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/arm/arm.c (thumb1_reorg): Search for flag setting insn
amker [Wed, 18 Sep 2013 02:01:07 +0000 (02:01 +0000)]
* config/arm/arm.c (thumb1_reorg): Search for flag setting insn
before branch in same basic block.  Check both src and dest of
the move insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202678 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago* config/rl78/rl78-real.md (bf): New pattern.
dj [Wed, 18 Sep 2013 00:58:18 +0000 (00:58 +0000)]
* config/rl78/rl78-real.md (bf): New pattern.
(bt): New pattern.
* config/rl78/rl78.c (rl78_print_operand_1): Handle %B.
(rl78_print_operand): Do not put a # before a %B.
* config/rl78/rl78.opt: Tweak doc strings.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202676 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Wed, 18 Sep 2013 00:16:54 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202675 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoreflect: Fix bug calling method on indirect value.
ian [Tue, 17 Sep 2013 22:11:43 +0000 (22:11 +0000)]
reflect: Fix bug calling method on indirect value.

The gccgo-specific iword function was checking v.kind, but for
a method value that is always Func.  Fix to check v.typ.Kind()
instead.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202670 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago* config/rl78/constraints.md (Wcv): Allow up to $r31.
dj [Tue, 17 Sep 2013 22:06:53 +0000 (22:06 +0000)]
* config/rl78/constraints.md (Wcv): Allow up to $r31.
* config/rl78/rl78.c (rl78_asm_file_start: Likewise.
(rl78_option_override): Likewise, if -mallregs.
(is_virtual_register): Likewise.
* config/rl78/rl78.h (reg_class): Extend VREGS to $r31.
(REGNO_OK_FOR_BASE_P): Likewise.
* config/rl78/rl78.opt (-mallregs): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202669 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago* config/rl78/rl78.c (need_to_save): Change return type to bool.
dj [Tue, 17 Sep 2013 21:10:38 +0000 (21:10 +0000)]
* config/rl78/rl78.c (need_to_save): Change return type to bool.
For interrupt functions: save all call clobbered registers if the
interrupt handler is not a leaf function.
(rl78_expand_prologue): Always recompute the frame information.
For interrupt functions: only select bank 0 if one of the bank 0
registers is going to be psuhed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202667 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago* config/rl78/constraints.md: For each W* constraint, rename to C*
dj [Tue, 17 Sep 2013 21:00:59 +0000 (21:00 +0000)]
* config/rl78/constraints.md: For each W* constraint, rename to C*
and create a W* constraint that checks for an optional ES: prefix
pattern also.
* config/rl78/rl78.md (UNS_ES_ADDR): New.
(es_addr): New.  Used to wrap far addresses.
* config/rl78/rl78-protos.h (rl78_es_addr): New.
(rl78_es_base): New.
* config/rl78/rl78.c (rl78_as_legitimate_address): Accept "unspec"
wrapped far addresses.
(rl78_print_operand_1): Unwrap far addresses before processing.
(rl78_lo16): Wrap far addresses in unspecs.
(rl78_es_addr): New.
(rl78_es_base): New.
(insn_ok_now): Check for not-yet-wrapped far addresses.
(transcode_memory_rtx): Properly re-wrap far addresses.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202666 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-17 Sebastian Huber <sebastian.huber@embedded-brains.de>
joel [Tue, 17 Sep 2013 18:23:00 +0000 (18:23 +0000)]
2013-09-17  Sebastian Huber  <sebastian.huber@embedded-brains.de>

* config/sparc/t-rtems: Add leon3 multilibs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202664 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-09-17 Cong Hou <congh@google.com>
congh [Tue, 17 Sep 2013 18:20:08 +0000 (18:20 +0000)]
2013-09-17  Cong Hou  <congh@google.com>

    * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Fix a bug
      when checking the dot production pattern. The type of rhs operand
      of multiply is now checked correctly.

    * gcc.dg/vect/vect-reduc-dot-s16c.c: Add a test case with dot product
      on two arrays with short and int types. This should not be recognized
      as a dot product pattern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202663 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago/cp
paolo [Tue, 17 Sep 2013 17:46:03 +0000 (17:46 +0000)]
/cp
2013-09-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58435
* pt.c (tsubst, [BOUND_TEMPLATE_TEMPLATE_PARM]): Take into account
the cp_type_quals (r) too.

/testsuite
2013-09-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58435
* g++.dg/cpp0x/alias-decl-38.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202662 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR middle-end/58332
hubicka [Tue, 17 Sep 2013 17:45:00 +0000 (17:45 +0000)]
PR middle-end/58332
* gcc.c-torture/compile/pr58332.c: New testcase.
* cif-code.def (FUNCTION_NOT_OPTIMIZED): New CIF code.
* ipa-inline.c (can_inline_edge_p): Do not downgrade
FUNCTION_NOT_OPTIMIZED.
* ipa-inline-analysis.c (compute_inline_parameters): Function
not optimized is not inlinable unless it is alwaysinline.
(inline_analyze_function): Force calls in not optimized
function not inlinable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202661 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc.c-torture/execute/pr58387.c: New test.
law [Tue, 17 Sep 2013 17:27:41 +0000 (17:27 +0000)]
* gcc.c-torture/execute/pr58387.c: New test.

* tree-ssa-dom.c (cprop_into_successor_phis): Also propagate
edge implied equivalences into successor phis.
* tree-ssa-threadupdate.c (phi_args_equal_on_edges): Moved into
here from tree-ssa-threadedge.c.
(mark_threaded_blocks): When threading through a joiner, if both
successors of the joiner's clone reach the same block, verify the
PHI arguments are equal.  If not, cancel the jump threading request.
* tree-ssa-threadedge.c (phi_args_equal_on_edges): Moved into
tree-ssa-threadupdate.c
(thread_across_edge): Don't check PHI argument equality when
threading through joiner block here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202660 138bc75d-0d04-0410-961f-82ee72b054a4