platform/upstream/gcc.git
10 years agore PR preprocessor/61389 (libcpp diagnostics shouldn't talk about ISO C99 for C+...
Edward Smith-Rowland [Thu, 10 Jul 2014 22:26:50 +0000 (22:26 +0000)]
re PR preprocessor/61389 (libcpp diagnostics shouldn't talk about ISO C99 for C++ input files)

2014-07-10  Edward Smith-Rowland  <3dw4rd@verizon.net>
    Jonathan Wakely  <jwakely@redhat.com>

PR CPP/61389
* macro.c (_cpp_arguments_ok, parse_params, create_iso_definition):
Warning messages mention C++11 in c++ mode and C99 in c mode.
* lex.c (lex_identifier_intern, lex_identifier): Ditto

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r212441

10 years agore PR c++/61661 (Bogus error: ‘const Outer::Foo{&Outer::Bar}’ is not a constant expre...
Jason Merrill [Thu, 10 Jul 2014 21:48:26 +0000 (17:48 -0400)]
re PR c++/61661 (Bogus error: ‘const Outer::Foo{&Outer::Bar}’ is not a constant expression)

PR c++/61661
* semantics.c (reduced_constant_expression_p): Handle CONSTRUCTOR.

From-SVN: r212439

10 years agore PR ipa/61659 (Extra undefined symbol because of devirtualization)
Jason Merrill [Thu, 10 Jul 2014 19:29:59 +0000 (15:29 -0400)]
re PR ipa/61659 (Extra undefined symbol because of devirtualization)

PR c++/61659
PR c++/61687
gcc/c-family/
* c.opt (-fuse-all-virtuals): New.
gcc/cp/
* decl2.c (mark_all_virtuals): New variable.
(maybe_emit_vtables): Check it instead of flag_devirtualize.
(cp_write_global_declarations): Set it and give helpful diagnostic
if it introduces errors.
* class.c (finish_struct_1): Check it.
* decl.c (grokdeclarator): Clear virtualp after 'virtual auto' error.

From-SVN: r212436

10 years agoany (any::_Manager_alloc::_Data): Reorder tuple members to simplify pretty printing.
Jonathan Wakely [Thu, 10 Jul 2014 18:08:35 +0000 (19:08 +0100)]
any (any::_Manager_alloc::_Data): Reorder tuple members to simplify pretty printing.

* include/experimental/any (any::_Manager_alloc::_Data): Reorder
tuple members to simplify pretty printing.
(any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
construction.
* testsuite/experimental/any/cons/4.cc: New.

From-SVN: r212435

10 years agore PR tree-optimization/61757 (genmodes failure with enable-checking)
Richard Biener [Thu, 10 Jul 2014 14:43:07 +0000 (14:43 +0000)]
re PR tree-optimization/61757 (genmodes failure with enable-checking)

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

PR tree-optimization/61757
* tree-ssa-dom.c (loop_depth_of_name): Restore.
(propagate_rhs_into_lhs): Revert part of last change.

From-SVN: r212433

10 years agoAdd addressing=absolute and isa_rev=0 to mips fuse-caller-save tests
Tom de Vries [Thu, 10 Jul 2014 14:02:26 +0000 (14:02 +0000)]
Add addressing=absolute and isa_rev=0 to mips fuse-caller-save tests

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

* gcc.target/mips/fuse-caller-save.c: Add addressing=absolute to
dg-options.
* gcc.target/mips/fuse-caller-save-micromips.c: Same.
* gcc.target/mips/fuse-caller-save-mips16.c: Same.  Add isa_rev=0 to
dg-options.

From-SVN: r212432

10 years agore PR c/61741 (wrong code with -fno-strict-overflow)
Richard Biener [Thu, 10 Jul 2014 12:20:32 +0000 (12:20 +0000)]
re PR c/61741 (wrong code with -fno-strict-overflow)

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

PR c-family/61741
* c-c++-common/torture/pr61741.c: Use signed char.

From-SVN: r212430

10 years agoFix --enable-checking=fold failure.
Thomas Schwinge [Thu, 10 Jul 2014 12:05:27 +0000 (14:05 +0200)]
Fix --enable-checking=fold failure.

gcc/
* fold-const.c (fold_checksum_tree): Look at DECL_VINDEX only for
FUNCTION_DECLs.

From-SVN: r212428

10 years agore PR middle-end/53590 (compiler fails to generate SIMD instruction for FP division)
Eric Botcazou [Thu, 10 Jul 2014 10:38:30 +0000 (10:38 +0000)]
re PR middle-end/53590 (compiler fails to generate SIMD instruction for FP division)

PR middle-end/53590
* function.c (allocate_struct_function): Revert r188667 change.

* gimple-low.c (lower_builtin_setjmp): Use properly-typed constant.

From-SVN: r212424

10 years agofpu-*.h (get_fpu_rounding_mode, [...]): Clean up, mark unreachable code as such.
Francois-Xavier Coudert [Thu, 10 Jul 2014 08:45:38 +0000 (08:45 +0000)]
fpu-*.h (get_fpu_rounding_mode, [...]): Clean up, mark unreachable code as such.

* config/fpu-*.h (get_fpu_rounding_mode, set_fpu_rounding_mode,
support_fpu_rounding_mode): Clean up, mark unreachable code as such.

From-SVN: r212423

10 years agoinstall.texi: Remove links to defunct package providers for Solaris.
Tom G. Christensen [Thu, 10 Jul 2014 08:28:36 +0000 (08:28 +0000)]
install.texi: Remove links to defunct package providers for Solaris.

* doc/install.texi: Remove links to defunct package providers for
Solaris.

From-SVN: r212422

10 years agore PR tree-optimization/61742 (wrong code at -O3 on x86_64-linux-gnu)
Yuri Rumyantsev [Thu, 10 Jul 2014 07:38:39 +0000 (07:38 +0000)]
re PR tree-optimization/61742 (wrong code at -O3 on x86_64-linux-gnu)

PR tree-optimization/61742

gcc/testsuite/
        * gcc.dg/torture/pr61742.c: New test.
        * gcc.gg/vect/cond-reduc-1.c: Rename it to vect-cond-reduc-1.c
        * gcc.gg/vect/cond-reduc-2.c: Rename it to vect-cond-reduc-2.c

From-SVN: r212421

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

From-SVN: r212420

10 years agoAdd missing ChangeLog entries
Tom de Vries [Wed, 9 Jul 2014 23:51:22 +0000 (23:51 +0000)]
Add missing ChangeLog entries

From-SVN: r212416

10 years agore PR c++/60686 (message " only declarations of constructors can be ‘explicit’ "...
Paolo Carlini [Wed, 9 Jul 2014 22:44:42 +0000 (22:44 +0000)]
re PR c++/60686 (message " only declarations of constructors can be ‘explicit’ " now conflicting with C++11)

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

PR c++/60686
* decl.c (grokdeclarator): Adjust error messages about 'explicit'
outside class declaration, in friend declaration, and neither on
constructor nor conversion operator.

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

PR c++/60686
* g++.dg/cpp0x/explicit8.C: New.

From-SVN: r212415

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