gcc.git
10 years agore PR libstdc++/61728 (lost symbol FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointe...
Jason Merrill [Wed, 9 Jul 2014 22:21:49 +0000 (18:21 -0400)]
re PR libstdc++/61728 (lost symbol FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3)

PR libstdc++/61728
* libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
* libsupc++/tinfo.h: Not here.

From-SVN: r212413

10 years agoDR 1584 PR c++/57466
Paolo Carlini [Wed, 9 Jul 2014 21:23:06 +0000 (21:23 +0000)]
DR 1584 PR c++/57466

/cp
2014-07-09  Paolo Carlini  <paolo.carlini@oracle.com>

DR 1584
PR c++/57466
* pt.c (check_cv_quals_for_unify): Implement resolution, disregard
cv-qualifiers of function types.

/testsuite
2014-07-09  Paolo Carlini  <paolo.carlini@oracle.com>

DR 1584
PR c++/57466
* g++.dg/template/pr57466.C: New.
* g++.dg/cpp0x/pr57466.C: Likewise.
* g++.dg/template/unify6.C: Update.

From-SVN: r212410

10 years agoEnable fuse-caller-save on self-recursive functions
Tom de Vries [Wed, 9 Jul 2014 21:03:44 +0000 (21:03 +0000)]
Enable fuse-caller-save on self-recursive functions

2014-07-09  Tom de Vries  <tom@codesourcery.com>

* final.c (get_call_fndecl): Declare.
(self_recursive_call_p): New function.
(collect_fn_hard_reg_usage): Handle self-recursive function calls.

* gcc.target/i386/fuse-caller-save-rec.c: New test.

From-SVN: r212409

10 years agolibgfortran.h (support_fpu_underflow_control, [...]): New prototypes.
Francois-Xavier Coudert [Wed, 9 Jul 2014 20:32:12 +0000 (20:32 +0000)]
libgfortran.h (support_fpu_underflow_control, [...]): New prototypes.

* libgfortran.h (support_fpu_underflow_control,
        get_fpu_underflow_mode, set_fpu_underflow_mode): New prototypes.
* config/fpu-*.h (support_fpu_underflow_control,
get_fpu_underflow_mode, set_fpu_underflow_mode):
New functions.
* ieee/ieee_arithmetic.F90: Support underflow control.

* gfortran.dg/ieee/underflow_1.f90: New file.

From-SVN: r212407

10 years ago* ipa-devirt.c (record_node): Walk through aliases.
Jan Hubicka [Wed, 9 Jul 2014 20:00:25 +0000 (22:00 +0200)]
* ipa-devirt.c (record_node): Walk through aliases.

From-SVN: r212406

10 years ago* lto-streamer-out.c (hash_scc): Avoid quadratic hashing loop.
Jan Hubicka [Wed, 9 Jul 2014 19:09:50 +0000 (21:09 +0200)]
* lto-streamer-out.c (hash_scc): Avoid quadratic hashing loop.

From-SVN: r212404

10 years agore PR c/61741 (wrong code with -fno-strict-overflow)
Richard Biener [Wed, 9 Jul 2014 17:14:11 +0000 (17:14 +0000)]
re PR c/61741 (wrong code with -fno-strict-overflow)

2014-07-09  Richard Biener  <rguenther@suse.de>

PR c-family/61741
* c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
using unsigned arithmetic if overflow does not wrap instead of
if overflow is undefined.

* c-c++-common/torture/pr61741.c: New testcase.

From-SVN: r212400

10 years ago* lib/target-supports.exp
Pat Haugen [Wed, 9 Jul 2014 16:26:00 +0000 (16:26 +0000)]
* lib/target-supports.exp
(check_effective_target_logical_op_short_circuit): Add powerpc*-*-*.

From-SVN: r212398

10 years agorevert: stor-layout.c (finish_builtin_struct): Copy fields into the variants.
Jan Hubicka [Wed, 9 Jul 2014 16:11:53 +0000 (18:11 +0200)]
revert: stor-layout.c (finish_builtin_struct): Copy fields into the variants.

Revert:
* stor-layout.c (finish_builtin_struct): Copy fields into the variants.

From-SVN: r212397

10 years agoipa-visibility.c (function_and_variable_visibility): Remove temporary hack disabling...
Jan Hubicka [Wed, 9 Jul 2014 16:06:17 +0000 (18:06 +0200)]
ipa-visibility.c (function_and_variable_visibility): Remove temporary hack disabling local aliases on AIX.

* ipa-visibility.c (function_and_variable_visibility): Remove
temporary hack disabling local aliases on AIX.

From-SVN: r212396

10 years agoipa-cp.c (devirtualization_time_bonus): Walk through aliases.
Jan Hubicka [Wed, 9 Jul 2014 16:03:14 +0000 (18:03 +0200)]
ipa-cp.c (devirtualization_time_bonus): Walk through aliases.

* ipa-cp.c (devirtualization_time_bonus): Walk through aliases.
* ipa-inline-analysis.c (estimate_edge_devirt_benefit): Likewise.

From-SVN: r212395

10 years agors6000-protos.h (rs6000_xcoff_declare_object_name): Declare.
Jan Hubicka [Wed, 9 Jul 2014 15:56:40 +0000 (17:56 +0200)]
rs6000-protos.h (rs6000_xcoff_declare_object_name): Declare.

* rs6000/rs6000-protos.h (rs6000_xcoff_declare_object_name): Declare.
* rs6000/rs6000.c: Inline output of .set instruction.
(declare_alias_data): New struct.
(rs6000_declare_alias): New function.
(rs6000_xcoff_declare_function_name): Use it.
(rs6000_xcoff_declare_object_name): New function.
* config/rs6000/xcoff.h: Define ASM_DECLARE_OBJECT_NAME.
(ASM_OUTPUT_DEF): Turn to empty definition.

From-SVN: r212394

10 years agoPR c++/58155 - -Wliteral-suffix warns about tokens which are skipped
Edward Smith-Rowland [Wed, 9 Jul 2014 13:33:58 +0000 (13:33 +0000)]
PR c++/58155 - -Wliteral-suffix warns about tokens which are skipped

libcpp/

2014-07-09  Edward Smith-Rowland  <3dw4rd@verizon.net>

PR c++/58155 - -Wliteral-suffix warns about tokens which are skipped
by preprocessor
* lex.c (lex_raw_string ()): Do not warn about invalid suffix
if skipping. (lex_string ()): Ditto.

gcc/testsuite/

2014-07-09  Edward Smith-Rowland  <3dw4rd@verizon.net>

PR c++/58155 - -Wliteral-suffix warns about tokens which are skipped
g++.dg/cpp0x/pr58155.C: New.

From-SVN: r212392

10 years agojava: Use build_qualified_type instead of build_type_variant.
Mark Wielaard [Wed, 9 Jul 2014 10:56:39 +0000 (10:56 +0000)]
java: Use build_qualified_type instead of build_type_variant.

gcc/java/ChangeLog

* builtins.c (putVolatile_builtin): Use build_qualified_type
instead of build_type_variant.
(getVolatile_builtin): Likewise.
(build_classdollar_field): Likewise.

From-SVN: r212389

10 years agoAvoid using create_tmp_var for static decls.
Bernd Schmidt [Wed, 9 Jul 2014 10:34:40 +0000 (10:34 +0000)]
Avoid using create_tmp_var for static decls.

* trans-array.c (gfc_build_constant_array_constructor): Build a
static decl manually.
* trans-decl.c (create_main_function): Likewise.

From-SVN: r212388

10 years agore PR testsuite/61453 (gfortran.dg/bind_c_array_params_2.f90 for targets where a...
Dominique d'Humieres [Wed, 9 Jul 2014 09:01:06 +0000 (11:01 +0200)]
re PR testsuite/61453 (gfortran.dg/bind_c_array_params_2.f90 for targets where a call insn isn't "call")

2014-07-09  Dominique d'Humieres <dominiq@lps.ens.fr>

PR testsuite/61453
* gfortran.dg/gfortran.dg/bind_c_array_params_2.f90:
Adjust regexp for more targets.

From-SVN: r212387

10 years agore PR c++/59361 (cannot expand parenthesized pack expression)
Andrew Sutton [Wed, 9 Jul 2014 08:32:43 +0000 (08:32 +0000)]
re PR c++/59361 (cannot expand parenthesized pack expression)

/cp
2014-07-09  Andrew Sutton  <andrew.n.sutton@gmail.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59361
* parser.c (cp_parser_tokens_start_cast_expression): Return 0 for
CPP_ELLIPSIS too.

/testsuite
2014-07-09  Andrew Sutton  <andrew.n.sutton@gmail.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59361
* g++.dg/cpp0x/vt-59361.C: New.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r212386

10 years agoplaycate old gcc
Trevor Saunders [Wed, 9 Jul 2014 03:07:09 +0000 (03:07 +0000)]
playcate old gcc

gcc/

PR bootstrap/61679
 * hash-table.h: use hash_table::value_type instead of
        Descriptor::value_type in the return types of several methods.

From-SVN: r212384

10 years agoremove has_execute
Trevor Saunders [Wed, 9 Jul 2014 03:06:49 +0000 (03:06 +0000)]
remove has_execute

gcc/

* tree-pass.h (pass_data): Remove has_execute member.
* passes.c (execute_one_pass): Don't check pass->has_execute.
* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
gimple-low.c, gimple-ssa-isolate-paths.c,
gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
ipa-comdats.c, ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c,
ipa-inline.c, ipa-profile.c, ipa-pure-const.c, ipa-reference.c,
ipa-split.c, ipa-visibility.c, ipa.c, ira.c, jump.c, loop-init.c,
lower-subreg.c, mode-switching.c, modulo-sched.c, omp-low.c, passes.c,
postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
reg-stack.c, regcprop.c, reginfo.c, regrename.c, reorg.c, sched-rgn.c,
stack-ptr-mod.c, store-motion.c, tracer.c, trans-mem.c,
tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c, tree-complex.c,
tree-eh.c, tree-emutls.c, tree-if-conv.c, tree-into-ssa.c,
tree-loop-distribution.c, tree-nrv.c, tree-object-size.c,
tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c,
web.c: Remove initializer for pass_data::has_execute.

From-SVN: r212383

10 years agoconvert some hash_table to hash_map
Trevor Saunders [Wed, 9 Jul 2014 03:06:09 +0000 (03:06 +0000)]
convert some hash_table to hash_map

gcc/

* graphite-htab.h: Use hash_map instead of hash_table.
* graphite-clast-to-gimple.c: Adjust.
* passes.c: Use hash_map instead of hash_table.
* sese.c: Likewise.
* sese.h: Remove now unused code.

From-SVN: r212382

10 years agoFix pr60226.c on darwin.
Mike Stump [Wed, 9 Jul 2014 01:02:31 +0000 (01:02 +0000)]
Fix pr60226.c on darwin.

From-SVN: r212381

10 years agore PR target/61599 ([x86_64] With -mcmodel=medium, extern global arrays without size...
Sriraman Tallam [Wed, 9 Jul 2014 00:50:25 +0000 (00:50 +0000)]
re PR target/61599 ([x86_64] With -mcmodel=medium, extern global arrays without size are not treated conservatively.)

2014-07-08  Sriraman Tallam  <tmsriram@google.com>

PR target/61599
* config/i386/i386.c (ix86_in_large_data_p): Check for size less
than zero.

PR target/61599
* gcc.target/i386/pr61599-1.c: New test.
* gcc.target/i386/pr61599-2.c: New test.

From-SVN: r212380

10 years agoDaily bump.
GCC Administrator [Wed, 9 Jul 2014 00:17:14 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r212379

10 years agore PR go/61308 (gccgo: ICE in Expression::check_bounds [GoSmith])
Ian Lance Taylor [Tue, 8 Jul 2014 21:28:17 +0000 (21:28 +0000)]
re PR go/61308 (gccgo: ICE in Expression::check_bounds [GoSmith])

PR go/61308

compiler: Convert array start index before bounds checking.

From-SVN: r212372

10 years agore PR go/61746 (A line starting with /*// causes an error even if the /* is closed...
Ian Lance Taylor [Tue, 8 Jul 2014 20:49:38 +0000 (20:49 +0000)]
re PR go/61746 (A line starting with /*// causes an error even if the /* is closed on the next line)

PR go/61746
compiler: Fix C-style comment parsing.

The compiler was incorrectly seeing /*/ as a complete C-style
comment.

From-SVN: r212370

10 years agore PR rtl-optimization/61673 (Miscompilation of _gnutls_hostname_compare on s390)
Jakub Jelinek [Tue, 8 Jul 2014 15:39:36 +0000 (17:39 +0200)]
re PR rtl-optimization/61673 (Miscompilation of _gnutls_hostname_compare on s390)

PR rtl-optimization/61673
* combine.c (simplify_comparison): Test just mode's sign bit
in tmode rather than the sign bit and any bits above it.

* gcc.c-torture/execute/pr61673.c: New test.

From-SVN: r212364

10 years agographite-isl-ast-to-gimple.c (generate_isl_context): Add __isl_give to the declaration.
Roman Gareev [Tue, 8 Jul 2014 13:51:26 +0000 (13:51 +0000)]
graphite-isl-ast-to-gimple.c (generate_isl_context): Add __isl_give to the declaration.

gcc/
* graphite-isl-ast-to-gimple.c (generate_isl_context):
Add __isl_give to the declaration.
(generate_isl_schedule): Likewise.
(scop_to_isl_ast): Likewise.

From-SVN: r212361

10 years agoallocated_ptr.h (__allocated_ptr::operator=): Add missing return.
Jonathan Wakely [Tue, 8 Jul 2014 13:22:14 +0000 (14:22 +0100)]
allocated_ptr.h (__allocated_ptr::operator=): Add missing return.

* include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
missing return.
* include/experimental/any: Remove unused header.
* include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
* testsuite/util/testsuite_regex.h: Move include guard.

From-SVN: r212360

10 years ago[ARM] Cortex-A5 rtx costs table
Kyrylo Tkachov [Tue, 8 Jul 2014 13:17:13 +0000 (13:17 +0000)]
[ARM] Cortex-A5 rtx costs table

* config/arm/arm.c (cortexa5_extra_costs): New table.
(arm_cortex_a5_tune): Use cortexa5_extra_costs.

From-SVN: r212358

10 years agore PR middle-end/61725 (__builtin_ffs(0) leads to wrong code generation)
Jakub Jelinek [Tue, 8 Jul 2014 09:39:57 +0000 (11:39 +0200)]
re PR middle-end/61725 (__builtin_ffs(0) leads to wrong code generation)

PR tree-optimization/61725
* tree-vrp.c (extract_range_basic): Don't assume vr0 is unsigned
range, use range_includes_zerop_p instead of integer_zerop on
vr0->min, only use log2 of max if min is not negative.

* gcc.dg/tree-ssa/vrp93.c: New test.
* gcc.c-torture/execute/pr61725.c: New test.

From-SVN: r212353

10 years agotree-ssa-dom.h (loop_depth_of_name): Remove.
Richard Biener [Tue, 8 Jul 2014 09:22:54 +0000 (09:22 +0000)]
tree-ssa-dom.h (loop_depth_of_name): Remove.

2014-07-08  Richard Biener  <rguenther@suse.de>

* tree-ssa-dom.h (loop_depth_of_name): Remove.
* tree-ssa-dom.c (record_equivalences_from_phis): Remove
restriction on loop depth difference.
(record_equality): Likewise.
(propagate_rhs_into_lhs): Likewise.  Simplify condition.
(loop_depth_of_name): Remove.
* tree-ssa-copy.c (copy_prop_visit_phi_node): Remove
restriction on loop depth difference.
(init_copy_prop): Likewise.

* gcc.dg/tree-ssa/ssa-pre-16.c: Adjust expected eliminations.

From-SVN: r212352

10 years agotree-ssa-alias.c (walk_aliased_vdefs_1): Add FUNCTION_ENTRY_REACHED parameter.
Jan Hubicka [Tue, 8 Jul 2014 09:12:56 +0000 (11:12 +0200)]
tree-ssa-alias.c (walk_aliased_vdefs_1): Add FUNCTION_ENTRY_REACHED parameter.

* tree-ssa-alias.c (walk_aliased_vdefs_1): Add FUNCTION_ENTRY_REACHED
parameter.
(walk_aliased_vdefs): Likewise.
* tree-ssa-alias.h (walk_aliased_vdefs): Likewise.
* ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers
(detect_type_change_from_memory_writes): Check if entry was reached.

From-SVN: r212351

10 years agoUse FP_RN etc. unconditionally
Rainer Orth [Tue, 8 Jul 2014 09:08:49 +0000 (09:08 +0000)]
Use FP_RN etc. unconditionally

* config/fpu-sysv.h (get_fpu_rounding_mode): Use FP_RN, FP_RP,
FP_RM, FP_RZ unconditionally.
(set_fpu_rounding_mode): Likewise.

From-SVN: r212350

10 years agore PR tree-optimization/61681 (wrong code at -Os and above on x86_64-linux-gnu)
Richard Biener [Tue, 8 Jul 2014 09:04:29 +0000 (09:04 +0000)]
re PR tree-optimization/61681 (wrong code at -Os and above on x86_64-linux-gnu)

2014-07-08  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61681
* tree-ssa-structalias.c (find_what_var_points_to): Expand
NONLOCAL inside ESCAPED.

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

From-SVN: r212349

10 years agore PR tree-optimization/61680 (vectorization gives wrong answer for sandybridge target)
Richard Biener [Tue, 8 Jul 2014 08:59:17 +0000 (08:59 +0000)]
re PR tree-optimization/61680 (vectorization gives wrong answer for sandybridge target)

2014-07-08  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61680
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
Handle properly all read-write dependences with group accesses.

* gcc.dg/vect/pr61680.c: New testcase.

From-SVN: r212348

10 years agore PR tree-optimization/61576 (wrong code at -O3 on x86_64-linux-gnu)
Yuri Rumyantsev [Tue, 8 Jul 2014 07:52:12 +0000 (07:52 +0000)]
re PR tree-optimization/61576 (wrong code at -O3 on x86_64-linux-gnu)

PR tree-optimization/61576

gcc/
* tree-if-conv.c (is_cond_scalar_reduction): Add check that
basic block containing reduction statement is predecessor
of phi basi block.

gcc/testsuite/
* gcc.dg/torture/pr61576.c: New test.

From-SVN: r212347

10 years agore PR middle-end/60226 (ICE initializing array of elements with too large alignment)
Marek Polacek [Tue, 8 Jul 2014 05:38:12 +0000 (05:38 +0000)]
re PR middle-end/60226 (ICE initializing array of elements with too large alignment)

PR c/60226
* fold-const.c (round_up_loc): Change the parameter type.
Remove assert.
* fold-const.h (round_up_loc): Adjust declaration.
* stor-layout.c (finalize_record_size): Check for too large types.

* c-c++-common/pr60226.c: New test.

From-SVN: r212346

10 years agoDaily bump.
GCC Administrator [Tue, 8 Jul 2014 00:16:48 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r212345

10 years agore PR fortran/61459 (segfault when assigning to allocatable function result from...
Paul Thomas [Mon, 7 Jul 2014 20:04:05 +0000 (20:04 +0000)]
re PR fortran/61459 (segfault when assigning to allocatable function result from matmul result)

2014-07-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/61459
PR fortran/58883
* trans-expr.c (fcncall_realloc_result): Use the natural type
for the address expression of 'res_desc'.

2014-07-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/61459
PR fortran/58883
* gfortran.dg/allocatable_function_8.f90 : New test

From-SVN: r212339

10 years agosymtab.c: Include calls.h
Jan Hubicka [Mon, 7 Jul 2014 19:53:36 +0000 (21:53 +0200)]
symtab.c: Include calls.h

* symtab.c: Include calls.h
(symtab_nonoverwritable_alias_1): Check sanity of the local
alias.

From-SVN: r212337

10 years agors6000.c (output_vec_const_move): Handle little-endian code generation.
Maciej W. Rozycki [Mon, 7 Jul 2014 15:48:23 +0000 (15:48 +0000)]
rs6000.c (output_vec_const_move): Handle little-endian code generation.

gcc/
* config/rs6000/rs6000.c (output_vec_const_move): Handle
little-endian code generation.
* config/rs6000/spe.md (spe_evmergehi): Rename to...
(vec_perm00_v2si): ... this.  Handle little-endian code
generation.
(spe_evmergehilo): Rename to...
(vec_perm01_v2si): ... this.  Handle little-endian code
generation.
(spe_evmergelo): Rename to...
(vec_perm11_v2si): ... this.  Handle little-endian code
generation.
(spe_evmergelohi): Rename to...
(vec_perm10_v2si): ... this.  Handle little-endian code
generation.
(spe_evmergehi, spe_evmergehilo): New expanders.
(spe_evmergelo, spe_evmergelohi): Likewise.
(*frob_<SPE64:mode>_<DITI:mode>): Handle little-endian code
generation.
(*frob_tf_ti): Likewise.
(*frob_<mode>_di_2): Likewise.
(*frob_tf_di_8_2): Likewise.
(*frob_di_<mode>): Likewise.
(*frob_ti_tf): Likewise.
(*frob_<DITI:mode>_<SPE64:mode>_2): Likewise.
(*frob_ti_<mode>_8_2): Likewise.
(*frob_ti_tf_2): Likewise.
(mov_si<mode>_e500_subreg0): Rename to...
(mov_si<mode>_e500_subreg0_be): ... this.  Restrict to the big
endianness only.
(*mov_si<mode>_e500_subreg0_le): New instruction pattern.
(*mov_si<mode>_e500_subreg0_elf_low): Rename to...
(*mov_si<mode>_e500_subreg0_elf_low_be): ... this.  Restrict to
the big endianness only.
(*mov_si<mode>_e500_subreg0_elf_low_le): New instruction pattern.
(*mov_si<mode>_e500_subreg0_2): Rename to...
(*mov_si<mode>_e500_subreg0_2_be): ... this.  Restrict to the
big big endianness only.
(*mov_si<mode>_e500_subreg0_2_le): New instruction pattern.
(*mov_si<mode>_e500_subreg4): Rename to...
(*mov_si<mode>_e500_subreg4_be): ... this.  Restrict to the big
endianness only.
(mov_si<mode>_e500_subreg4_le): New instruction pattern.
(*mov_si<mode>_e500_subreg4_elf_low): Rename to...
(*mov_si<mode>_e500_subreg4_elf_low_be): ... this.  Restrict to
the big endianness only.
(*mov_si<mode>_e500_subreg4_elf_low_le): New instruction/splitter
pattern.
(*mov_si<mode>_e500_subreg4_2): Rename to...
(*mov_si<mode>_e500_subreg4_2_be): ... this.  Restrict to the big
endianness only.
(*mov_si<mode>_e500_subreg4_2_le): New instruction pattern.
(*mov_sitf_e500_subreg8): Rename to...
(*mov_sitf_e500_subreg8_be): ... this.  Restrict to the big
endianness only.
(*mov_sitf_e500_subreg8_le): New instruction pattern.
(*mov_sitf_e500_subreg8_2): Rename to...
(*mov_sitf_e500_subreg8_2_be): ... this.  Restrict to the big
endianness only.
(*mov_sitf_e500_subreg8_2_le): New instruction pattern.
(*mov_sitf_e500_subreg12): Rename to...
(*mov_sitf_e500_subreg12_be): ... this.  Restrict to the big
endianness only.
(*mov_sitf_e500_subreg12_le): New instruction pattern.
(*mov_sitf_e500_subreg12_2): Rename to...
(*mov_sitf_e500_subreg12_2_be): ... this.  Restrict to the big
endianness only.
(*mov_sitf_e500_subreg12_2_le): New instruction pattern.

gcc/testsuite/
* gcc.target/powerpc/spe-evmerge.c: New file.

From-SVN: r212335

10 years agoCorrect date in last ChangeLog entry.
Maciej W. Rozycki [Mon, 7 Jul 2014 15:42:33 +0000 (15:42 +0000)]
Correct date in last ChangeLog entry.

From-SVN: r212334

10 years agoclass.c (check_for_override): Wrap the 'final' and 'override' keywords in %< and %>.
Paolo Carlini [Mon, 7 Jul 2014 15:29:01 +0000 (15:29 +0000)]
class.c (check_for_override): Wrap the 'final' and 'override' keywords in %< and %>.

/cp
2014-07-07  Paolo Carlini  <paolo.carlini@oracle.com>

* class.c (check_for_override): Wrap the 'final' and 'override'
keywords in %< and %>.

/testsuite
2014-07-07  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/override1.C: Tweak expected error messages.

From-SVN: r212333

10 years agoDo not instrument first byte in strlen if already instrumented.
Max Ostapenko [Mon, 7 Jul 2014 14:31:18 +0000 (17:31 +0300)]
Do not instrument first byte in strlen if already instrumented.

gcc/
* asan.c (instrument_strlen_call): Do not instrument first byte in strlen
if already instrumented.

gcc/testsuite/
* c-c++-common/asan/no-redundant-instrumentation-9.c: New test.

From-SVN: r212332

10 years agore PR c++/58898 (Adding default template argument to class template with "most vexing...
Paolo Carlini [Mon, 7 Jul 2014 14:17:17 +0000 (14:17 +0000)]
re PR c++/58898 (Adding default template argument to class template with "most vexing parse" causes compile error)

2014-07-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58898
* g++.dg/parse/pr58898.C: New.

From-SVN: r212331

10 years agolist_read_12.f90: Delete the file.
Dominique d'Humieres [Mon, 7 Jul 2014 14:11:42 +0000 (16:11 +0200)]
list_read_12.f90: Delete the file.

2014-07-07  Dominique d'Humieres <dominiq@lps.ens.fr>

* gfortran.dg/list_read_12.f90: Delete the file.
* gfortran.dg/vect/vect.exp: Use gfortran-dg-runtest instead
of dg-runtest.

From-SVN: r212330

10 years ago* libgfortran.h: Assume __GNUC__.
Francois-Xavier Coudert [Mon, 7 Jul 2014 11:59:27 +0000 (11:59 +0000)]
* libgfortran.h: Assume __GNUC__.

From-SVN: r212328

10 years agostop.c: Use C11 _Noreturn.
Francois-Xavier Coudert [Mon, 7 Jul 2014 09:13:48 +0000 (09:13 +0000)]
stop.c: Use C11 _Noreturn.

* runtime/stop.c: Use C11 _Noreturn.
* libgfortran.h: Use C11 _Noreturn in prototypes.
Move REALPART, IMAGPART and COMPLEX_ASSIGN macros...
* intrinsics/c99_functions.c: ... here.

From-SVN: r212327

10 years ago[ARM] Remove deprecated mwords-little-endian.
Kyrylo Tkachov [Mon, 7 Jul 2014 09:13:32 +0000 (09:13 +0000)]
[ARM] Remove deprecated mwords-little-endian.

* config/arm/arm.opt (mwords-little-endian): Delete.
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Remove handling
of TARGET_LITTLE_WORDS.
(WORDS_BIG_ENDIAN): Define to BYTES_BIG_ENDIAN.
* config/arm/arm.c (arm_option_override): Remove TARGET_LITTLE_WORDS
warning.
* doc/invoke.texi: Remove references to -mwords-little-endian.

From-SVN: r212326

10 years agoexpmed.c (struct init_expmed_rtl): Change all fields but pow2 and cint from struct...
Jakub Jelinek [Mon, 7 Jul 2014 08:42:49 +0000 (10:42 +0200)]
expmed.c (struct init_expmed_rtl): Change all fields but pow2 and cint from struct rtx_def to rtx.

* expmed.c (struct init_expmed_rtl): Change all fields but
pow2 and cint from struct rtx_def to rtx.
(init_expmed_one_conv, init_expmed_one_mode): Adjust for that change.
(init_expmed): Likewise.  Allocate all the 18 rtxes and ggc_free them
at the end again.

From-SVN: r212325

10 years agofpu-387.h, [...]: Use static assertions.
Francois-Xavier Coudert [Mon, 7 Jul 2014 07:47:41 +0000 (07:47 +0000)]
fpu-387.h, [...]: Use static assertions.

* config/fpu-387.h, config/fpu-aix.h, config/fpu-sysv.h,
config/fpu-glibc.h: Use static assertions.

From-SVN: r212323

10 years agore PR libfortran/61640 (KIND=4 Character Array Internal Unit Read Fail)
Jerry DeLisle [Mon, 7 Jul 2014 04:22:29 +0000 (04:22 +0000)]
re PR libfortran/61640 (KIND=4 Character Array Internal Unit Read Fail)

2014-07-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/61640
* gfortran.dg/arrayio_16.f90: New test.

From-SVN: r212322

10 years agoDaily bump.
GCC Administrator [Mon, 7 Jul 2014 00:17:40 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r212318

10 years ago* gfortran.texi (Fortran 2003 status): Fix grammar.
Gerald Pfeifer [Sun, 6 Jul 2014 22:17:21 +0000 (22:17 +0000)]
* gfortran.texi (Fortran 2003 status): Fix grammar.

From-SVN: r212315

10 years ago* ChangeLog: Fix whitespace.
Uros Bizjak [Sun, 6 Jul 2014 20:32:26 +0000 (22:32 +0200)]
* ChangeLog: Fix whitespace.

From-SVN: r212314

10 years agoimm-devirt-1.C: Fix regexp in dg-final.
Marek Polacek [Sun, 6 Jul 2014 19:26:06 +0000 (19:26 +0000)]
imm-devirt-1.C: Fix regexp in dg-final.

* g++.dg/ipa/imm-devirt-1.C: Fix regexp in dg-final.
* g++.dg/ipa/imm-devirt-2.C: Likewise.

From-SVN: r212313

10 years agore PR c/6940 (taking sizeof array parameter should trigger a warning)
Marek Polacek [Sun, 6 Jul 2014 19:00:10 +0000 (19:00 +0000)]
re PR c/6940 (taking sizeof array parameter should trigger a warning)

PR c/6940
* doc/invoke.texi: Document -Wsizeof-array-argument.
c-family/
* c.opt (Wsizeof-array-argument): New option.
c/
* c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER.
* c-tree.h (C_ARRAY_PARAMETER): Define.
* c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array
function parameter.
cp/
* cp-tree.h (DECL_ARRAY_PARAMETER_P): Define.
* decl.c (grokdeclarator): Set DECL_ARRAY_PARAMETER_P.
* typeck.c (cxx_sizeof_expr): Warn when using sizeof on an array
function parameter.
testsuite/
* c-c++-common/Wsizeof-pointer-memaccess1.c: Use
-Wno-sizeof-array-argument.
* c-c++-common/Wsizeof-pointer-memaccess2.c: Likewise.
* g++.dg/warn/Wsizeof-pointer-memaccess-1.C: Likewise.
* gcc.dg/Wsizeof-pointer-memaccess1.c: Likewise.
* g++.dg/torture/Wsizeof-pointer-memaccess1.C: Likewise.
* g++.dg/torture/Wsizeof-pointer-memaccess2.C: Likewise.
* gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Likewise.
* c-c++-common/sizeof-array-argument.c: New test.
* gcc.dg/vla-5.c: Add dg-warnings.
../libgomp/ * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.

From-SVN: r212312

10 years agoDaily bump.
GCC Administrator [Sun, 6 Jul 2014 00:16:57 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r212311

10 years agoRestore Solaris/SPARC bootstrap
Rainer Orth [Sat, 5 Jul 2014 20:43:07 +0000 (20:43 +0000)]
Restore Solaris/SPARC bootstrap

* configure, config.h.in: Regenerate.
* config/fpu-sysv.h: Include <assert.h>.

From-SVN: r212307

10 years agoDon't accept isl 0.10.
Rainer Orth [Sat, 5 Jul 2014 20:18:14 +0000 (20:18 +0000)]
Don't accept isl 0.10.

* configure.ac: Don't accept isl 0.10.
* configure: Regenerate.

From-SVN: r212306

10 years agowide-int.h (wide_int_storage): Change declaration from struct to class.
Gerald Pfeifer [Sat, 5 Jul 2014 18:41:08 +0000 (18:41 +0000)]
wide-int.h (wide_int_storage): Change declaration from struct to class.

* wide-int.h (wide_int_storage): Change declaration from struct
to class.

From-SVN: r212305

10 years agocgraph.c (cgraph_create_indirect_edge): Update call of get_polymorphic_call_info.
Jan Hubicka [Sat, 5 Jul 2014 17:22:44 +0000 (19:22 +0200)]
cgraph.c (cgraph_create_indirect_edge): Update call of get_polymorphic_call_info.

* cgraph.c (cgraph_create_indirect_edge): Update call of
get_polymorphic_call_info.
* ipa-utils.h (get_polymorphic_call_info): Add parameter CALL.
(possible_polymorphic_call_targets): Add parameter call.
(decl_maybe_in_construction_p): New predicate.
(get_polymorphic_call_info): Add parameter call;
use decl_maybe_in_construction_p.
* gimple-fold.c (fold_gimple_assign): Update use of
possible_polymorphic_call_targets.
(gimple_fold_call): Likewise.
* ipa-prop.c: Inlcude calls.h
(ipa_binfo_from_known_type_jfunc): Check that known type is record.
(param_type_may_change_p): New predicate.
(detect_type_change_from_memory_writes): Break out from ...
(detect_type_change): ... this one; use
param_type_may_change_p.
(detect_type_change_ssa): Use param_type_may_change_p.
(compute_known_type_jump_func): Use decl_maybe_in_construction_p.

* g++.dg/ipa/devirt-26.C: Update testcase.
* g++.dg/ipa/imm-devirt-1.C: Update testcase.
* g++.dg/ipa/imm-devirt-2.C: Update testcase.

From-SVN: r212304

10 years ago[ARM] PR target/49423
Charles Baylis [Sat, 5 Jul 2014 11:58:06 +0000 (11:58 +0000)]
[ARM] PR target/49423

2014-07-05  Charles Baylis  <charles.baylis@linaro.org>

PR target/49423
* config/arm/arm-protos.h (arm_legitimate_address_p,
arm_is_constant_pool_ref): Add prototypes.
* config/arm/arm.c (arm_legitimate_address_p): Remove static.
(arm_is_constant_pool_ref) New function.
* config/arm/arm.md (unaligned_loadhis, arm_zero_extendhisi2_v6,
arm_zero_extendqisi2_v6): Use Uh constraint for memory operand.
(arm_extendhisi2, arm_extendhisi2_v6): Use Uh constraint for memory
operand. Remove pool_range and neg_pool_range attributes.
(arm_extendqihi_insn, arm_extendqisi, arm_extendqisi_v6): Remove
pool_range and neg_pool_range attributes.
* config/arm/constraints.md (Uh): New constraint.
(Uq): Don't allow constant pool references.

From-SVN: r212303

10 years agoDaily bump.
GCC Administrator [Sat, 5 Jul 2014 00:16:41 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r212302

10 years agoresolve.c (resolve_assoc_var): Fix corank setting.
Tobias Burnus [Fri, 4 Jul 2014 20:25:28 +0000 (22:25 +0200)]
resolve.c (resolve_assoc_var): Fix corank setting.

2014-07-04  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (resolve_assoc_var): Fix corank setting.
        * trans-array.c (gfc_conv_descriptor_token): Change assert.
        for select-type temporaries.
        * trans-decl.c (generate_coarray_sym_init): Skip for
        attr.select_type_temporary.
        * trans-expr.c (gfc_conv_procedure_call): Fix for
        select-type temporaries.
        * trans-intrinsic.c (get_caf_token_offset): Ditto.
        (gfc_conv_intrinsic_caf_get, gfc_conv_intrinsic_caf_send): Set
        the correct dtype.
        * trans-types.h (gfc_get_dtype_rank_type): New.
        * trans-types.c (gfc_get_dtype_rank_type): Ditto.

2014-07-04  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray/coindexed_3.f90: New.

From-SVN: r212299

10 years ago[Patch AArch64_be] Fix some vec_concat big-endian confusions
James Greenhalgh [Fri, 4 Jul 2014 15:56:27 +0000 (15:56 +0000)]
[Patch AArch64_be] Fix some vec_concat big-endian confusions

* config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): New.
(move_lo_quad_internal_be_<mode>): Likewise.
(move_lo_quad_<mode>): Convert to define_expand.
(aarch64_simd_move_hi_quad_<mode>): Gate on BYTES_BIG_ENDIAN.
(aarch64_simd_move_hi_quad_be_<mode>): New.
(move_hi_quad_<mode>): Use appropriate insn for BYTES_BIG_ENDIAN.
(aarch64_combinez<mode>): Gate on BYTES_BIG_ENDIAN.
(aarch64_combinez_be<mode>): New.
(aarch64_combine<mode>): Convert to define_expand.
(aarch64_combine_internal<mode>): New.
  (aarch64_simd_combine<mode>): Remove bogus RTL description.

From-SVN: r212298

10 years agoImprove documentation of earlyclobber
Tom de Vries [Fri, 4 Jul 2014 13:36:25 +0000 (13:36 +0000)]
Improve documentation of earlyclobber

2014-07-04  Tom de Vries  <tom@codesourcery.com>

* doc/md.texi (@subsection Constraint Modifier Characters): Clarify
combination of earlyclobber and read/write modifiers.

From-SVN: r212297

10 years agoFix constraint in vec_unpack_trunc_<mode>
Tom de Vries [Fri, 4 Jul 2014 13:36:12 +0000 (13:36 +0000)]
Fix constraint in vec_unpack_trunc_<mode>

2014-07-04  Tom de Vries  <tom@codesourcery.com>

* config/aarch64/aarch64-simd.md
(define_insn "vec_unpack_trunc_<mode>"): Fix constraint.

From-SVN: r212296

10 years agore PR target/61714 (configure --with-arch and --with-cpu are ignored on aarch64)
Richard Earnshaw [Fri, 4 Jul 2014 10:51:56 +0000 (10:51 +0000)]
re PR target/61714 (configure --with-arch and --with-cpu are ignored on aarch64)

PR target/61714
* aarch64.h (OPTION_DEFAULT_SPECS): Define.

From-SVN: r212295

10 years agore PR middle-end/61654 (ICE in release_function_body, at cgraph.c:1699)
Jakub Jelinek [Fri, 4 Jul 2014 08:38:45 +0000 (10:38 +0200)]
re PR middle-end/61654 (ICE in release_function_body, at cgraph.c:1699)

PR middle-end/61654
* cgraphunit.c (expand_thunk): Call free_dominance_info.

* g++.dg/opt/pr61654.C: New test.

From-SVN: r212293

10 years agore PR tree-optimization/61684 (ICE at -Os and above on x86_64-linux-gnu in tree check...
Jakub Jelinek [Fri, 4 Jul 2014 08:32:56 +0000 (10:32 +0200)]
re PR tree-optimization/61684 (ICE at -Os and above on x86_64-linux-gnu in tree check: expected ssa_name, have addr_expr in recognize_single_bit_test, at tree-ssa-ifcombine.c:238)

PR tree-optimization/61684
* tree-ssa-ifcombine.c (recognize_single_bit_test): Make sure
rhs1 of conversion is a SSA_NAME before using SSA_NAME_DEF_STMT on it.

* gcc.c-torture/compile/pr61684.c: New test.

From-SVN: r212290

10 years agoMove fp-as-gp optimization to nds32-fp-as-gp.c module.
Chung-Ju Wu [Fri, 4 Jul 2014 07:39:23 +0000 (07:39 +0000)]
Move fp-as-gp optimization to nds32-fp-as-gp.c module.

gcc/
* config/nds32/nds32.c (nds32_have_prologue_p): Move to ...
(nds32_symbol_load_store_p): Move to ...
(nds32_fp_as_gp_check_available): Move to ...
* config/nds32/nds32-fp-as-gp.c: ... here.
* config/nds32/nds32-protos.h (nds32_symbol_load_store_p): Remove
extern declaration.

Co-Authored-By: Kito Cheng <kito@0xlab.org>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>
From-SVN: r212288

10 years agoMove memory related implementation to nds32-memory-manipulation.c module.
Chung-Ju Wu [Fri, 4 Jul 2014 07:38:06 +0000 (07:38 +0000)]
Move memory related implementation to nds32-memory-manipulation.c module.

gcc/
* config/nds32/nds32.c (nds32_expand_load_multiple): Move to ...
(nds32_expand_store_multiple): Move to ...
(nds32_expand_movmemqi): Move to ...
* config/nds32/nds32-memory-manipulation.c: ... here.

Co-Authored-By: Kito Cheng <kito@0xlab.org>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>
From-SVN: r212287

10 years agoMove some external functions used by machine description patterns to nds32-md-auxilia...
Chung-Ju Wu [Fri, 4 Jul 2014 07:35:43 +0000 (07:35 +0000)]
Move some external functions used by machine description patterns to nds32-md-auxiliary.c module.

gcc/
* config/nds32/nds32.c (nds32_byte_to_size): Move to ...
(nds32_output_casesi_pc_relative): Move to ...
(nds32_output_casesi): Move to ...
(nds32_mem_format): Move to ...
(nds32_output_16bit_store): Move to ...
(nds32_output_16bit_load): Move to ...
(nds32_output_32bit_store): Move to ...
(nds32_output_32bit_load): Move to ...
(nds32_output_32bit_load_s): Move to ...
(nds32_output_stack_push): Move to ...
(nds32_output_stack_pop): Move to ...
* config/nds32/nds32-md-auxiliary.c: ... here.

Co-Authored-By: Kito Cheng <kito@0xlab.org>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>
From-SVN: r212286

10 years agoPreparation of nds32-pipelines-auxiliary.c module for future implementation.
Chung-Ju Wu [Fri, 4 Jul 2014 07:32:28 +0000 (07:32 +0000)]
Preparation of nds32-pipelines-auxiliary.c module for future implementation.

gcc/
* config/nds32/nds32-pipelines-auxiliary.c: Add comment to describe
the purpose of this file.

Co-Authored-By: Ling-Hua Tseng <uranus@tinlans.org>
From-SVN: r212285

10 years agoMove cost calculation to nds32-cost.c module.
Chung-Ju Wu [Fri, 4 Jul 2014 07:31:24 +0000 (07:31 +0000)]
Move cost calculation to nds32-cost.c module.

gcc/
* config/nds32/nds32.c (nds32_rtx_costs): Move implementation to ...
(nds32_address_cost): Move implementation to ...
* config/nds32/nds32-cost.c: ... here.
* config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Declare.
(nds32_address_cost_impl): Declare.

Co-Authored-By: Kito Cheng <kito@0xlab.org>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>
From-SVN: r212284

10 years agoMove some helper functions of predicates and constraints to nds32-predicates.c module.
Chung-Ju Wu [Fri, 4 Jul 2014 07:30:04 +0000 (07:30 +0000)]
Move some helper functions of predicates and constraints to nds32-predicates.c module.

gcc/
* config/nds32/nds32.c
(nds32_consecutive_registers_load_store_p): Move to ...
(nds32_valid_multiple_load_store): Move to ...
(nds32_valid_stack_push_pop): Move to ...
(nds32_can_use_bclr_p): Move to ...
(nds32_can_use_bset_p): Move to ...
(nds32_can_use_btgl_p): Move to ...
(nds32_can_use_bitci_p): Move to ...
* config/nds32/nds32-predicates.c: ... here.

Co-Authored-By: Kito Cheng <kito@0xlab.org>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>
From-SVN: r212283

10 years agoMove builtin functions implementation to nds32-intrinsic.c module.
Chung-Ju Wu [Fri, 4 Jul 2014 07:26:10 +0000 (07:26 +0000)]
Move builtin functions implementation to nds32-intrinsic.c module.

gcc/
* config/nds32/nds32.c
(nds32_expand_builtin_null_ftype_reg): Move to ...
(nds32_expand_builtin_reg_ftype_imm): Move to ...
(nds32_expand_builtin_null_ftype_reg_imm): Move to ...
(nds32_init_builtins): Move implementation to ...
(nds32_expand_builtin): Move implementation to ...
* config/nds32/nds32-intrinsic.c: ... here.
* config/nds32/nds32-protos.h (nds32_init_builtins_impl): Declare.
(nds32_expand_builtin_impl): Declare.

Co-Authored-By: Kito Cheng <kito@0xlab.org>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>
From-SVN: r212282

10 years agoMove ISR impelentation to nds32-isr.c module.
Chung-Ju Wu [Fri, 4 Jul 2014 07:23:32 +0000 (07:23 +0000)]
Move ISR impelentation to nds32-isr.c module.

gcc/
* config/nds32/nds32.c (nds32_emit_section_head_template): Move to ...
(nds32_emit_section_tail_template): Move to ...
(nds32_emit_isr_jmptbl_section): Move to ...
(nds32_emit_isr_vector_section): Move to ...
(nds32_emit_isr_reset_conten): Move to ...
(nds32_check_isr_attrs_conflict): Move to ...
(nds32_construct_isr_vectors_information): Move to ...
(nds32_asm_file_start): Move implementation to ...
(nds32_asm_file_end): Move implementation to ...
* config/nds32/nds32-isr.c: ... here.
* config/nds32/nds32-protos.h
(nds32_check_isr_attrs_conflict): Declare.
(nds32_construct_isr_vectors_information): Declare.
(nds32_asm_file_start_for_isr): Declare.
(nds32_asm_file_end_for_isr): Declare.

Co-Authored-By: Kito Cheng <kito@0xlab.org>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>
From-SVN: r212281

10 years agoAdd several new files for preparation of providing modules
Chung-Ju Wu [Fri, 4 Jul 2014 07:18:19 +0000 (07:18 +0000)]
Add several new files for preparation of providing modules
that are going to be separated from nds32.c source.

gcc/
* config.gcc (nds32*): Add new modules to extra_objs.
(nds32le-*-*): Use t-nds32 makefile fragment for new modules.
(nds32be-*-*): Likewise.
* config/nds32/nds32-cost.c: New file.
* config/nds32/nds32-fp-as-gp.c: New file.
* config/nds32/nds32-intrinsic.c: New file.
* config/nds32/nds32-isr.c: New file.
* config/nds32/nds32-md-auxiliary.c: New file.
* config/nds32/nds32-memory-manipulation.c: New file.
* config/nds32/nds32-pipelines-auxiliary.c: New file.
* config/nds32/nds32-predicates.c: New file.
* config/nds32/t-nds32: New file.

Co-Authored-By: Kito Cheng <kito@0xlab.org>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>
From-SVN: r212280

10 years agoNormalize interface for all *-dg-runtest.
Thomas Schwinge [Fri, 4 Jul 2014 05:28:17 +0000 (07:28 +0200)]
Normalize interface for all *-dg-runtest.

gcc/testsuite/
* lib/g++-dg.exp (g++-dg-runtest): Change interface to match
dg-runtest's.  Adapt all callers.
* lib/gcc-dg.exp (gcc-dg-runtest): Likewise.
* lib/gfortran-dg.exp (gfortran-dg-runtest): Likewise.
* lib/go-dg.exp (go-dg-runtest): Likewise.
* lib/obj-c++-dg.exp (obj-c++-dg-runtest): Likewise.
* lib/objc-dg.exp (objc-dg-runtest): Likewise.
libffi/
* testsuite/lib/libffi.exp (libffi-dg-runtest): Change interface
match to dg-runtest's.

From-SVN: r212278

10 years agoDaily bump.
GCC Administrator [Fri, 4 Jul 2014 00:16:52 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r212277

10 years agore PR tree-optimization/61682 (wrong code at -O3 on x86_64-linux-gnu)
Jakub Jelinek [Thu, 3 Jul 2014 22:11:21 +0000 (00:11 +0200)]
re PR tree-optimization/61682 (wrong code at -O3 on x86_64-linux-gnu)

PR tree-optimization/61682
* wide-int.cc (wi::mul_internal): Handle high correctly
for umul_ppmm using cases and when one of the operands is
equal to 1.

* gcc.c-torture/execute/pr61682.c: New test.

From-SVN: r212273

10 years agolibgomp.exp (libgomp_target_compile): If $source matches regex $lang_source_re, add...
Jakub Jelinek [Thu, 3 Jul 2014 18:45:35 +0000 (20:45 +0200)]
libgomp.exp (libgomp_target_compile): If $source matches regex $lang_source_re, add $lang_include_flags to options.

* testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
matches regex $lang_source_re, add $lang_include_flags to options.
* testsuite/libgomp.c/c.exp: Unset lang_include_flags.
* testsuite/libgomp.c++/c++.exp: Likewise.
* testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
and lang_include_flags instead of adding -fintrinsic-modules-path= to
ALWAYS_CFLAGS.
* testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.

From-SVN: r212268

10 years agoFix the shift patterns, and add test
Segher Boessenkool [Thu, 3 Jul 2014 16:39:58 +0000 (18:39 +0200)]
Fix the shift patterns, and add test

Firstly, it adds back the split conditions that I accidentally removed.
Without it the dot insns are never generated, or rather, always split
back to a separate compare instruction.

Secondly, the shift amount should be SI always, not GPR, or GCC will
insert a zero-extend at expand time that it cannot get rid of later.

The test tests whether dot-form instructions are generated for both
"dot" and "dot2" cases, that is, with just a CC output or also a GPR
output; for all four basic shifts, with a register amount or an
immediate amount.  It also tests for superfluous zero-extends.  This
also tests if combine "simplifies" the rotates to right-rotates, which
it shouldn't do anymore.

From-SVN: r212267

10 years agoExplain gfortran-dg-runtest usage in libgomp Fortran testing.
Thomas Schwinge [Thu, 3 Jul 2014 15:23:43 +0000 (17:23 +0200)]
Explain gfortran-dg-runtest usage in libgomp Fortran testing.

libgomp/
* testsuite/libgomp.fortran/fortran.exp: Explain
gfortran-dg-runtest usage.

From-SVN: r212266

10 years agoarm.md (arch): Add armv6_or_vfpv3.
Richard Earnshaw [Thu, 3 Jul 2014 15:12:23 +0000 (15:12 +0000)]
arm.md (arch): Add armv6_or_vfpv3.

* arm.md (arch): Add armv6_or_vfpv3.
(arch_enabled): Add test for the above.
* vfp.md (divsf_vfp, divdf_vfp): Add earlyclobber when code can run
on VFP9.
(sqrtsf_vfp, sqrtdf_vfp): Likewise.

From-SVN: r212265

10 years agogcov-io.c (gcov_read_words): Don't call memmove if excess is 0.
Jakub Jelinek [Thu, 3 Jul 2014 14:39:05 +0000 (16:39 +0200)]
gcov-io.c (gcov_read_words): Don't call memmove if excess is 0.

* gcov-io.c (gcov_read_words): Don't call memmove if excess is 0.
* data-streamer-in.c (streamer_read_hwi): Shift UHWI 1 instead of
HWI 1 and negate the unsigned value.
* expmed.c (expand_sdiv_pow2): For modes wider than word always
use AND instead of shift.
* wide-int-print.cc (print_decs): Negate UHWI instead of HWI.
c-family/
* c-ada-spec.c (dump_ada_nodes): Don't call qsort if
comments->count <= 1, as comments->entries might be NULL.

From-SVN: r212264

10 years agoieee_1.F90: Mark variables as volatile to avoid optimization.
Francois-Xavier Coudert [Thu, 3 Jul 2014 11:47:46 +0000 (11:47 +0000)]
ieee_1.F90: Mark variables as volatile to avoid optimization.

* gfortran.dg/ieee/ieee_1.F90: Mark variables as volatile to
avoid optimization.

From-SVN: r212261

10 years agoinvoke.texi (-fsanitize=bounds): Tweak wording.
Marek Polacek [Thu, 3 Jul 2014 10:44:20 +0000 (10:44 +0000)]
invoke.texi (-fsanitize=bounds): Tweak wording.

* doc/invoke.texi (-fsanitize=bounds): Tweak wording.
(-fsanitize=float-divide-by-zero): Move to the table with
-fsanitize=undefined suboptions.
(-fsanitize=float-cast-overflow): Likewise.

From-SVN: r212260

10 years agors6000.c (rs6000_adjust_atomic_subword): Use BYTES_BIG_ENDIAN rather than WORDS_BIG_E...
Maciej W. Rozycki [Thu, 3 Jul 2014 06:13:48 +0000 (06:13 +0000)]
rs6000.c (rs6000_adjust_atomic_subword): Use BYTES_BIG_ENDIAN rather than WORDS_BIG_ENDIAN to check for byte endianness.

* config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Use
BYTES_BIG_ENDIAN rather than WORDS_BIG_ENDIAN to check for byte
endianness.

From-SVN: r212258

10 years agoscanner.c (skip_free_comments): Fix indentation.
Tobias Burnus [Thu, 3 Jul 2014 05:29:47 +0000 (07:29 +0200)]
scanner.c (skip_free_comments): Fix indentation.

2014-07-03  Tobias Burnus  <burnus@net-b.de>

        * scanner.c (skip_free_comments): Fix indentation.

From-SVN: r212257

10 years agoloop-invariant.c (struct invariant): Add a new member: eqno;
Zhenqiang Chen [Thu, 3 Jul 2014 05:24:12 +0000 (05:24 +0000)]
loop-invariant.c (struct invariant): Add a new member: eqno;

ChangeLog:
2014-07-03  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* loop-invariant.c (struct invariant): Add a new member: eqno;
(find_identical_invariants): Update eqno;
(create_new_invariant): Init eqno;
(get_inv_cost): Compute comp_cost with eqno;

testsuite/ChangeLog:
2014-07-03  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* gcc.target/arm/identical-invariants.c: New test.

From-SVN: r212256

10 years agoDaily bump.
GCC Administrator [Thu, 3 Jul 2014 00:17:48 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r212253

10 years agoOnly transform rotate to rotatert and v.v. if target has both
Segher Boessenkool [Wed, 2 Jul 2014 20:19:19 +0000 (22:19 +0200)]
Only transform rotate to rotatert and v.v. if target has both

Many targets do not have both rotate and rotatert.  Of the 47 targets
in the tree, 17 have both, 9 have only rotate, 2 have only rotatert, and
19 have neither (this is based on "grep -wil" so it can be slightly off).

rs6000 has only rotate, and mips has only rotatert.  For such targets
simplifying rotate to rotatert and vice versa is not simplifying things
at all.  rs6000 has already way too many rotate patterns (some days it
seems like two thousand, but it is somewhat less in reality still); I
would prefer not to double that again.

So, this patch makes genrecog define HAVE_rotate and HAVE_rotatert if
those RTL codes are mentioned anywhere in the machine description, and
then does the transformation in simplify-rtx.c only if both these flags
are set.

From-SVN: r212239

10 years ago* config/fpu-sysv.h (void set_fpu): Remove stalled comment.
Uros Bizjak [Wed, 2 Jul 2014 16:11:46 +0000 (18:11 +0200)]
* config/fpu-sysv.h (void set_fpu): Remove stalled comment.

From-SVN: r212235

10 years agoc-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before releasing symbol.
Jan Hubicka [Wed, 2 Jul 2014 15:23:56 +0000 (17:23 +0200)]
c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before releasing symbol.

* c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
releasing symbol.

* gcc.c-torture/compile/section.c: New testcase.

Co-Authored-By: Chen Gang <gang.chen.5i5j@gmail.com>
From-SVN: r212234

10 years agore PR go/61620 (FAIL: go.test/test/fixedbugs/bug242.go execution, -O2 -g)
Ian Lance Taylor [Wed, 2 Jul 2014 14:23:45 +0000 (14:23 +0000)]
re PR go/61620 (FAIL: go.test/test/fixedbugs/bug242.go execution,  -O2 -g)

PR go/61620

runtime: Don't free tiny blocks in map deletion.

The memory allocator now has a special case for tiny blocks
(smaller than 16 bytes) and they can not be explicitly freed.

From-SVN: r212233

10 years agoadd bugzilla links
Christian Bruel [Wed, 2 Jul 2014 13:20:01 +0000 (15:20 +0200)]
add bugzilla links

From-SVN: r212232

10 years agoadd test
Christian Bruel [Wed, 2 Jul 2014 13:15:08 +0000 (15:15 +0200)]
add test

From-SVN: r212231