Jason Merrill [Mon, 17 Aug 2015 18:41:59 +0000 (14:41 -0400)]
constexpr.c (cxx_eval_store_expression): Don't set CONSTRUCTOR_NO_IMPLICIT_ZERO if we have an enclosing CONSTRUCTOR...
* constexpr.c (cxx_eval_store_expression): Don't set
CONSTRUCTOR_NO_IMPLICIT_ZERO if we have an enclosing CONSTRUCTOR
without it.
(cxx_eval_array_reference): Check it.
From-SVN: r226948
Jason Merrill [Mon, 17 Aug 2015 18:40:57 +0000 (14:40 -0400)]
* except.c (check_noexcept_r): Assert that fn is POINTER_TYPE_P.
From-SVN: r226947
Joseph Myers [Mon, 17 Aug 2015 17:13:16 +0000 (18:13 +0100)]
* da.po: Update.
From-SVN: r226944
Aldy Hernandez [Mon, 17 Aug 2015 16:28:13 +0000 (16:28 +0000)]
* config/i386/i386.c: Remove include of fibheap.h.
From-SVN: r226943
Marek Polacek [Mon, 17 Aug 2015 14:18:04 +0000 (14:18 +0000)]
c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing with whitespaces before qualifier names.
* c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
with whitespaces before qualifier names.
From-SVN: r226939
Richard Biener [Mon, 17 Aug 2015 14:17:33 +0000 (14:17 +0000)]
re PR tree-optimization/67221 (ICE at -Os and above on x86_64-linux-gnu: Segmentation fault (program cc1))
2015-08-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/67221
* tree-ssa-sccvn.c (visit_phi): Keep all-TOP args TOP.
(sccvn_dom_walker::before_dom_children): Mark backedges of
non-executable blocks as not executable.
* gcc.dg/torture/pr67221.c: New testcase.
From-SVN: r226938
David Sherwood [Mon, 17 Aug 2015 11:06:34 +0000 (11:06 +0000)]
arm.c (neon_element_bits): Replace call to GET_MODE_BITSIZE (GET_MODE_INNER (m)) with...
* config/arm/arm.c (neon_element_bits): Replace call to
GET_MODE_BITSIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_BITSIZE (m).
* config/arm/neon.md (neon_vget_lane<mode>): Likewise.
(neon_vget_laneu<mode>, neon_vset_lane<mode>): Likewise
(neon_vdup_lane<mode>): Likewise.
* config/i386/i386.c (ix86_expand_int_vcond): Likewise.
(ix86_expand_multi_arg_builtin, ix86_expand_reduc): Likewise.
(expand_vec_perm_palignr, ix86_expand_sse2_abs): Likewise.
* config/rs6000/rs6000.c (rs6000_do_expand_vec_perm): Likewise.
* config/spu/spu.c (arith_immediate_p): Likewise.
* expmed.c (store_bit_field_1, extract_bit_field_1): Likewise.
* expr.c (expand_expr_real_2): Likewise.
* optabs.c (shift_amt_for_vec_perm_mask): Likewise.
* simplify-rtx.c (simplify_immed_subreg): Likewise.
* tree-cfg.c (verify_gimple_assign_ternary): Likewise.
* tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Likewise.
New variable.
* fold-const.c (fold_binary_loc): Replace call to
GET_MODE_PRECISION (GET_MODE_INNER (m)) with
GET_MODE_UNIT_PRECISION (m).
From-SVN: r226936
Mike Stump [Mon, 17 Aug 2015 09:39:58 +0000 (09:39 +0000)]
[ARM] arm memcpy of aligned data
2015-08-17 Mike Stump <mikestump@comcast.net>
* config/arm/arm.c (arm_block_move_unaligned_straight):
Emit normal move instead of unaligned load when source or destination
are appropriately aligned.
2015-08-17 Mike Stump <mikestump@comcast.net>
Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/arm/memcpy-aligned-1.c: New test.
Co-Authored-By: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
From-SVN: r226935
Richard Biener [Mon, 17 Aug 2015 04:47:45 +0000 (04:47 +0000)]
re PR tree-optimization/16107 (missed optimization with some math function builtins)
2015-08-17 Richard Biener <rguenther@suse.de>
Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
PR middle-end/16107
* match.pd (div (coss (op @0) : New simplifier.
Co-Authored-By: Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
From-SVN: r226934
GCC Administrator [Mon, 17 Aug 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226932
Francois-Xavier Coudert [Sun, 16 Aug 2015 19:47:02 +0000 (19:47 +0000)]
re PR fortran/54656 (ICE with software REAL(16) for NORM2)
PR fortran/54656
* trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Add decl
for quadruple precision BUILT_IN_SQRT.
* gfortran.dg/norm_4.f90: Rename to...
* gfortran.dg/norm2_4.f90: this.
* gfortran.dg/norm2_5.f90: New test.
From-SVN: r226929
Francois-Xavier Coudert [Sun, 16 Aug 2015 16:37:18 +0000 (16:37 +0000)]
trans-intrinsic.c (conv_intrinsic_ieee_is_negative): Use type generic BUILT_IN_SIGNBIT.
* trans-intrinsic.c (conv_intrinsic_ieee_is_negative): Use type
generic BUILT_IN_SIGNBIT.
(conv_intrinsic_ieee_copy_sign): Likewise.
* f95-lang.c (gfc_init_builtin_functions): Add BUILT_IN_ISINF,
BUILT_IN_ISINF_SIGN, BUILT_IN_SIGNBIT, BUILT_IN_ISLESS,
BUILT_IN_ISLESSGREATER, BUILT_IN_ISGREATER. Remove non-type generic
variants of BUILT_IN_SIGNBIT.
* mathbuiltins.def: Remove SIGNBIT.
From-SVN: r226924
Francois-Xavier Coudert [Sun, 16 Aug 2015 12:47:15 +0000 (12:47 +0000)]
re PR libfortran/41387 (OPEN, STATUS='NEW' of a symbolic link to a non-existing file fails.)
PR fortran/41387
* gfortran.texi: New section "File operations on symbolic links".
From-SVN: r226923
GCC Administrator [Sun, 16 Aug 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226915
Ian Lance Taylor [Sat, 15 Aug 2015 13:23:30 +0000 (13:23 +0000)]
cp-demangle.c (d_abi_tags): Preserve di->last_name across any ABI tags.
* cp-demangle.c (d_abi_tags): Preserve di->last_name across any
ABI tags.
From-SVN: r226910
Jason Merrill [Sat, 15 Aug 2015 07:59:26 +0000 (03:59 -0400)]
re PR c++/65974 (Bogus deprecated-declarations warnings for inline definitions of deprecated virtual methods)
PR c++/65974
* decl2.c (mark_vtable_entries): Suppress -Wdeprecated.
From-SVN: r226908
GCC Administrator [Sat, 15 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226907
Alexandre Oliva [Fri, 14 Aug 2015 18:51:50 +0000 (18:51 +0000)]
[PR64164] Drop copyrename, use coalescible partition as base when optimizing.
for gcc/ChangeLog
PR rtl-optimization/64164
PR bootstrap/66978
PR middle-end/66983
PR rtl-optimization/67000
PR middle-end/67034
PR middle-end/67035
* Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
* tree-ssa-copyrename.c: Removed.
* opts.c (default_options_table): Drop -ftree-copyrename. Add
-ftree-coalesce-vars.
* passes.def: Drop all occurrences of pass_rename_ssa_copies.
* common.opt (ftree-copyrename): Ignore.
(ftree-coalesce-inlined-vars): Likewise.
* doc/invoke.texi: Remove the ignored options above.
* gimple-expr.h (gimple_can_coalesce_p): Move declaration
* tree-ssa-coalesce.h: ... here.
* tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
headers required by it.
* gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
across variables when flag_tree_coalesce_vars. Check register
use and promoted modes to allow coalescing. Do not coalesce
maybe-byref parms with SSA_NAMEs of other variables, or
anonymous SSA_NAMEs. Moved to tree-ssa-coalesce.c.
* tree-ssa-live.c (struct tree_int_map_hasher): Move along
with its member functions to tree-ssa-coalesce.c.
(var_map_base_init): Likewise. Renamed to
compute_samebase_partition_bases.
(partition_view_normal): Drop want_bases parameter.
(partition_view_bitmap): Likewise.
* tree-ssa-live.h: Adjust declarations.
* tree-ssa-coalesce.c: Include explow.h and cfgexpand.h.
(build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
default defs at the entry point.
(dump_part_var_map): New.
(compute_optimized_partition_bases): New, called by...
(coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
of compute_samebase_partition_bases. Adjust.
* alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
* cfgexpand.c (leader_merge, parm_maybe_byref_p): New.
(ssa_default_def_partition): New.
(get_rtl_for_parm_ssa_default_def): New.
(align_local_variable, add_stack_var): Support anonymous SSA
names.
(defer_stack_allocation): Likewise. Declare earlier.
(set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
Do no record deferred-allocation marker in
SA.partition_to_pseudo.
(expand_stack_vars): Adjust check for the marker in it.
(expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
redundant MEM attr setting.
(expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
from...
(expand_one_stack_var): ... this. New wrapper to check and
skip already expanded SSA partitions.
(record_alignment_for_reg_var): New, factored out of...
(expand_one_var): ... this.
(expand_one_ssa_partition): New.
(adjust_one_expanded_partition_var): New.
(expand_one_register_var): Check and skip already expanded SSA
partitions.
(expand_used_vars): Don't create DECLs for anonymous SSA
names. Expand all SSA partitions, then adjust all SSA names.
(pass::execute): Replace the loops that set
SA.partition_to_pseudo from partition leaders and cleared
DECL_RTL for multi-location variables, and that which used to
rename vars and set attrs, with one that clears DECL_RTL and
checks that PARMs and RESULTs default_defs match DECL_RTL.
* cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
* emit-rtl.c: Include stor-layout.h.
(set_reg_attrs_for_parm): Handle NULL decl.
(set_reg_attrs_for_decl_rtl): Take mode from expression if
it's not a DECL.
* stmt.c (emit_case_decision_tree): Pass it the SSA_NAME
rather than its possibly-NULL DECL.
* explow.c (promote_ssa_mode): New.
* explow.h (promote_ssa_mode): Declare.
* expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
(read_complex_part): Export.
* expr.h (read_complex_part): Declare.
* cfgexpand.h (parm_maybe_byref_p): Declare.
* function.c: Include cfgexpand.h.
(use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
(use_register_for_parm_decl): Wrapper for the above to
special-case the result_ptr.
(rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
(split_complex_args): Take assign_parm_data_all argument.
Pass it to rtl_for_parm. Set up rtl and context for split
args. Reset complex parm before fetching its default decl
rtl.
(assign_parms_unsplit_complex): Use the default-def complex
parm rtl if it matches the components.
(assign_parms_augmented_arg_list): Adjust.
(maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
multiple locations. Recognize split complex args.
(assign_parm_adjust_stack_rtl): Add all and parm arguments,
for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
(assign_parm_setup_block): Prefer SSA-assigned location, and
fill in its address if the memory location of a maybe-byref
parm was not assigned by cfgexpand.
(assign_parm_setup_reg): Likewise. Adjust its mode as
needed. Use entry_parm for equiv if stack_parm is NULL. Make
sure passed_pointer parms don't need conversion. Copy address
or value as needed.
(assign_parm_setup_stack): Prefer SSA-assigned location.
(assign_parms): Maybe reset DECL_RTL of params. Adjust stack
rtl before testing for pointer bounds. Special-case result_ptr.
(expand_function_start): Maybe reset DECL_RTL of result.
Prefer SSA-assigned location for result and static chain.
Factor out DECL_RESULT and SET_DECL_RTL. Convert static chain
to Pmode if needed, from H.J. Lu <hongjiu.lu@intel.com>.
* tree-outof-ssa.c (insert_value_copy_on_edge): Handle
anonymous SSA names. Use promote_ssa_mode.
(get_temp_reg): Likewise.
(remove_ssa_form): Adjust.
* stor-layout.c (layout_decl): Don't set mem attributes of
non-MEMs.
* var-tracking.c (dataflow_set_clear_at_call): Take call_insn
and get its reg_usage for reg invalidation.
(compute_bb_dataflow): Pass it insn.
(emit_notes_in_bb): Likewise.
for gcc/testsuite/ChangeLog
* gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
* gcc.dg/ssp-1.c: Make counter a register.
* gcc.dg/ssp-2.c: Likewise.
* gcc.dg/torture/parm-coalesce.c: New.
From-SVN: r226901
Marek Polacek [Fri, 14 Aug 2015 17:59:41 +0000 (17:59 +0000)]
* tree-core.h (tree_base): Fix typo.
From-SVN: r226900
Ian Lance Taylor [Fri, 14 Aug 2015 17:26:27 +0000 (17:26 +0000)]
compiler: Report unnamed receiver types.
gccgo used to crash when presented with an invalid receiver type in a
method. Instead, unnamed receiver types should report an error.
Fixes golang/go#11557.
Reviewed-on: https://go-review.googlesource.com/13245
From-SVN: r226899
Marek Polacek [Fri, 14 Aug 2015 16:29:38 +0000 (16:29 +0000)]
re PR middle-end/67133 (ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274)
PR middle-end/67133
* gimple.c (infer_nonnull_range_by_attribute): Check that the
nonnull argument position is not outside function arguments.
* gcc.dg/torture/pr67133.c: New test.
From-SVN: r226896
Matthew Wahab [Fri, 14 Aug 2015 15:05:42 +0000 (15:05 +0000)]
re PR target/67143 (ICE (could not split insn) on aarch64-linux-gnu)
gcc/
2015-08-14 Matthew Wahab <matthew.wahab@arm.com>
PR target/67143
* config/aarch64/atomics.md (atomic_<optab><mode>): Replace
'lconst_atomic' with 'const_atomic'.
(atomic_fetch_<optab><mode>): Likewise.
(atomic_<optab>_fetch<mode>): Likewise.
* config/aarch64/iterators.md (lconst-atomic): Move below
'const_atomic'.
(const_atomic): New.
gcc/testsuite/
2015-08-14 Matthew Wahab <matthew.wahab@arm.com>
Matthias Klose <doko@debian.org>
PR target/67143
* gcc.c-torture/compile/pr67143.c: New
* gcc.target/aarch64/atomic-op-imm.c
(atomic_fetch_add_negative_RELAXED): New.
(atomic_fetch_sub_negative_ACQUIRE): New.
Co-Authored-By: Matthias Klose <doko@debian.org>
From-SVN: r226895
Jonathan Wakely [Fri, 14 Aug 2015 11:51:18 +0000 (12:51 +0100)]
any (any::operator=(const any&)): Move check for self-assignment.
* include/experimental/any (any::operator=(const any&)): Move check
for self-assignment.
(any::operator=(any&&)): Add check for self-assignment.
(any::operator=(_ValueType&&)): Constrain template argument.
(any::swap(any&)): Add check for self-swap.
* testsuite/experimental/any/assign/self.cc: Test move and swap.
* testsuite/experimental/any/misc/any_cast_neg.cc: Update dg-error.
From-SVN: r226894
Jonathan Wakely [Fri, 14 Aug 2015 11:51:05 +0000 (12:51 +0100)]
array: Add feature-test macro.
* include/experimental/array: Add feature-test macro.
* testsuite/experimental/array/neg.cc: Update dg-error.
From-SVN: r226893
David Edelsohn [Fri, 14 Aug 2015 11:17:29 +0000 (11:17 +0000)]
inclhack.def (aix_stdio_inline): New fix.
* inclhack.def (aix_stdio_inline): New fix.
(aix_strtof_const): Limit to *-*-aix*.
(aix_sysmachine): Same.
(aix_syswait_2): Same.
(aix_volatile): Same.
* fixincl.x: Regenerated.
* test/base/stdio.h [AIX_STDIO_INLINE]: New test.
From-SVN: r226891
Thomas Schwinge [Fri, 14 Aug 2015 10:37:14 +0000 (12:37 +0200)]
Add DWARF2_LINENO_DEBUGGING_INFO, and use it for nvptx
gcc/
* config/nvptx/nvptx.c (nvptx_option_override): Don't override
debug options.
* config/nvptx/nvptx.h (DWARF2_LINENO_DEBUGGING_INFO): Define.
(DWARF2_DEBUGGING_INFO): Don't define.
* debug.h (dwarf2_lineno_debug_hooks): Declare.
* toplev.c (process_options): Add a case for it.
* dwarf2out.c (dwarf2_lineno_debug_hooks): New variable.
(dwarf2out_init): Skip most initializations if
DWARF2_LINENO_DEBUGGING_INFO, but set cur_line_info_table in that
case.
* defaults.h (PREFERRED_DEBUGGING_TYPE): Also use DWARF2_DEBUG if
DWARF2_LINENO_DEBUGGING_INFO.
* opts.c (set_debug_level): Likewise.
Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
From-SVN: r226890
Kyrylo Tkachov [Fri, 14 Aug 2015 09:54:54 +0000 (09:54 +0000)]
[AArch64][obvious] Fix some target attribute inlining tests for -fPIC
* gcc.target/aarch64/target_attr_5.c: Add static modifier to bar.
* gcc.target/aarch64/target_attr_8.c: Likewise.
* gcc.target/aarch64/target_attr_14.c: Likewise.
From-SVN: r226889
Pierre-Marie de Rodat [Fri, 14 Aug 2015 09:48:13 +0000 (09:48 +0000)]
DWARF2: add extensions to handle biased types
include/ChangeLog:
* dwarf2.def (DW_AT_GNU_bias): New attribute.
From-SVN: r226888
Pierre-Marie de Rodat [Fri, 14 Aug 2015 09:48:02 +0000 (09:48 +0000)]
DWARF2: add extensions to handle fixed point types
include/ChangeLog:
* dwarf2.def (DW_AT_GNU_numerator, DW_AT_GNU_denominator): New
attributes.
From-SVN: r226887
Kyrylo Tkachov [Fri, 14 Aug 2015 09:45:44 +0000 (09:45 +0000)]
[AArch64][obvious] Mark target_attr_1.c as compile-only
* gcc.target/aarch64/target_attr_1.c: Make test compile-only.
From-SVN: r226886
James Greenhalgh [Fri, 14 Aug 2015 09:38:36 +0000 (09:38 +0000)]
[Patch ARM/AArch64] Add missing is_neon_type types
gcc/
* config/arm/types.md (is_neon_type): Add missing types.
From-SVN: r226885
Yuri Rumyantsev [Fri, 14 Aug 2015 09:11:01 +0000 (09:11 +0000)]
driver-i386.c (host_detect_local_cpu): Add support for skylake.
gcc/
* config/i386/driver-i386.c (host_detect_local_cpu): Add support
for skylake.
* config/i386/i386.c (PTA_SKYLAKE): New macros.
(processor_alias_table): Add skylake description.
(enum processor_model): Add skylake processor.
(arch_names_table): Add skylake record.
* doc/invoke.texi: Add skylake item.
gcc/testsuite/
* gcc.target/i386/builtin_target.c: Add skylake check.
libgcc/
* config/i386/cpuinfo.c (enum processor_subtypes): Add skylake.
(get_intel_cpu): Likewise.
From-SVN: r226884
David Malcolm [Fri, 14 Aug 2015 01:18:14 +0000 (01:18 +0000)]
jit: on OS X, add -Wl,-undefined,dynamic_lookup to driver invocation
gcc/jit/ChangeLog:
* jit-playback.c (invoke_driver): On OS X, add
"-Wl,-undefined,dynamic_lookup" to the driver arguments.
From-SVN: r226882
GCC Administrator [Fri, 14 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226881
Ian Lance Taylor [Thu, 13 Aug 2015 22:56:01 +0000 (22:56 +0000)]
dwarf.c (read_function_entry): Add vec_inlined parameter.
* dwarf.c (read_function_entry): Add vec_inlined parameter.
Change all callers.
From-SVN: r226878
Jeff Law [Thu, 13 Aug 2015 22:19:56 +0000 (16:19 -0600)]
pr66314.c: Moved from here to ..
* gcc.dg/pr66314.c: Moved from here to ..
* gcc.dg/asan/pr66314.c: Here. Use -fno-sanitize=all
to clear all sanitizers before -fsanitize=kernel-address.
From-SVN: r226877
Andrew MacLeod [Thu, 13 Aug 2015 21:39:03 +0000 (21:39 +0000)]
ira-int.h: Include recog.h.
* ira-int.h: Include recog.h.
* ira-build.c: Don't include recog.h.
* ira-color.c: Likewise.
* ira-conflicts.c: Likewise.
* ira-costs.c: Likewise.
* ira-emit.c: Likewise.
* ira-lives.c: Likewise.
* ira.c: Likewise.
* sched-deps.c: Likewise.
* sel-sched.c: Likewise.
* target-globals.c: Likewise.
From-SVN: r226876
Richard Sandiford [Thu, 13 Aug 2015 20:22:34 +0000 (20:22 +0000)]
re PR middle-end/55035 (reload1.c:3766:41: error: ‘orig_dup[0]’ may be used uninitialized in this function (for fr30, microblaze, moxie, rl78))
gcc/
PR bootstrap/55035
* reload1.c (elimination_costs_in_insn): Make it obvious to the
compiler that the n_dups and n_operands loop bounds are invariant.
From-SVN: r226874
Kyrylo Tkachov [Thu, 13 Aug 2015 17:06:14 +0000 (17:06 +0000)]
[RTL-ifcvt] Allow PLUS+immediate expression in noce_try_store_flag_constants
* ifcvt.c (noce_try_store_flag_constants): Handle PLUS-immediate
expressions in A and B.
* gcc.target/aarch64/cinc_common_1.c: New test.
From-SVN: r226869
Paolo Carlini [Thu, 13 Aug 2015 15:45:37 +0000 (15:45 +0000)]
re PR c++/53421 (__attribute__((__may_alias__)) prevents taking address of conversion operator member function)
2015-08-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53421
* g++.dg/ext/attribute-may-alias-1.C: New.
* g++.dg/ext/attribute-may-alias-2.C: Likewise.
From-SVN: r226868
Ville Voutilainen [Thu, 13 Aug 2015 15:00:20 +0000 (18:00 +0300)]
neg.s: Remove.
2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com>
* testsuite/experimental/array/neg.s: Remove.
* testsuite/experimental/array/neg.ii.gz: Remove.
From-SVN: r226866
Ville Voutilainen [Thu, 13 Aug 2015 14:55:46 +0000 (17:55 +0300)]
Implement std::experimental::fundamentals_v2::make_array and std::experimental::fundamentals_v2::to_array.
2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement std::experimental::fundamentals_v2::make_array and
std::experimental::fundamentals_v2::to_array.
* include/Makefile.am: Add array.
* include/Makefile.in: Add array.
* include/experimental/array: New.
* testsuite/experimental/array/make_array.cc: Likewise.
* testsuite/experimental/array/neg.cc: Likewise.
* doc/html/manual/status.html: Mark make_array as Y.
* doc/xml/manual/status_cxx2017.xml: Likewise.
From-SVN: r226865
Jonathan Wakely [Thu, 13 Aug 2015 13:57:41 +0000 (14:57 +0100)]
alloc_traits.h: Add feature-test macro.
* include/bits/alloc_traits.h: Add feature-test macro.
* include/bits/allocator.h: Likewise.
* include/bits/range_access.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/unordered_map.h: Likewise.
From-SVN: r226864
Jonathan Wakely [Thu, 13 Aug 2015 13:57:35 +0000 (14:57 +0100)]
2.cc: New.
* testsuite/30_threads/mutex/unlock/2.cc: New.
* testsuite/30_threads/recursive_mutex/unlock/2.cc: New.
* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: New.
* testsuite/30_threads/shared_mutex/unlock/1.cc: New.
* testsuite/30_threads/shared_timed_mutex/unlock/1.cc: New.
* testsuite/30_threads/timed_mutex/unlock/2.cc: New.
From-SVN: r226863
Eelis van der Weegen [Thu, 13 Aug 2015 13:57:28 +0000 (13:57 +0000)]
shared_mutex (shared_mutex::unlock()): Fix typo.
2015-08-13 Eelis van der Weegen <eelis@eelis.net>
* include/std/shared_mutex (shared_mutex::unlock()): Fix typo.
From-SVN: r226862
Richard Biener [Thu, 13 Aug 2015 12:34:36 +0000 (12:34 +0000)]
tree.c (nonnull_arg_p): Move from ...
2015-08-13 Richard Biener <rguenther@suse.de>
* tree.c (nonnull_arg_p): Move from ...
* tree-vrp.c (nonnull_arg_p): ... here.
* tree.h (nonnull_arg_p): Declare.
* tree-ssa-sccvn.c (init_scc_vn): Perform all lattice init
here, register ptr != 0 for nonnull_arg_p pointer arguments.
Properly initialize static chain and by-reference result pointer.
(run_scc_vn): Adjust.
From-SVN: r226861
Robert Suchanek [Thu, 13 Aug 2015 11:45:21 +0000 (11:45 +0000)]
[MIPS] Enable load/store bonding for I6400
gcc/
* config/mips/mips.h (ENABLE_LD_ST_PAIRS): Enable load/store pairs for
I6400.
From-SVN: r226860
Matthew Wahab [Thu, 13 Aug 2015 11:30:53 +0000 (11:30 +0000)]
atomic-inst-cas.c: New.
* gcc.target/aarch64/atomic-inst-cas.c: New.
* gcc.target/aarch64/atomic-inst-ops.inc: New.
From-SVN: r226859
Matthew Wahab [Thu, 13 Aug 2015 11:28:42 +0000 (11:28 +0000)]
* config/aarch64/aarch64-protos.h
(aarch64_gen_atomic_cas): Declare.
* config/aarch64/aarch64.c (aarch64_expand_compare_and_swap):
Choose appropriate instruction pattern for the target.
(aarch64_gen_atomic_cas): New.
* config/aarch64/atomics.md (UNSPECV_ATOMIC_CAS): New.
(atomic_compare_and_swap<mode>_1): Rename to
aarch64_compare_and_swap<mode>. Fix some indentation.
(aarch64_compare_and_swap<mode>_lse): New.
(aarch64_atomic_cas<mode>): New.
From-SVN: r226858
Matthew Wahab [Thu, 13 Aug 2015 11:20:07 +0000 (11:20 +0000)]
aarch64.h (AARCH64_ISA_LSE): New.
* config/aarch64/aarch64.h (AARCH64_ISA_LSE): New.
(TARGET_LSE): New.
From-SVN: r226857
Andreas Schwab [Thu, 13 Aug 2015 10:26:04 +0000 (10:26 +0000)]
* gcc.dg/tree-ssa/vrp33.c: Add -fno-tree-fre.
From-SVN: r226856
Paolo Carlini [Thu, 13 Aug 2015 10:18:47 +0000 (10:18 +0000)]
re PR c++/62164 (5.0: ICE: error: Both section and comdat group is set)
2015-08-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/62164
* g++.dg/torture/pr62164.C: New.
From-SVN: r226855
Richard Biener [Thu, 13 Aug 2015 09:39:50 +0000 (09:39 +0000)]
re PR tree-optimization/67191 (ICE: in before_dom_children, at tree-ssa-sccvn.c:4372)
2015-08-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/67191
* tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): Remove
assert we value-numbered last stmts operand because it can validly
trigger for unreachable code.
* gcc.dg/torture/pr67191.c: New testcase.
* g++.dg/torture/pr67191.C: Likewise.
From-SVN: r226854
Kyrylo Tkachov [Thu, 13 Aug 2015 09:11:13 +0000 (09:11 +0000)]
[RTL-ifcvt] Improve conditional select ops on immediates (fix failing x86_64 cmov tests)
PR rtl-optimization/67103
* ifcvt.c (noce_try_store_flag_constants): Move
x = (-(test != 0) & (b - a)) + a transformation to...
(noce_try_cmove): ... Here. Try it if normal conditional
move fails.
From-SVN: r226853
Richard Biener [Thu, 13 Aug 2015 07:52:06 +0000 (07:52 +0000)]
tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize comparison operand order and commutative ternary op operand order.
2015-08-12 Richard Biener <rguenther@suse.de>
* tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize
comparison operand order and commutative ternary op operand order.
(sccvn_dom_walker::cond_stack): New state to track temporary
expressions.
(sccvn_dom_walker::after_dom_children): Remove tempoary expressions
no longer valid.
(sccvn_dom_walker::record_cond): Add a single temporary conditional
expression.
(sccvn_dom_walker::record_conds): Add a temporary conditional
expressions and all related expressions also true/false.
(sccvn_dom_walker::before_dom_children): Record temporary
expressions based on the controlling condition of a single
predecessor. When trying to simplify a conditional statement
lookup expressions we might have inserted earlier.
* testsuite/gcc.dg/tree-ssa/ssa-fre-47.c: New testcase.
* testsuite/gcc.dg/tree-ssa/ssa-fre-48.c: Likewise.
* testsuite/gcc.dg/tree-ssa/ssa-fre-49.c: Likewise.
* testsuite/g++.dg/tree-ssa/pr61034.C: Adjust.
* testsuite/gcc.dg/fold-compare-2.c: Likewise.
* testsuite/gcc.dg/pr50763.c: Likewise.
* testsuite/gcc.dg/predict-3.c: Likewise.
* testsuite/gcc.dg/tree-ssa/
20030709-2.c: Likewise.
* testsuite/gcc.dg/tree-ssa/pr19831-3.c: Likewise.
* testsuite/gcc.dg/tree-ssa/pr20657.c: Likewise.
* testsuite/gcc.dg/tree-ssa/pr21001.c: Likewise.
* testsuite/gcc.dg/tree-ssa/pr37508.c: Likewise.
* testsuite/gcc.dg/tree-ssa/vrp04.c: Likewise.
* testsuite/gcc.dg/tree-ssa/vrp07.c: Likewise.
* testsuite/gcc.dg/tree-ssa/vrp09.c: Likewise.
* testsuite/gcc.dg/tree-ssa/vrp16.c: Likewise.
* testsuite/gcc.dg/tree-ssa/vrp20.c: Likewise.
* testsuite/gcc.dg/tree-ssa/vrp25.c: Likewise.
* testsuite/gcc.dg/tree-ssa/vrp87.c: Likewise.
From-SVN: r226852
Robert Suchanek [Thu, 13 Aug 2015 07:41:45 +0000 (07:41 +0000)]
[MIPS] Remove W32 and W64 pseudo-processors.
gcc/
* config/mips/mips.c (mips_rtx_cost_data): Remove costs for W32 and W64
pseudo-processors.
* config/mips/mips.md (processor): Remove w32 and w64.
From-SVN: r226851
Richard Biener [Thu, 13 Aug 2015 07:06:10 +0000 (07:06 +0000)]
re PR tree-optimization/66502 (SCCVN can't handle PHIs optimistically optimally)
2015-08-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/66502
PR tree-optimization/67167
* tree-ssa-sccvn.c (vn_phi_compute_hash): Do not include
backedge arguments.
(vn_phi_lookup): Adjust.
(vn_phi_insert): Likewise.
(visit_phi): Prefer to value-number to another PHI node
over value-numbering to a PHI argument.
(init_scc_vn): Mark DFS back edges.
* gcc.dg/tree-ssa/ssa-fre-46.c: New testcase.
From-SVN: r226850
Richard Biener [Thu, 13 Aug 2015 06:59:25 +0000 (06:59 +0000)]
gimple.h (gcall::code_): New constant static member.
2015-08-13 Richard Biener <rguenther@suse.de>
* gimple.h (gcall::code_): New constant static member.
(gcond::code_): Likewise.
* gimple.c (gcall::code_): Define.
(gcond::code_): Likewise.
(is_a_helper <const gcond *>): Add.
(gimple_call_lhs): Use GIMPLE_CHECK2 in the gimple overload
and forward to a new gcall overload with less checking and a
cheaper way to access the operand.
(gimple_call_lhs_ptr): Likewise.
(gimple_call_set_lhs): Likewise.
(gimple_call_internal_p): Likewise.
(gimple_call_with_bounds_p): Likewise.
(gimple_call_set_with_bounds): Likewise.
(gimple_call_internal_fn): Likewise.
(gimple_call_set_ctrl_altering): Likewise.
(gimple_call_ctrl_altering_p): Likewise.
(gimple_call_fntype): Likewise.
(gimple_call_fn): Likewise.
(gimple_call_fn_ptr): Likewise.
(gimple_call_set_fndecl): Likewise.
(gimple_call_fndecl): Likewise.
(gimple_call_chain): Likewise.
(gimple_call_num_args): Likewise.
(gimple_call_arg): Likewise.
(gimple_call_arg_ptr): Likewise.
(gimple_call_set_arg): Likewise.
(gimple_call_noreturn_p): Likewise.
(gimple_cond_code): Likewise.
(gimple_cond_lhs): Likewise.
(gimple_cond_rhs): Likewise.
(gimple_has_lhs): Reduce checking.
From-SVN: r226849
Naveen H.S [Thu, 13 Aug 2015 04:37:22 +0000 (04:37 +0000)]
re PR middle-end/25529 ((unsigned * 2)/2 is not changed into unsigned &0x7FFFFFFF)
2015-08-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
PR middle-end/25529
* match.pd (div (mult @0 @1) @1) : New simplifier.
From-SVN: r226847
Ian Lance Taylor [Thu, 13 Aug 2015 01:04:42 +0000 (01:04 +0000)]
compiler: Flatten erroneous subtrees into errors.
Between the lowering and flattening passes of the compiler, there are
several passes that modify the lowered Go parse tree and as errors are
discovered, several nodes transform into error nodes. However, for a
higher level node such as a construction expression, the erroneous
nodes in the subtrees might not propagate their error. The flatten
phase for a node now looks for errors in the subtree and flattens the
node into an error node if any are found.
Fixes golang/go#11559, golang/go#11536, golang/go#11558.
Reviewed-on: https://go-review.googlesource.com/13097
From-SVN: r226845
GCC Administrator [Thu, 13 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226844
Paolo Carlini [Wed, 12 Aug 2015 22:38:04 +0000 (22:38 +0000)]
re PR c++/53330 (new() operator can return NULL on a zero-length allocation)
2015-08-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53330
* g++.dg/init/new42.C: New.
From-SVN: r226840
Michael Meissner [Wed, 12 Aug 2015 21:54:23 +0000 (21:54 +0000)]
re PR target/67071 (GCC misses an optimization to load vector constants)
[gcc]
2015-08-12 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/67071
* config/rs6000/predicates.md (easy_vector_constant_vsldoi): New
predicate to allow construction of vector constants using the
VSLDOI vector shift instruction.
* config/rs6000/rs6000-protos.h (vspltis_shifted): Add
declaration.
* config/rs6000/rs6000.c (vspltis_shifted): New function to return
the number of bytes to be shifted left and filled in with either
all zero or all one bits.
(gen_easy_altivec_constant): Call vsplitis_shifted if no other
methods exist.
(output_vec_const_move): On power8, generate XXLORC to generate
a vector constant with all 1's. Do a split if we need to use a
VSLDOI instruction.
* config/rs6000/rs6000.h (EASY_VECTOR_MSB): Use mode mask to
properly test for the MSB.
* config/rs6000/altivec.md (VSLDOI splitter): Add splitter for
vector constants that can be created with VSLDOI.
[gcc/testsuite]
2015-08-12 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/67071
* gcc.target/powerpc/pr67071-1.c: New file to test PR 67071 new
vector constants.
* gcc.target/powerpc/pr67071-2.c: Likewise.
* gcc.target/powerpc/pr67071-3.c: Likewise.
From-SVN: r226836
Trevor Saunders [Wed, 12 Aug 2015 20:09:33 +0000 (20:09 +0000)]
Revert "replace several uses of the anon namespace with GCC_FINAL"
This reverts commit
daa5a8a3cf9b04cd9af5544c61e12e6dca14f870.
From-SVN: r226834
Jason Merrill [Wed, 12 Aug 2015 18:08:45 +0000 (14:08 -0400)]
re PR c++/67104 (Constant expression factory function initializes std::array with static storage duration strangely)
PR c++/67104
* constexpr.c (cxx_eval_array_reference): Fix typo.
From-SVN: r226833
Jason Merrill [Wed, 12 Aug 2015 18:02:43 +0000 (14:02 -0400)]
re PR c++/67104 (Constant expression factory function initializes std::array with static storage duration strangely)
PR c++/67104
* constexpr.c (cxx_eval_array_reference): Handle sparse
CONSTRUCTORs.
From-SVN: r226830
Jason Merrill [Wed, 12 Aug 2015 18:02:35 +0000 (14:02 -0400)]
re PR c++/67108 (ICE: in cxx_eval_call_expression, at cp/constexpr.c:1345 when dumping)
PR c++/67108
* decl2.c (c_parse_final_cleanups): Set at_eof to 2 at end.
* error.c (dump_template_bindings): Don't tsubst in that case.
From-SVN: r226829
Max Filippov [Wed, 12 Aug 2015 17:36:45 +0000 (17:36 +0000)]
xtensa: add -mauto-litpools option
With support from assembler this option allows compiling huge functions,
where single literal pool at the beginning of a function may not be
reachable by L32R instructions at its end.
Currently assembler --auto-litpools option cannot deal with literals
used from multiple locations separated by more than 256 KBytes of code.
Don't turn constants into literals, instead use MOVI instruction to load
them into registers and let the assembler turn them into literals as
necessary.
2015-08-12 Max Filippov <jcmvbkbc@gmail.com>
gcc/
* config/xtensa/constraints.md (define_constraint "Y"): New
constraint.
* config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools.
* config/xtensa/linux.h (ASM_SPEC): Likewise.
* config/xtensa/predicates.md (move_operand): Match constants
and symbols in the presence of TARGET_AUTO_LITPOOLS.
* config/xtensa/xtensa.c (xtensa_valid_move): Don't allow
immediate references to TLS data.
(xtensa_emit_move_sequence): Don't force constants to memory in
the presence of TARGET_AUTO_LITPOOLS.
(print_operand): Add 'y' format, same as default, but capable of
printing SF mode constants as well.
* config/xtensa/xtensa.md (movsi_internal, movhi_internal)
(movsf_internal): Add movi pattern that loads literal.
(movsf, movdf): Don't force constants to memory in the presence
of TARGET_AUTO_LITPOOLS.
(movdf_internal): Add 'Y' constraint.
* config/xtensa/xtensa.opt (mauto-litpools): New option.
* doc/invoke.text (Xtensa options): Document -mauto-litpools.
From-SVN: r226828
Jason Merrill [Wed, 12 Aug 2015 17:33:39 +0000 (13:33 -0400)]
re PR c++/67161 (ICE with a static_assert using our internal __not/__or/__and traits)
PR c++/67161
* error.c (dump_decl) [TEMPLATE_ID_EXPR]: Pass
TFF_NO_OMIT_DEFAULT_TEMPLATE_ARGUMENTS.
From-SVN: r226827
Marek Polacek [Wed, 12 Aug 2015 17:25:23 +0000 (17:25 +0000)]
re PR c++/55095 (Wshift-overflow)
PR c++/55095
* c-common.c (maybe_warn_shift_overflow): Properly handle
left-shifting 1 into the sign bit.
* c-c++-common/Wshift-overflow-6.c: New test.
* c-c++-common/Wshift-overflow-7.c: New test.
* g++.dg/cpp1y/left-shift-2.C: New test.
From-SVN: r226826
Ian Lance Taylor [Wed, 12 Aug 2015 17:21:11 +0000 (17:21 +0000)]
compiler: Don't make gc symbol for bad array type.
When parsing a malformed array type, i.e. invalid length, gccgo
would loop indefinitely based off of a uninitialized length variable.
Fixes golang/go#11539.
Reviewed-on: https://go-review.googlesource.com/13066
From-SVN: r226825
Paolo Carlini [Wed, 12 Aug 2015 17:18:14 +0000 (17:18 +0000)]
re PR c++/52742 (Initializing an array using brace initializer and template parameters)
2015-08-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52742
* g++.dg/cpp0x/pr52742.C: New.
From-SVN: r226824
Matthew Wahab [Wed, 12 Aug 2015 15:42:31 +0000 (15:42 +0000)]
arm-fpus.def: Replace booleans with feature flags.
* config/arm/arm-fpus.def: Replace booleans with feature flags.
Update comment.
* config/arm/arm.c (ARM_FPU): Update macro.
* config/arm/arm.h (TARGET_NEON_FP16): Update feature test.
(TARGET_FP16): Likewise.
(TARGET_CRYPTO): Likewise.
(TARGET_NEON): Likewise.
(struct arm_fpu_desc): Remove fields neon, fp16 and crypto. Add
field features.
From-SVN: r226821
Caroline Tice [Wed, 12 Aug 2015 15:40:11 +0000 (08:40 -0700)]
Fix warnings when bootstrapping on darwin with vtable verification enabled.
libstdc++-v3/ChangeLog:
2015-08-11 Caroline Tice <cmtice@google.com>
PR 66521, Contributed by Eric Gallager
* acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and
fix the rpath flag to work properly for darwin.
* configure: Regenerated.
From-SVN: r226820
Tom de Vries [Wed, 12 Aug 2015 15:13:35 +0000 (15:13 +0000)]
Remove --with-host-libstdcxx
2015-08-12 Tom de Vries <tom@codesourcery.com>
PR other/67092
PR other/67098
* configure.ac: Remove --with_host_libstdcxx support.
* configure: Regenerate.
* doc/install.texi: Remove --with_host_libstdcxx item. Update
--with-stage1-libs, --with-boot-ldflags and --with-boot-libs items
accordingly. Mention default for --with-stage1-ldflags.
From-SVN: r226819
Matthew Wahab [Wed, 12 Aug 2015 15:03:29 +0000 (15:03 +0000)]
arm.h (arm_fpu_feature_set): New.
* config/arm/arm.h (arm_fpu_feature_set): New.
(ARM_FPU_FSET_HAS): New.
(FPU_FL_NONE): New.
(FPU_FL_NEON): New.
(FPU_FL_FP16): New.
(FPU_FL_CRYPTO): New.
From-SVN: r226818
H.J. Lu [Wed, 12 Aug 2015 14:52:22 +0000 (14:52 +0000)]
Add Knights Landing support to __builtin_cpu_is
This patch adds Knights Landing support to __builtin_cpu_is.
gcc/testsuite/
* gcc.target/i386/builtin_target.c (check_intel_cpu_model):
Check Knights Landing support.
libgcc/
* config/i386/cpuinfo.c (processor_types): Add INTEL_KNL.
(get_intel_cpu): Add Knights Landing support.
From-SVN: r226817
Paolo Carlini [Wed, 12 Aug 2015 14:47:58 +0000 (14:47 +0000)]
re PR c++/47461 (warn_unused_result attribute ignored for templates)
2015-08-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/47461
* g++.dg/warn/Wunused-result-1.C: New.
From-SVN: r226816
Kyrylo Tkachov [Wed, 12 Aug 2015 14:36:35 +0000 (14:36 +0000)]
[AArch64] Do not ICE after apologising for -mcmodel=large -fPIC
* config/aarch64/aarch64.c (initialize_aarch64_code_model): Break
after -mcmodel=large -fPIC sorry.
From-SVN: r226815
Richard Biener [Wed, 12 Aug 2015 14:27:40 +0000 (14:27 +0000)]
tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize comparison operand order and commutative ternary op operand order.
2015-08-12 Richard Biener <rguenther@suse.de>
* tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize
comparison operand order and commutative ternary op operand order.
(sccvn_dom_walker::cond_stack): New state to track temporary
expressions.
(sccvn_dom_walker::after_dom_children): Remove tempoary expressions
no longer valid.
(sccvn_dom_walker::record_cond): Add a single temporary conditional
expression.
(sccvn_dom_walker::record_conds): Add a temporary conditional
expressions and all related expressions also true/false.
(sccvn_dom_walker::before_dom_children): Record temporary
expressions based on the controlling condition of a single
predecessor. When trying to simplify a conditional statement
lookup expressions we might have inserted earlier.
* gcc.dg/tree-ssa/ssa-fre-47.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-48.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-49.c: Likewise.
* g++.dg/tree-ssa/pr61034.C: Adjust.
* gcc.dg/fold-compare-2.c: Likewise.
* gcc.dg/pr50763.c: Likewise.
* gcc.dg/predict-3.c: Likewise.
* gcc.dg/tree-ssa/
20030709-2.c: Likewise.
* gcc.dg/tree-ssa/pr19831-3.c: Likewise.
* gcc.dg/tree-ssa/pr20657.c: Likewise.
* gcc.dg/tree-ssa/pr21001.c: Likewise.
* gcc.dg/tree-ssa/pr37508.c: Likewise.
* gcc.dg/tree-ssa/vrp04.c: Likewise.
* gcc.dg/tree-ssa/vrp07.c: Likewise.
* gcc.dg/tree-ssa/vrp09.c: Likewise.
* gcc.dg/tree-ssa/vrp16.c: Likewise.
* gcc.dg/tree-ssa/vrp20.c: Likewise.
* gcc.dg/tree-ssa/vrp25.c: Likewise.
* gcc.dg/tree-ssa/vrp87.c: Likewise.
From-SVN: r226814
Yvan Roux [Wed, 12 Aug 2015 13:27:41 +0000 (13:27 +0000)]
re PR target/67127 ([ARM] Avoiding odd-number ldrd/strd in movdi introduced a regression on armeb-linux-gnueabihf)
2015-08-12 Yvan Roux <yvan.roux@linaro.org>
PR target/67127
* config/arm/arm.md (movdi): Restrict illegitimate ldrd/strd checking
to ARM core registers.
From-SVN: r226811
Nathan Sidwell [Wed, 12 Aug 2015 13:08:23 +0000 (13:08 +0000)]
tree-vrp.c (simplify_min_or_max_using_ranges): New.
* tree-vrp.c (simplify_min_or_max_using_ranges): New.
(simplify_stmt_using_ranges): Simplify MIN and MAX exprs.
testsuite/
* gcc.dg/vrp-min-max-1.c: New.
* gcc.dg/vrp-min-max-2.c: New.
From-SVN: r226809
Marek Polacek [Wed, 12 Aug 2015 11:26:39 +0000 (11:26 +0000)]
c-decl.c (grokdeclarator): Call error_at instead of error and pass LOC to it.
* c-decl.c (grokdeclarator): Call error_at instead of error and pass
LOC to it.
From-SVN: r226807
Jonathan Wakely [Wed, 12 Aug 2015 10:47:30 +0000 (11:47 +0100)]
appendix_contributing.xml: Update patch email policy.
* doc/xml/manual/appendix_contributing.xml: Update patch email policy.
* doc/xml/manual/status_cxx2017.xml: Update status table.
* doc/html/manual/*: Regenerate.
From-SVN: r226806
Simon Dardis [Wed, 12 Aug 2015 10:44:56 +0000 (11:44 +0100)]
[MIPS] Scheduler fix for the 74k & 24k.
2015-08-12 Simon Dardis <simon.dardis@imgtec.com>
gcc/
* config/mips/mips.c (mips_store_data_bypass_p): Bring code into
line with comments.
* config/mips/sb1.md: Update usage of mips_store_data_bypass_p.
From-SVN: r226805
Richard Biener [Wed, 12 Aug 2015 07:42:31 +0000 (07:42 +0000)]
gimple.h (remove_pointer): New trait.
2015-08-12 Richard Biener <rguenther@suse.de>
* gimple.h (remove_pointer): New trait.
(GIMPLE_CHECK2): New inline template function.
(gassign::code_): New constant static member.
(is_a_helper<const gassign *>): Add.
(gimple_assign_lhs): Use GIMPLE_CHECK2 in the gimple overload
and forward to a new gassign overload with less checking and a
cheaper way to access the operand.
(gimple_assign_lhs_ptr): Likewise.
(gimple_assign_set_lhs): Likewise.
(gimple_assign_rhs1, gimple_assign_rhs1_ptr, gimple_assign_set_rhs1):
Likewise.
(gimple_assign_rhs2, gimple_assign_rhs2_ptr, gimple_assign_set_rhs2):
Likewise.
(gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3):
Likewise.
(gimple_assign_rhs_code): Likewise.
* gimple.c (gassign::code_): Define.
From-SVN: r226802
Richard Biener [Wed, 12 Aug 2015 07:34:07 +0000 (07:34 +0000)]
tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Eliminate edges marked as not executable by SCCVN.
2015-08-12 Richard Biener <rguenther@suse.de>
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Eliminate edges marked as not executable by SCCVN.
* tree-ssa-sccvn.c: Include gimple-iterator.h.
(cond_dom_walker): Rename to sccvn_dom_walker.
(sccvn_dom_walker::before_dom_children): Value-number defs
of all stmts.
(run_scc_vn): Remove loop value-numbering all SSA names.
Drop not visited SSA names to varying.
* gcc.dg/tree-ssa/ssa-fre-43.c: Adjust.
From-SVN: r226801
Tom de Vries [Wed, 12 Aug 2015 05:50:55 +0000 (05:50 +0000)]
Fix vect/trapv-vect-reduc-4.c for sparc
2015-08-12 Tom de Vries <tom@codesourcery.com>
PR testsuite/67175
* gcc.dg/vect/trapv-vect-reduc-4.c: Add reduction detection scan.
Handle absence of vector min/max for sparc.
From-SVN: r226800
GCC Administrator [Wed, 12 Aug 2015 00:16:10 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226798
Ian Lance Taylor [Tue, 11 Aug 2015 23:11:36 +0000 (23:11 +0000)]
compiler: Check for EOF in malformed signatures.
When parsing a malformed function declaration with invalid parameters,
gccgo would infinitely loop looking for the end of the function
declaration.
Fixes golang/go#11530, golang/go#11531.
Reviewed-on: https://go-review.googlesource.com/13065
From-SVN: r226795
Ian Lance Taylor [Tue, 11 Aug 2015 22:45:32 +0000 (22:45 +0000)]
compiler: Handle newlines in general comments.
On comments, the specification says
(http://golang.org/ref/spec#Comments): General comments start with the
character sequence /* and continue through the character sequence */.
A general comment containing one or more newlines acts like a newline,
otherwise it acts like a space.
Fixes golang/go#11528.
Reviewed-on: https://go-review.googlesource.com/13064
From-SVN: r226794
Trevor Saunders [Tue, 11 Aug 2015 22:39:37 +0000 (22:39 +0000)]
replace several uses of the anon namespace with GCC_FINAL
gcc/ChangeLog:
2015-08-11 Trevor Saunders <tbsaunde@tbsaunde.org>
* compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c,
gimple-ssa-strength-reduction.c, graphite.c, init-regs.c,
ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c,
omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c,
tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c,
tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c,
vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous
namespace.
From-SVN: r226793
Trevor Saunders [Tue, 11 Aug 2015 22:39:31 +0000 (22:39 +0000)]
add GCC_FINAL to ansidecl.h
include/ChangeLog:
2015-08-11 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* ansidecl.h (GCC_FINAL): New macro.
From-SVN: r226792
Ian Lance Taylor [Tue, 11 Aug 2015 21:37:26 +0000 (21:37 +0000)]
compiler: Don't make void-typed temporaries.
Fixes golang/go#11568.
Reviewed-on: https://go-review.googlesource.com/12653
From-SVN: r226788
Uros Bizjak [Tue, 11 Aug 2015 18:27:46 +0000 (20:27 +0200)]
* gcc.target/i386/avx2-vect-shift.c: Remove unneeded dg directives.
From-SVN: r226787
Uros Bizjak [Tue, 11 Aug 2015 17:59:25 +0000 (19:59 +0200)]
configure.ac (tools/gjdoc): Depend on CREATE_WRAPPERS.
* configure.ac (tools/gjdoc): Depend on CREATE_WRAPPERS.
* configure: Regenerate.
* tools/Makefile.am: Remove unneeded dependencies for Automake 1.11.
* tools/Makefile.in: Regenerate.
From-SVN: r226785
Uros Bizjak [Tue, 11 Aug 2015 17:53:41 +0000 (19:53 +0200)]
re PR target/66954 (function multiversioning fails for target "aes")
libgcc/ChangeLog:
PR target/66954
* config/i386/cpuinfo.c (enum processor_features): Add FEATURE_PCLMUL.
(get_available_features): Handle FEATURE_PCLMUL.
gcc/ChangeLog:
PR target/66954
* config/i386/i386.c (get_builtin_code_for_version): Add P_PCLMUL
to enum feature_priority and feature_list.
(fold_builtin_cpu): Add F_PCLMUL to enum processor_features
and isa_names_table.
gcc/testsuite/ChangeLog:
PR target/66954
* g++.dg/ext/mv25.C: New test.
From-SVN: r226784
Yuri Rumyantsev [Tue, 11 Aug 2015 13:52:17 +0000 (13:52 +0000)]
tree-vect-stmts.c (vectorizable_shift): Add missed test on vect_induction_def.
gcc/
* tree-vect-stmts.c (vectorizable_shift): Add missed test on
vect_induction_def.
gcc/testsuite:
* gcc.target/i386/avx2-vect-shift.c: New test.
From-SVN: r226781
Manuel López-Ibáñez [Tue, 11 Aug 2015 13:34:00 +0000 (13:34 +0000)]
re PR c/66098 (#pragma diagnostic 'ignored' not fully undone by pop for strict-overflow)
gcc/ChangeLog:
2015-08-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/66098
PR c/66711
* diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into
account when deciding what was the command-line status.
gcc/testsuite/ChangeLog:
2015-08-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/66098
PR c/66711
* gcc.dg/pragma-diag-3.c: New test.
* gcc.dg/pragma-diag-4.c: New test.
From-SVN: r226780
Nathan Sidwell [Tue, 11 Aug 2015 12:34:43 +0000 (12:34 +0000)]
* tree-vrp.c (simplify_abs_using_ranges): Simplify.
From-SVN: r226779