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
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
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
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
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
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
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
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
GCC Administrator [Thu, 10 Jul 2014 00:17:11 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r212420
Tom de Vries [Wed, 9 Jul 2014 23:51:22 +0000 (23:51 +0000)]
Add missing ChangeLog entries
From-SVN: r212416
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
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
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
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
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
Jan Hubicka [Wed, 9 Jul 2014 20:00:25 +0000 (22:00 +0200)]
* ipa-devirt.c (record_node): Walk through aliases.
From-SVN: r212406
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Mike Stump [Wed, 9 Jul 2014 01:02:31 +0000 (01:02 +0000)]
Fix pr60226.c on darwin.
From-SVN: r212381
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
GCC Administrator [Wed, 9 Jul 2014 00:17:14 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r212379
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Tue, 8 Jul 2014 00:16:48 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r212345
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
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
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
Maciej W. Rozycki [Mon, 7 Jul 2014 15:42:33 +0000 (15:42 +0000)]
Correct date in last ChangeLog entry.
From-SVN: r212334
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
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
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
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
Francois-Xavier Coudert [Mon, 7 Jul 2014 11:59:27 +0000 (11:59 +0000)]
* libgfortran.h: Assume __GNUC__.
From-SVN: r212328
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
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
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
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
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
GCC Administrator [Mon, 7 Jul 2014 00:17:40 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r212318
Gerald Pfeifer [Sun, 6 Jul 2014 22:17:21 +0000 (22:17 +0000)]
* gfortran.texi (Fortran 2003 status): Fix grammar.
From-SVN: r212315
Uros Bizjak [Sun, 6 Jul 2014 20:32:26 +0000 (22:32 +0200)]
* ChangeLog: Fix whitespace.
From-SVN: r212314
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
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
GCC Administrator [Sun, 6 Jul 2014 00:16:57 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r212311
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
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
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
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
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
GCC Administrator [Sat, 5 Jul 2014 00:16:41 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r212302
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Fri, 4 Jul 2014 00:16:52 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r212277
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
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
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
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
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
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
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