]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
9 years agoGive EH_ELSE access to __builtin_eh_pointer
rth [Tue, 22 Dec 2015 19:42:31 +0000 (19:42 +0000)] 
Give EH_ELSE access to __builtin_eh_pointer

The must-not-throw wrapper for protect_cleanup_actions gets in
the way of being able to access __builtin_eh_pointer without
confusion as the identit of the exception to which we are
referring (b_eh_p has no usable argument up to this point).

Since EH_ELSE never comes from user derived code, let's drop
the c++ specific wrapping.

* tree-eh.c (honor_protect_cleanup_actions): Do not wrap
eh_else in a must-not-throw; set ehp_region for it too.

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

9 years agoPR ipa/67811
rth [Tue, 22 Dec 2015 19:42:24 +0000 (19:42 +0000)] 
PR ipa/67811

* gimple.h (struct gtransaction): Add label_norm, label_uninst;
replace label with label_over.
(gimple_build_transaction): Remove label parameter.
(gimple_transaction_label_norm): New.
(gimple_transaction_label_uninst): New.
(gimple_transaction_label_over): Rename from gimple_transaction_label.
(gimple_transaction_label_norm_ptr): New.
(gimple_transaction_label_uninst_ptr): New.
(gimple_transaction_label_over_ptr): Rename from
gimple_transaction_label_ptr.
(gimple_transaction_set_label_norm): New.
(gimple_transaction_set_label_uninst): New.
(gimple_transaction_set_label_over): Rename from
gimple_transaction_set_label.
* gimple-pretty-print.c (dump_gimple_transaction): Update.
* gimple-streamer-in.c (input_gimple_stmt) [GIMPLE_TRANSACTION]: Same.
* gimple-streamer-out.c (output_gimple_stmt) [GIMPLE_TRANSACTION]: Same.
* gimple-walk.c (walk_gimple_op) [GIMPLE_TRANSACTION]: Same.
* tree-cfg.c (make_edges_bb) [GIMPLE_TRANSACTION]: Same.
(cleanup_dead_labels) [GIMPLE_TRANSACTION]: Same.
(verify_gimple_transaction): Same.
(gimple_redirect_edge_and_branch) [GIMPLE_TRANSACTION]: Same.
* tree-inline.c (remap_gimple_stmt) [GIMPLE_TRANSACTION]: Same.
* gimple.c (gimple_build_transaction): Remove label parameter;
initialize all three label memebers.
* gimplify.c (gimplify_transaction): Update call
to gimple_build_transaction.
* trans-mem.c (make_tm_uninst): New.
(lower_transaction): Create uninstrumented code path here...
(ipa_tm_scan_calls_transaction): ... not here.
(ipa_uninstrument_transaction): Remove.

testsuite/
* g++.dg/tm/noexcept-1.C: Update expected must_not_throw count.
* g++.dg/tm/noexcept-4.C: Likewise.
* g++.dg/tm/noexcept-5.C: Likewise.
* g++.dg/tm/pr67811.C: New.

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

9 years agoFix previous ChangeLog entry
bergner [Tue, 22 Dec 2015 19:29:04 +0000 (19:29 +0000)] 
Fix previous ChangeLog entry

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

9 years agogcc/
bergner [Tue, 22 Dec 2015 19:27:14 +0000 (19:27 +0000)] 
gcc/
PR target/68772
* config/rs6000/rs6000.h (ASM_CPU_SPEC): For -mcpu=powerpc64le,
pass %(asm_cpu_power8)/-mpwr8.
* config/rs6000/aix53.h: Likewise.
* config/rs6000/aix61.h: Likewise.
* config/rs6000/aix71.h: Likewise.

gcc/testsuite/
PR target/68772
* gcc.target/powerpc/pr68872.c: New test.

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

9 years agoFix read of uninitialized value in make_pack_expansion()
ppalka [Tue, 22 Dec 2015 17:49:21 +0000 (17:49 +0000)] 
Fix read of uninitialized value in make_pack_expansion()

gcc/cp/ChangeLog:

* pt.c (make_pack_expansion): Make sure to initialize
ppd.type_pack_expansion_p.

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

9 years ago[PATCH] Use call-clobbered register for sibcall via GOT
uros [Tue, 22 Dec 2015 15:38:25 +0000 (15:38 +0000)] 
[PATCH] Use call-clobbered register for sibcall via GOT

From: H.J. Lu  <hongjiu.lu@intel.com>

Since sibcall never returns, we can only use call-clobbered register as
GOT base.  Otherwise, callee-saved register used as GOT base won't be
properly restored.  sibcall_memory_operand is changed to allow 32-bit
GOT slot only with pseudo register as GOT base for RTL expansion.  2
new patterns, *sibcall_GOT_32 and *sibcall_value_GOT_32, are added to
expose GOT base register to register allocator so that call-clobbered
register will be used for GOT base.

gcc/

PR target/68937
* config/i386/i386.c (ix86_function_ok_for_sibcall): Count
call to global function via GOT slot as indirect call.
* config/i386/i386.md (*sibcall_GOT_32): New pattern.
(*sibcall_value_GOT_32): Likewise.
* config/i386/predicates.md (sibcall_memory_operand): Rewrite.
Allow 32-bit GOT slot only with pseudo register as GOT base.
(GOT32_symbol_operand): New predicate.

gcc/testsuite/

PR target/68937
* gcc.target/i386/pr68937-1.c: New test.
* gcc.target/i386/pr68937-2.c: Likewise.
* gcc.target/i386/pr68937-3.c: Likewise.
* gcc.target/i386/pr68937-4.c: Likewise.
* gcc.target/i386/pr68937-5.c: Likewise.
* gcc.target/i386/pr68937-6.c: Likewise.

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

9 years ago PR c/69002
mpolacek [Tue, 22 Dec 2015 15:23:21 +0000 (15:23 +0000)] 
PR c/69002
* c-typeck.c (build_component_ref): Warn when acessing elements of
atomic structures or unions.

* gcc.dg/c11-atomic-1.c: Add dg-warnings.
* gcc.dg/c11-atomic-4.c: New test.

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

9 years agoThis series of patches fix PR61441. This patch avoids various transformations
ssaraswati [Tue, 22 Dec 2015 14:04:30 +0000 (14:04 +0000)] 
This series of patches fix PR61441. This patch avoids various transformations
with signaling NaN operands when flag_signaling_nans is on, to avoid folding
which would lose exceptions.

Bootstrapped & regression-tested on x86_64-linux-gnu.

gcc/
* fold-const.c (const_binop): Convert sNaN to qNaN when
flag_signaling_nans is off.
(const_unop): Avoid the operation, other than NEGATE and
ABS, if flag_signaling_nans is on and the operand is an sNaN.
(fold_convert_const_real_from_real): Avoid the operation if
flag_signaling_nans is on and the operand is an sNaN.
(integer_valued_real_unary_p): Update comment stating it
returns false for sNaN values.
(integer_valued_real_binary_p, integer_valued_real_call_p): Same.
(integer_valued_real_single_p): Same.
(integer_valued_real_invalid_p, integer_valued_real_p): Same.
* fold-const-call.c (fold_const_pow): Avoid the operation
if flag_signaling_nans is on and the operand is an sNaN.
(fold_const_builtin_load_exponent) Same.
(fold_const_call_sss): Same for CASE_CFN_POWI.
* gimple-fold.c (gimple_assign_integer_valued_real_p): Same.
(gimple_call_integer_valued_real_p): Same.
(gimple_phi_integer_valued_real_p): Same.
(gimple_stmt_integer_valued_real_p): Same.
* simplify-rtx.c (simplify_const_unary_operation): Avoid the
operation if flag_signaling_nans is on and the operand is an sNaN.
(simplify_const_binary_operation): Same.
* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Avoid the
operation if flag_signaling_nans is on and the operand is an sNaN.

* gcc.dg/pr61441.c: New testcase.

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

9 years agoAdd inline to std::__invfwd
redi [Tue, 22 Dec 2015 11:37:07 +0000 (11:37 +0000)] 
Add inline to std::__invfwd

PR libstdc++/59768
* include/std/functional (__invfwd): Add inline specifier.

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

9 years ago[combine] Check WORD_REGISTER_OPERATIONS normally rather than through preprocessor
ktkachov [Tue, 22 Dec 2015 10:42:47 +0000 (10:42 +0000)] 
[combine] Check WORD_REGISTER_OPERATIONS normally rather than through preprocessor

* combine.c (simplify_comparison): Convert preprocessor check of
WORD_REGISTER_OPERATIONS into runtime check.

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

9 years ago * gcc.dg/torture/pr68264.c: Tweak for Solaris.
ebotcazou [Tue, 22 Dec 2015 09:52:13 +0000 (09:52 +0000)] 
* gcc.dg/torture/pr68264.c: Tweak for Solaris.

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

9 years ago PR debug/60756
ebotcazou [Tue, 22 Dec 2015 09:51:02 +0000 (09:51 +0000)] 
PR debug/60756
* var-tracking.c (tracked_record_parameter_p): New predicate.
(track_expr_p): Invoke it.
(add_stores): Likewise.

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

9 years ago * dbgcnt.def (dom_unreachable_edges): New debug counter.
law [Tue, 22 Dec 2015 03:09:08 +0000 (03:09 +0000)] 
* dbgcnt.def (dom_unreachable_edges): New debug counter.
* tree-ssa-dom.c: Include dbgcnt.h
(dom_opt_dom_walker::before_dom_children): Handle the new counter.

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

9 years ago * go-gcc.cc (class Bvariable): Remove Gcc_tree parent class. Add
ian [Tue, 22 Dec 2015 01:58:17 +0000 (01:58 +0000)] 
* go-gcc.cc (class Bvariable): Remove Gcc_tree parent class.  Add
t_ and orig_type_ fields.  Add new two parameter constructor.  Add
get_tree and get_decl methods.
(Gcc_backend::var_expression): Pass location to var get_tree.
(Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR.  Use
two parameter constructor for Bvariable.
(Gcc_backend::global_variable_set_init): Don't remove
VIEW_CONVERT_EXPR.  Use var get_decl, not get_tree.
(Gcc_backend::write_global_definitions): Likewise.
(Gcc_backend::init_statement): Call var get_decl, not get_tree.
(Gcc_backend::block): Likewise.
(Gcc_backend::implicit_variable_set_init): Likewise.
(Gcc_backend::immutable_struct_set_init): Likewise.
(Gcc_backend::function_set_parameters): Likewise.

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

9 years agoDaily bump.
gccadmin [Tue, 22 Dec 2015 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago * go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized,
ian [Tue, 22 Dec 2015 00:10:07 +0000 (00:10 +0000)] 
* go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized,
add a VIEW_CONVERT_EXPR to the tree.
(Gcc_backend::global_variable_set_init): Remove any
VIEW_CONVERT_EXPR.
(Gcc_backend::write_global_definitions): Likewise.

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

9 years ago2015-12-21 Andrew Pinski <apinski@cavium.com>
pinskia [Mon, 21 Dec 2015 19:48:03 +0000 (19:48 +0000)] 
2015-12-21  Andrew Pinski <apinski@cavium.com>

        * config/aarch64/aarch64-option-extensions.def (LSE): Change
        FEAT_STRING to "atomics".

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

9 years agoC and C++ FE: fix source ranges for binary ops
dmalcolm [Mon, 21 Dec 2015 17:45:34 +0000 (17:45 +0000)] 
C and C++ FE: fix source ranges for binary ops

gcc/c-family/ChangeLog:
* c-common.c (binary_op_error): Convert first param from
location_t to rich_location * and use it when emitting an error.
* c-common.h (binary_op_error): Convert first param from
location_t to rich_location *.

gcc/c/ChangeLog:
* c-typeck.c: Include "gcc-rich-location.h".
(build_binary_op): In the two places that call binary_op_error,
create a gcc_rich_location and populate it with the location of
the binary op and its two operands.

gcc/cp/ChangeLog:
* typeck.c (cp_build_binary_op): Update for change in signature
of build_binary_op.  Use error_at to replace an implicit use
of input_location with param "location" in "invalid operands"
error.
(cp_build_binary_op): Replace an error with an error_at, using
"location", rather than implicitly using input_location.

gcc/testsuite/ChangeLog:
* g++.dg/diagnostic/bad-binary-ops.C: New test case.
* gcc.dg/bad-binary-ops.c: New test case.
gcc.dg/plugin/diagnostic_plugin_show_trees.c (get_range_for_expr):
Remove material copied from gcc-rich-location.c
(gcc_rich_location::add_expr): Likewise.

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

9 years agoDWARF: allow dynamic data member offsets for inheritance info
pmderodat [Mon, 21 Dec 2015 15:44:32 +0000 (15:44 +0000)] 
DWARF: allow dynamic data member offsets for inheritance info

An unintended effect of the recently introduced machinery to handle
dynamic data member offsets in variable-length records (when
-fgnat-encodings=minimal) prevented GCC from describing correctly
inheritance information for classes in C++, which is a regression.

This change rectifies this machinery in this case.

gcc/ChangeLog:

* dwarf2out.c (add_data_member_location_attribute): Do not
disable dynamic data member offsets descriptions for TREE_BINFO
members.

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

9 years ago PR tree-optimization/65337
ebotcazou [Mon, 21 Dec 2015 15:15:50 +0000 (15:15 +0000)] 
PR tree-optimization/65337
* tree-ssa-pre.c (eliminate): Also clean up abnormal edges if need be.

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

9 years agoRename test file that had incorrect bug number
redi [Mon, 21 Dec 2015 14:16:36 +0000 (14:16 +0000)] 
Rename test file that had incorrect bug number

PR libstdc++/68982
testsuite/20_util/function_objects/mem_fn/68276.cc: Rename to ...
testsuite/20_util/function_objects/mem_fn/68982.cc: Correct bug number.

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

9 years agolibstdc++/68995 qualify calls to __callable_functor
redi [Mon, 21 Dec 2015 13:02:18 +0000 (13:02 +0000)] 
libstdc++/68995 qualify calls to __callable_functor

PR libstdc++/68995
* include/std/functional (_function_handler, function): Qualify
__callable_functor.
* testsuite/20_util/function/68995.cc: New.

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

9 years agolibstdc++/68276 consistently qualify std::forward
redi [Mon, 21 Dec 2015 13:02:12 +0000 (13:02 +0000)] 
libstdc++/68276 consistently qualify std::forward

PR libstdc++/68276
* include/std/functional (__invoke_impl, _Mem_fn::operator()): Qualify
std::forward.
testsuite/20_util/function_objects/mem_fn/68276.cc: New.

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

9 years agoFix typo
ebotcazou [Mon, 21 Dec 2015 11:41:34 +0000 (11:41 +0000)] 
Fix typo

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

9 years agoS/390: Fix base reg condition.
krebbel [Mon, 21 Dec 2015 11:40:42 +0000 (11:40 +0000)] 
S/390: Fix base reg condition.

2015-12-21  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* config/s390/s390.c (s390_emit_prologue): Fix base reg condition.

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

9 years agoPR libstdc++/66693.
ville [Mon, 21 Dec 2015 11:22:16 +0000 (11:22 +0000)] 
PR libstdc++/66693.

* include/std/tuple (tuple_element, tuple_size, tuple_element_t,
__tuple_element_t): Move to...
* include/std/utility: ...here.
* testsuite/20_util/pair/astuple/astuple.cc: Adjust.
* testsuite/20_util/pair/astuple/astuple_cpp14.cc: New.
* testsuite/20_util/tuple/tuple_element.cc: Adjust.
* testsuite/20_util/tuple/tuple_element_t.cc: Likewise.
* testsuite/20_util/tuple/tuple_size.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/tuple_element.cc:
Likewise.
* testsuite/23_containers/array/tuple_interface/tuple_element_cpp14.cc:
New.
* testsuite/23_containers/array/tuple_interface/tuple_size.cc: Adjust.

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

9 years ago[ARC] Add and refurbish the builtins related functions.
claziss [Mon, 21 Dec 2015 09:53:01 +0000 (09:53 +0000)] 
[ARC] Add and refurbish the builtins related functions.

gcc/
2015-12-21  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/builtins.def: New file.
* config/arc/arc.c (arc_init_simd_builtins): Remove.
(arc_builtins): Likewise.
(TARGET_BUILTIN_DECL): Define.
(arc_builtin_id): New enum.
(arc_builtin_description): New structure.
(arc_bdesc): New variable.
(arc_tolower): New function.
(def_mbuiltin): Remove.
(arc_builtin_decl): New function.
(arc_expand_builtin_aligned ): Likewise.
(apply_GEN_FCN): Likewise.
(arc_init_builtins): Refurbish.
(arc_expand_builtin): Likewise.
(simd_insn_args_type): Remove.
(builtin_description): Likewise
(arc_simd_builtin_desc_list): Likewise.
(arc_expand_simd_builtin): Likewise.
(arc_process_double_reg_moves): Use the new builtin name format.
* config/arc/arc.md (unspec): New builtin function UNSPEC codes.
(vunspec): New builtin function VUNSPEC codes.
(UNSPEC_SWAP, UNSPEC_MUL64, UNSPEC_MULU64, UNSPEC_DIVAW)
(UNSPEC_DIRECT, UNSPEC_LP, UNSPEC_CASESI, VUNSPEC_RTIE)
(VUNSPEC_SYNC, VUNSPEC_BRK, VUNSPEC_FLAG, VUNSPEC_SLEEP)
(VUNSPEC_SWI, VUNSPEC_CORE_READ, VUNSPEC_CORE_WRITE, VUNSPEC_LR)
(VUNSPEC_SR, VUNSPEC_TRAP_S, VUNSPEC_UNIMP_S, VUNSPEC_NOP)
(UNSPEC_ARC_MEMBAR,VUNSPEC_ARC_CAS, VUNSPEC_ARC_LL)
(VUNSPEC_ARC_SC, VUNSPEC_ARC_EX, VUNSPEC_DEXCL)
(VUNSPEC_DEXCL_NORES, VUNSPEC_LR_HIGH): Remove.
(mul64, mulu64): Remove patterns.
(store_direct, *movdf_insn_nolrsr, casesi, casesi_load)
(casesi_compact_jump, nopv, swap, divaw, flag, brk, rtie, sync)
(swi, sleep, core_read, core_write, lr, sr, trap_s, unimp_s)
(doloop_begin_i): Use new builtin function code naming.
(kflag, clri, ffs, ffs_f, ffssi2, fls, seti): New patterns.
* config/arc/builtins.def: New file.
* config/arc/fpx.md: Use new builtin function code naming.
* config/arc/simdext.md: New SIMD builtin function UNSPEC
codes. Use them in the SIMD patterns.

gcc/testsuite
2015-12-21  Claudiu Zissulescu  <claziss@synopsys.com>

* gcc.target/arc/builtin_general.c: New test.
* gcc.target/arc/builtin_simd.c: Likewise.
* gcc.target/arc/builtin_special.c: Likewise.

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

9 years ago PR 66827
nickc [Mon, 21 Dec 2015 08:23:35 +0000 (08:23 +0000)] 
PR 66827
* regex.c (EXTRACT_NUMBER): Cast sign byte to unsigned before left
shifting.

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

9 years agoThis series of patches fix PR61441. This patch makes resulting NaN values
ssaraswati [Mon, 21 Dec 2015 07:59:30 +0000 (07:59 +0000)] 
This series of patches fix PR61441. This patch makes resulting NaN values
to be quiet NaN for real value operations, irrespective of the flag_signaling_nans
flag. The caller has the responsibility to avoid the operation if flag_signaling_nans
is on.

gcc/
* real.c (do_add): Make resulting NaN value to be qNaN.
(do_multiply, do_divide, do_fix_trunc): Same.
(real_arithmetic, real_ldexp, real_convert): Same.
(real_isinteger): Updated comment stating it returns false for sNaN.

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

9 years ago PR tree-optimization/64910
law [Mon, 21 Dec 2015 04:49:02 +0000 (04:49 +0000)] 
PR tree-optimization/64910
* config/i386/i386.md (testqi_ext_3): Allow HImode.

PR tree-optimization/64910
* gcc.target/i386/bittest.c: New test.

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

9 years ago PR c++/67411
jason [Mon, 21 Dec 2015 03:04:08 +0000 (03:04 +0000)] 
PR c++/67411
* decl2.c (decl_maybe_constant_var_p): Use DECL_HAS_VALUE_EXPR_P.

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

9 years agoDaily bump.
gccadmin [Mon, 21 Dec 2015 00:16:11 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago2015-12-20 Andrew Pinsi <apinski@cavium.com>
pinskia [Sun, 20 Dec 2015 22:01:32 +0000 (22:01 +0000)] 
2015-12-20  Andrew Pinsi  <apinski@cavium.com>

        * config/aarch64/atomics.md
        (aarch64_atomic_<atomic_optab>_fetch<mode>_lse): Add early clobber
        to the scratch register.

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

9 years ago PR c++/67411
jason [Sun, 20 Dec 2015 18:38:37 +0000 (18:38 +0000)] 
PR c++/67411

* lambda.c (generic_lambda_fn_p): Split out from...
(maybe_add_lambda_conv_op): ...here.
* semantics.c (process_outer_var_ref): Don't defer maybe-constant
variables in a generic lambda.
* pt.c (instantiate_non_dependent_or_null): New.
* init.c (constant_value_1): Use it.
* cp-tree.h: Declare it and generic_lambda_fn_p.

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

9 years ago PR c++/67411
jason [Sun, 20 Dec 2015 18:38:30 +0000 (18:38 +0000)] 
PR c++/67411

* decl2.c (decl_maybe_constant_var_p): A proxy isn't constant.

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

9 years ago * gcc-interface/utils2.c (gnat_rewrite_reference) <REALPART_EXPR>: New
ebotcazou [Sun, 20 Dec 2015 10:38:09 +0000 (10:38 +0000)] 
* gcc-interface/utils2.c (gnat_rewrite_reference) <REALPART_EXPR>: New
case identical to FLOAT_EXPR.
<IMAGPART_EXPR>: Likewise.

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

9 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: During
ebotcazou [Sun, 20 Dec 2015 10:30:27 +0000 (10:30 +0000)] 
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: During
layout in type_annotate_only mode, skip discriminants of derived
tagged types renaming those of the parent type.
In type_annotate_only mode, if the type is tagged, do not override a
size clause but take into account the alignment of the tag.
(annotate_rep): In type_annotate_only mode, deal with  discriminants
of derived tagged types renaming those of the parent type.

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

9 years ago * gcc-interface/utils.c (maybe_pad_type): In type_annotate_only mode,
ebotcazou [Sun, 20 Dec 2015 10:27:37 +0000 (10:27 +0000)] 
* gcc-interface/utils.c (maybe_pad_type): In type_annotate_only mode,
retrieve the component type if this is an array and do not issue the
warning for concurrent types.

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

9 years agoThis series of patches fix PR61441. This patch removes flag_errno_math check
ssaraswati [Sun, 20 Dec 2015 09:20:57 +0000 (09:20 +0000)] 
This series of patches fix PR61441. This patch removes flag_errno_math check
for RINT, treating it similar to nearbyint.

Bootstrapped & regression-tested on x86_64-linux-gnu.

gcc/
* match.pd (f(x) -> x): Removed flag_errno_math check for RINT.

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

9 years agoThis series of patches are for fixing PR61441. This patch modifies code to use
ssaraswati [Sun, 20 Dec 2015 09:13:51 +0000 (09:13 +0000)] 
This series of patches are for fixing PR61441. This patch modifies code to use
REAL_VALUE_ISSIGNALING_NAN instead of REAL_VALUE_ISNAN to avoid the operatins
only for sNaN operands.

Bootstrapped & regression-tested on x86_64-linux-gnu.

gcc/
* fold-const.c (const_binop): Use REAL_VALUE_ISSIGNALING_NAN instead
of REAL_VALUE_ISNAN to avoid the operation for sNaN operands.
* simplify-rtx.c (simplify_const_binary_operation): Same.

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

9 years ago PR middle-end/65337
hubicka [Sun, 20 Dec 2015 05:50:29 +0000 (05:50 +0000)] 
PR middle-end/65337
* tree-ssa-dce.c (bb_postorder): New static var.
(forward_edge_to_pdom): Remove.
(remove_dead_stmt): Instead of redirecting edges only keep an edge
on a path to nearest live BB.
(eliminate_unnecessary_stmts): Free bb_postorder.
* cfganal.c (dfs_find_deadend): Add START_POINTES.
* cfganal.h (inverted_post_order_compute): Update prototype.

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

9 years agoDaily bump.
gccadmin [Sun, 20 Dec 2015 00:16:13 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago PR rtl-optimization/68910
ebotcazou [Sat, 19 Dec 2015 21:58:02 +0000 (21:58 +0000)] 
PR rtl-optimization/68910
* emit-rtl.c (set_unique_reg_note) <>REG_EQUAL>: Add bypass for USEs.
* config/sparc/sparc.md (anddi3): Enable only in 64-bit mode.
(iordi3): Likewise.
(xordi3): Likewise.
(one_cmpldi2): Likewise.
(*anddi3_sp32): Delete.
(*and_not_di_sp32): Likewise.
(*iordi3_sp32): Likewise.
(*or_not_di_sp32): Likewise.
(*xordi3_sp32): Likewise.
(*xor_not_di_sp32): Likewise.
(32-bit DImode logical operations splitter): Likewise.
(*one_cmpldi2_sp32): Likewise.

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

9 years ago2015-12-19 Andrew Burgess <andrew.burgess@embecosm.com>
amylaar [Sat, 19 Dec 2015 19:29:12 +0000 (19:29 +0000)] 
2015-12-19  Andrew Burgess  <andrew.burgess@embecosm.com>

        * config/arc/arc.md (*storeqi_update): Use 'memory_operand' and
        fix RTL pattern to include the plus.
        (*storehi_update): Likewise.
        (*storesi_update): Likewise.
        (*storesf_update): Likewise.
        * config/arc/predicates.md (store_update_operand): Delete.

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

9 years agogcc:
amylaar [Sat, 19 Dec 2015 19:22:51 +0000 (19:22 +0000)] 
gcc:

        2015-12-19  Andrew Burgess  <andrew.burgess@embecosm.com>

        * config/arc/arc.md (*loadqi_update): Use new 'any_mem_operand'
        and fix RTL pattern to include the plus.
        (*load_zeroextendqisi_update): Likewise.
        (*load_signextendqisi_update): Likewise.
        (*loadhi_update): Likewise.
        (*load_zeroextendhisi_update): Likewise.
        (*load_signextendhisi_update): Likewise.
        (*loadsi_update): Likewise.
        (*loadsf_update): Likewise.
        * config/arc/predicates.md (load_update_operand): Delete.
        (any_mem_operand): New predicate.

gcc/testsuite:

        2015-12-19  Andrew Burgess  <andrew.burgess@embecosm.com>

        * gcc.target/arc/load-update.c: New file.

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

9 years agoThis series of patches fix PR61441. This patch adds REAL_VALUE_ISSIGNALING_NAN.
ssaraswati [Sat, 19 Dec 2015 04:57:57 +0000 (04:57 +0000)] 
This series of patches fix PR61441. This patch adds REAL_VALUE_ISSIGNALING_NAN.

Bootstrapped & regression-tested on x86_64-linux-gnu.

gcc/
* real.c (real_issignaling_nan): New.
* real.h (real_issignaling_nan, REAL_VALUE_ISSIGNALING_NAN): New.

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

9 years ago PR target/68729
danglin [Sat, 19 Dec 2015 01:50:00 +0000 (01:50 +0000)] 
PR target/68729
* config/pa/pa.c (pa_emit_move_sequence): Reorganize handling of
floating-point reloads. Only reload operands that are not valid
floating-point memory operands.

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

9 years agoDaily bump.
gccadmin [Sat, 19 Dec 2015 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

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

9 years agoFix PR c++/68978 (bogus error: lvalue required as left operand of assignment)
ppalka [Fri, 18 Dec 2015 23:16:33 +0000 (23:16 +0000)] 
Fix PR c++/68978 (bogus error: lvalue required as left operand of assignment)

gcc/cp/ChangeLog:

PR c++/68978
* tree.c (lvalue_kind) [MODOP_EXPR]: New case.

gcc/testsuite/ChangeLog:

PR c++/68978
* g++.dg/template/pr68978.C: New test.

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

9 years ago PR debug/68860
jakub [Fri, 18 Dec 2015 22:16:24 +0000 (22:16 +0000)] 
PR debug/68860
* ipa-split.c (split_function): Only perform caller side
modifications for decl_debug_args here.
* cgraph.c: Include gimplify.h.
(cgraph_edge::redirect_call_stmt_to_callee): Add caller side
debug stmts for decl_debug_args.  Spelling fix in a comment.
* tree-inline.c (tree_function_versioning): Populate decl_debug_args
for args_to_skip arguments and add callee side debug stmts.
Formatting fixes.  Avoid shadowing i variable.

* gcc.dg/guality/pr68860-1.c: New test.
* gcc.dg/guality/pr68860-2.c: New test.

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

9 years ago2015-12-18 Ville Voutilainen <ville.voutilainen@gmail.com>
ville [Fri, 18 Dec 2015 21:27:53 +0000 (21:27 +0000)] 
2015-12-18  Ville Voutilainen  <ville.voutilainen@gmail.com>

Fix a regression introduced by the fix of libstdc++/68276.
* src/c++11/ios.cc (_M_grow_words): Catch bad_alloc again so that
bad_array_new_length is handled properly.

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

9 years ago * lib/target-supports.exp (check_effective_target_cilkplus): Not nvptx.
nathan [Fri, 18 Dec 2015 21:14:58 +0000 (21:14 +0000)] 
* lib/target-supports.exp (check_effective_target_cilkplus): Not nvptx.
* c-c++-common/attr-simd-3.c: Require cilkplus.
* gcc.dg/graphite/id-28.c: Likewise.

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

9 years ago * config/nvptx/nvptx.c (nvptx_maybe_convert_symbolic_operand):
nathan [Fri, 18 Dec 2015 20:18:42 +0000 (20:18 +0000)] 
* config/nvptx/nvptx.c (nvptx_maybe_convert_symbolic_operand):
Remove UNSPEC_TO_GENERIC generation.
(nvptx_output_mov_insn): Generate cvta for symbolic src.
* config/nvptx/nvptx.md (nvptx_register_operand): Allow hard reg.
(nvptx_reg_or_mem_operand): Likewise.
(nvptx_nonmemory_operand): Likewise.
(nvptx_general_operand): Delete.
(*mov<mode>_insn): Use nonimmediate_operand, permit hardregs.
(oacc_fork, oacc_join): Use general_operand.

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

9 years agoIgnore -fdebug-prefix-map in producer string (by Daniel Kahn Gillmor)
bernds [Fri, 18 Dec 2015 19:48:26 +0000 (19:48 +0000)] 
Ignore -fdebug-prefix-map in producer string (by Daniel Kahn Gillmor)

* dwarf2out.c (gen_producer_string): Ignore -fdebug-prefix-map.

testsuite/
* gcc.dg/debug/dwarf2/prod-options.c: New test.

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

9 years ago * gnat.dg/specs/debug1.ads: Bump final count to 18.
ebotcazou [Fri, 18 Dec 2015 18:21:18 +0000 (18:21 +0000)] 
* gnat.dg/specs/debug1.ads: Bump final count to 18.

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

9 years ago/cp
paolo [Fri, 18 Dec 2015 18:18:47 +0000 (18:18 +0000)] 
/cp
2015-12-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67592
* decl.c (grokdeclarator): Reject constexpr virtual member functions;
in error messages, prefer %<virtual%> and %<constexpr%> to virtual
and constexpr, respectively.

/testsuite
2015-12-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67592
* g++.dg/cpp0x/constexpr-virtual5.C: New.
* g++.dg/cpp0x/pr51463.C: Adjust dg-error string.
* g++.dg/inherit/pure1.C: Likewise.

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

9 years ago * gcc-interface/ada-tree.h (TYPE_DEBUG_TYPE): Remove duplicate.
ebotcazou [Fri, 18 Dec 2015 18:04:03 +0000 (18:04 +0000)] 
* gcc-interface/ada-tree.h (TYPE_DEBUG_TYPE): Remove duplicate.

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

9 years ago * config/nvptx/nvptx.c (nvptx_option_override): Emit sorry for
nathan [Fri, 18 Dec 2015 17:43:11 +0000 (17:43 +0000)] 
* config/nvptx/nvptx.c (nvptx_option_override): Emit sorry for
stabs debug.
(nvptx_assemble_undefined_decl): Use nvptx_assemble_decl_end.

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

9 years ago[PATCH] [PR rtl-optimization/49847] Fix ICE in CSE due to cc0-setter and cc0-user...
law [Fri, 18 Dec 2015 17:17:14 +0000 (17:17 +0000)] 
[PATCH] [PR rtl-optimization/49847] Fix ICE in CSE due to cc0-setter and cc0-user in different blocks

PR rtl-optimization/49847
* cse.c (record_jump_equiv): Handle fold_rtx returning NULL_RTX.

PR rtl-optimization/49847
* g++.dg/pr49847-2.C: New test.

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

9 years agoCompile gcc.dg/vect/pr68305.c with -mavx2 for x86 target
hjl [Fri, 18 Dec 2015 16:51:00 +0000 (16:51 +0000)] 
Compile gcc.dg/vect/pr68305.c with -mavx2 for x86 target

Since gcc.dg/vect/pr68305.c is a compile test, we should add -mavx2 for
x86 target.

* gcc.dg/vect/pr68305.c (dg-additional-options): Add -mavx2
for x86 target.

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

9 years ago2015-12-18 Ville Voutilainen <ville.voutilainen@gmail.com>
ville [Fri, 18 Dec 2015 15:17:09 +0000 (15:17 +0000)] 
2015-12-18  Ville Voutilainen  <ville.voutilainen@gmail.com>

PR libstdc++/68276

* src/c++11/ios.cc (_M_grow_words): Use nothrow new.
* testsuite/27_io/ios_base/storage/11584.cc: Adjust.

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

9 years ago * config/nvptx/nvptx.c (worker_bcast_name, worker_red_name): Delete.
nathan [Fri, 18 Dec 2015 14:39:52 +0000 (14:39 +0000)] 
* config/nvptx/nvptx.c (worker_bcast_name, worker_red_name): Delete.
(nvptx_option_override): Adjust worker symbol creation.
(nvptx_gen_wcast): Wrap worker address in UNSPEC_TO_GENERIC.
(write_worker_buffer): New.
(nvptx_file_end): Call write_worker_buffer.
* config/nvptx/nvptx.md (UNSPEC_SHARED_DATA): Delete.
(worker_load<mode>, worker_store<mode>): Delete.

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

9 years ago * c-c++-common/attr-simd-3.c: Requires pthreads.
nathan [Fri, 18 Dec 2015 14:27:45 +0000 (14:27 +0000)] 
* c-c++-common/attr-simd-3.c: Requires pthreads.

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

9 years ago2015-12-18 Richard Biener <rguenther@suse.de>
rguenth [Fri, 18 Dec 2015 13:52:11 +0000 (13:52 +0000)] 
2015-12-18  Richard Biener  <rguenther@suse.de>

PR testsuite/68776
* tree-vect-patterns.c (struct vect_recog_func): New.
(vect_vect_recog_func_ptrs): Make an array of function name pairs.
(vect_pattern_recog_1): Print the recognized pattern name.  Return
true if a pattern was recognized.
(vect_pattern_recog): Adjust.  Stop iterating over pattern recognition
functions on a stmt if a pattern was recognized.

* gcc.dg/vect/vect-widen-mult-const-s16.c: Adjust.
* gcc.dg/vect/vect-widen-mult-const-u16.c: Likewise.

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

9 years agoIRA: Fix % constraint modifier handling on disabled alternatives.
krebbel [Fri, 18 Dec 2015 10:39:52 +0000 (10:39 +0000)] 
IRA: Fix % constraint modifier handling on disabled alternatives.

gcc/ChangeLog:

2015-12-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* ira.c (ira_setup_alts): Move the scan for commutative modifier
to the first loop to make it work even with disabled alternatives.

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

9 years agoS/390: Allow to use r2 to r4 as literal pool base.
krebbel [Fri, 18 Dec 2015 10:36:57 +0000 (10:36 +0000)] 
S/390: Allow to use r2 to r4 as literal pool base.

gcc/ChangeLog

* config/s390/s390.c (s390_init_frame_layout): Try r4 to r2 for the
literal pool pointer.

gcc/testsuite/ChangeLog

* gcc.target/s390/litpool-r3-1.c: New test.

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

9 years agogcc/
ienkovich [Fri, 18 Dec 2015 10:16:56 +0000 (10:16 +0000)] 
gcc/

2015-12-18  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR tree-optimization/68906
* tree-ssa-loop-unswitch.c (tree_unswitch_outer_loop): Add check
that an exit block belongs to LOOP.

gcc/testsuite/

2015-12-18  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR tree-optimization/68906
* gcc.dg/torture/pr68906.c: New test.

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

9 years agogcc/
ienkovich [Fri, 18 Dec 2015 10:01:02 +0000 (10:01 +0000)] 
gcc/

PR tree-optimization/68956
* tree-vect-stmts.c (vect_init_vector): Fix constants
used for boolean vectors.

gcc/testsuite

PR tree-optimization/68956
* gcc.target/i386/pr68956.c: New test.

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

9 years ago[AArch64] PR rtl-optimization/68796 Add compare-of-zero_extract pattern
ktkachov [Fri, 18 Dec 2015 09:58:07 +0000 (09:58 +0000)] 
[AArch64] PR rtl-optimization/68796 Add compare-of-zero_extract pattern

PR rtl-optimization/68796
* config/aarch64/aarch64.md (*and<mode>3nr_compare0_zextract):
New pattern.
* config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle
ZERO_EXTRACT comparison with zero.
(aarch64_mask_from_zextract_ops): New function.
* config/aarch64/aarch64-protos.h (aarch64_mask_from_zextract_ops):
New prototype.

* gcc.target/aarch64/tst_3.c: New test.
* gcc.target/aarch64/tst_4.c: Likewise.

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

9 years agoS/390: Turn constm1_operand into all_ones_operand
krebbel [Fri, 18 Dec 2015 09:53:23 +0000 (09:53 +0000)] 
S/390: Turn constm1_operand into all_ones_operand

gcc/ChangeLog:

2015-12-18 Robin Dapp <rdapp@linux.vnet.ibm.com>

* config/s390/predicates.md: Change and rename
constm1_operand to all_ones_operand
* config/s390/s390.c (s390_expand_vcond): Use all_ones_operand
* config/s390/vector.md: Likewise

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

9 years agoS/390: Simplify vector conditionals
krebbel [Fri, 18 Dec 2015 09:50:02 +0000 (09:50 +0000)] 
S/390: Simplify vector conditionals

gcc/ChangeLog:

2015-12-18  Robin Dapp  <rdapp@linux.vnet.ibm.com>

* config/s390/s390.c (s390_expand_vcond): Convert vector
conditional into shift.
* config/s390/vector.md: Change operand predicate.

gcc/testsuite/ChangeLog:

2015-12-18  Robin Dapp  <rdapp@linux.vnet.ibm.com>

* gcc.target/s390/vcond-shift.c: New test to check vcond
simplification.

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

9 years ago2015-12-18 Paul Thomas <pault@gcc.gnu.org>
pault [Fri, 18 Dec 2015 09:34:13 +0000 (09:34 +0000)] 
2015-12-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/68196
*expr.c (gfc_has_default_initializer): Prevent infinite recursion
through this function for procedure pointer components.
* trans-array.c (structure_alloc_comps): Ditto twice.

2015-12-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/68196
* gfortran.dg/proc_ptr_48.f90: New test.

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

9 years agoS/390: Deprecate g5 and g6 CPU levels
krebbel [Fri, 18 Dec 2015 09:20:53 +0000 (09:20 +0000)] 
S/390: Deprecate g5 and g6 CPU levels

gcc/ChangeLog:

2015-12-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/driver-native.c (s390_host_detect_local_cpu): Pick
z900 -march -mtune even on g5 and g6 machines.
* config/s390/s390.c (s390_option_override_internal): New argument
to distingiush between options and target attributes.  Emit
deprecation warning for g5 and g6 arch/tune options.
(s390_option_override): Set new s390_option_override_internal
argument to true.
(s390_valid_target_attribute_tree): Set new
s390_option_override_internal argument to false.
* config/s390/s390.h: Default to z900 in the driver.
* doc/invoke.texi: Document the deprecation of g5 and g6.

gcc/testsuite/ChangeLog:

2015-12-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gcc.target/s390/hotpatch-8.c: Add -Wno-deprecated to options.
* gcc.target/s390/hotpatch-9.c: Likewise.

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

9 years agoAdd myself to MAINTAINERS (Write After Approval)
ssaraswati [Fri, 18 Dec 2015 05:14:15 +0000 (05:14 +0000)] 
Add myself to MAINTAINERS (Write After Approval)

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

9 years agoUpdate typedefs for integer types in config/i386/djgpp-stdint.h
andris [Fri, 18 Dec 2015 04:54:40 +0000 (04:54 +0000)] 
Update typedefs for integer types in config/i386/djgpp-stdint.h

* config/i386/djgpp-stdint.h: update typedefs for integer types

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

9 years agoAdd *-*-msdosdjgpp to lists of i[34567]86-*-* soft-fp targets
andris [Fri, 18 Dec 2015 04:46:11 +0000 (04:46 +0000)] 
Add *-*-msdosdjgpp to lists of i[34567]86-*-* soft-fp targets

* config.host: Add *-*-msdosdjgpp to lists of i[34567]86-*-*
soft-fp targets

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

9 years agoSpecify that DJGPP do not have mmap even when sys/mman.h exists
andris [Fri, 18 Dec 2015 04:36:11 +0000 (04:36 +0000)] 
Specify that DJGPP do not have mmap even when sys/mman.h exists

* configure.ac: Specify that DJGPP do not have mmap even when sys/mman.h exists
* configure: Regenerate

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

9 years ago[DJGPP] Update config/os/djgpp/error_constants.h
andris [Fri, 18 Dec 2015 04:28:01 +0000 (04:28 +0000)] 
[DJGPP] Update config/os/djgpp/error_constants.h

       * config/os/djgpp/error_constants.h: update according to DJGPP errno
       macros.

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

9 years ago[PATCH] Move split-path pass next to the tracer pass
law [Fri, 18 Dec 2015 04:04:20 +0000 (04:04 +0000)] 
[PATCH] Move split-path pass next to the tracer pass

* passes.def: Put the split-paths pass immediately before the
tracer pass.

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

9 years agoFix PR c++/68831 (superfluous -Waddress warning for C++ delete)
ppalka [Fri, 18 Dec 2015 02:25:39 +0000 (02:25 +0000)] 
Fix PR c++/68831 (superfluous -Waddress warning for C++ delete)

gcc/cp/ChangeLog:

PR c++/68831
* init.c (build_delete): Use a warning sentinel to disable
-Waddress warnings when building the conditional that tests
if the operand is NULL.

gcc/testsuite/ChangeLog:

PR c++/68831
* g++.dg/pr68831.C: New test.

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

9 years ago syscall: Add definition for NLA_HDRLEN
ian [Fri, 18 Dec 2015 01:15:37 +0000 (01:15 +0000)] 
syscall: Add definition for NLA_HDRLEN

    This change updates mksysinfo.sh so it correctly
    includes the define NLA_HDRLEN in the syscall package.

    Fixes golang/go/#13629

    Reviewed-on: https://go-review.googlesource.com/17893

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

9 years agoMark recently obsoleted targets (openbsd3 and knetbsd)
jbglaw [Fri, 18 Dec 2015 00:17:52 +0000 (00:17 +0000)] 
Mark recently obsoleted targets (openbsd3 and knetbsd)

2015-12-17  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* config-list.mk (LIST): Add --enable-obsolete to recently obsoleted
targets x86_64-knetbsd-gnu, i686-knetbsd-gnu and i686-openbsd3.0 .

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

9 years agoDaily bump.
gccadmin [Fri, 18 Dec 2015 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago[PATCH] Limit path splitting to loops we optimize for speed
law [Thu, 17 Dec 2015 23:33:44 +0000 (23:33 +0000)] 
[PATCH] Limit path splitting to loops we optimize for speed

* doc/invoke.texi (-O2 options): Remove -fsplit-paths.
(-O3 options): Add -fsplit-paths.
* gimple-ssa-split-paths.c: Include predict.h
(split_paths): Only split paths in a loop that should be
optimized for speed.
* opts.c (default_options_table): Move -fsplit-paths from -O2 to
-O3.

* gcc.dg/tree-ssa/split-path-1.c: Explicitly ask for path
splitting optimizations.

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

9 years ago gcc/
nathan [Thu, 17 Dec 2015 21:29:30 +0000 (21:29 +0000)] 
gcc/
* ipa-icf.c (sem_item_optimizer::merge): Don't pick 'main' as the
source function.

gcc/testsuite/
* gcc.dg/ipa/ipa-icf-merge-1.c: New.

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

9 years agoC FE: improvements to ranges of bad return values
dmalcolm [Thu, 17 Dec 2015 21:25:36 +0000 (21:25 +0000)] 
C FE: improvements to ranges of bad return values

gcc/c/ChangeLog:
* c-parser.c (c_parser_statement_after_labels): When calling
c_finish_return, Use the return expression's location if it has
one, falling back to the location of the first token within it.
* c-typeck.c (c_finish_return): When issuing warnings about
the incorrect presence/absence of a return value, issue a note
showing the declaration of the function.

gcc/testsuite/ChangeLog:
* gcc.dg/diagnostic-range-bad-return.c: New test case.

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

9 years agoreplace ISL with isl
spop [Thu, 17 Dec 2015 18:50:05 +0000 (18:50 +0000)] 
replace ISL with isl

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

9 years agomove all isl include files to graphite.h
spop [Thu, 17 Dec 2015 17:52:17 +0000 (17:52 +0000)] 
move all isl include files to graphite.h

* graphite-dependences.c: Move all isl include files to...
* graphite-isl-ast-to-gimple.c: Same.
* graphite-optimize-isl.c: Same.
* graphite-poly.c: Same.
* graphite-scop-detection.c: Same.
* graphite.c: Same.
* graphite.h: ... here.

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

9 years ago * config/avr/avr.h (MOVE_MAX): Set value to 1.
denisc [Thu, 17 Dec 2015 16:55:39 +0000 (16:55 +0000)] 
    * config/avr/avr.h (MOVE_MAX): Set value to 1.
        (MOVE_MAX_PIECES): Define.
        (MOVE_RATIO): Define.
        * config/avr/avr.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P):
        Provide target hook.
        (avr_use_by_pieces_infrastructure_p): New function.

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

9 years ago PR c++/67550
jason [Thu, 17 Dec 2015 16:51:58 +0000 (16:51 +0000)] 
PR c++/67550

* init.c (constant_value_1): Don't return a CONSTRUCTOR missing
non-constant elements.

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

9 years ago PR c++/67576
jason [Thu, 17 Dec 2015 16:51:52 +0000 (16:51 +0000)] 
PR c++/67576

PR c++/25466
* rtti.c (build_typeid): Use save_expr, not stabilize_reference.

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

9 years ago2015-12-17 Andris Pavenis <andris.pavenis@iki.fi>
andris [Thu, 17 Dec 2015 16:42:21 +0000 (16:42 +0000)] 
2015-12-17  Andris Pavenis  <andris.pavenis@iki.fi>

        * MAINTAINERS (Write After Approval): Add Myself.

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

9 years agoobsolete the interix target
tbsaunde [Thu, 17 Dec 2015 15:21:29 +0000 (15:21 +0000)] 
obsolete the interix target

gcc/ChangeLog:

2015-12-17  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config.gcc: mark *-interix* as obsolete.

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

9 years agoobsolete openbsd 2.0 and 3.X
tbsaunde [Thu, 17 Dec 2015 15:21:24 +0000 (15:21 +0000)] 
obsolete openbsd 2.0 and 3.X

gcc/ChangeLog:

2015-12-17  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config.gcc: Mark openbsd 2.0 and 3.X as obsolete.

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

9 years agomark *-knetbsd-* as obsolete
tbsaunde [Thu, 17 Dec 2015 15:21:18 +0000 (15:21 +0000)] 
mark *-knetbsd-* as obsolete

gcc/ChangeLog:

2015-12-17  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config.gcc: Mark knetbsd targets as obsolete.

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

9 years ago * config/nvptx/nvptx.h (NVPTX_RETURN_REGNUM, FRAME_POINTER_REGNUM,
nathan [Thu, 17 Dec 2015 15:06:03 +0000 (15:06 +0000)] 
* config/nvptx/nvptx.h (NVPTX_RETURN_REGNUM, FRAME_POINTER_REGNUM,
ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Renumber.
(REGISTER_NAMES): Update and rename.
(FIXED_REGISTERS, CALL_USED_REGISTERS): Update.
(enum_reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Reformat.

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

9 years ago2015-12-17 Richard Biener <rguenther@suse.de>
rguenth [Thu, 17 Dec 2015 14:30:53 +0000 (14:30 +0000)] 
2015-12-17  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68946
* tree-vect-slp.c (vect_slp_analyze_node_operations): Push
SLP def type to stmt operands one stmt at a time.

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

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

9 years ago * c-c++-common/Wunused-var-13.c: Requires label values.
nathan [Thu, 17 Dec 2015 14:21:57 +0000 (14:21 +0000)] 
* c-c++-common/Wunused-var-13.c: Requires label values.
* gcc.dg/torture/pr46216.c: Likewise.

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

9 years agoDWARF: describe properly Ada packed arrays
pmderodat [Thu, 17 Dec 2015 14:10:32 +0000 (14:10 +0000)] 
DWARF: describe properly Ada packed arrays

gcc/ada/ChangeLog:

* gcc-interface/ada-tree.h
(TYPE_IMPLEMENTS_PACKED_ARRAY_P, TYPE_CAN_HAVE_DEBUG_TYPE_P,
TYPE_ORIGINAL_PACKED_ARRAY, SET_TYPE_ORIGINAL_PACKED_ARRAY): New
macros.
* gcc-interface/decl.c (add_parallel_type_for_packed_array):
Rename to associate_original_type_to_packed_array.  When
-fgnat-encodings=minimal, set original packed array type as so
instead of as a parallel type to the implementation type.  In
this case, also rename the implementation type to the name of
the original array type.
(gnat_to_gnu_entity): Update invocations to
add_parallel_type_for_packed_array.  Tag ARRAY_TYPE nodes for
packed arrays with the TYPE_PACKED flag.
When -fgnat-encodings=minimal:
  - strip ___XP suffixes in packed arrays' names;
  - set the debug type for padding records around packed arrays
    to the packed array;
  - do not attach ___XUP types as parallel types of constrained
    array types.
* gcc-interface/misc.c (gnat_print_type): Update to handle
orignal packed arrays.
(gnat_get_debug_type): Update to reject packed arrays
implementation types.
(get_array_bit_stride): New.
(gnat_get_array_descr_info): Add packed arrays handling.
* gcc-interface/utils.c (maybe_pad_type): When
-fgnat-encodings=minimal, set the name of the padding type to
the one of the original packed type, if any.  Fix TYPE_DECL
peeling around the name of the input type.

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

9 years agoDWARF: add a language hook for scalar biased types
pmderodat [Thu, 17 Dec 2015 14:10:24 +0000 (14:10 +0000)] 
DWARF: add a language hook for scalar biased types

Front-ends like GNAT for Ada sometimes use biased encodings for integral
types.  This change creates a new language hook so that the bias
information can make it into the debugging information back-end and
introduces an experimental DWARF attribute to hold it.

gcc/ada/ChangeLog:

* gcc-interface/misc.c (gnat_get_type_bias): New.
(LANG_HOOKS_GET_TYPE_BIAS): Redefine macro to implement the
get_type_bias language hook.

gcc/ChangeLog:

* langhooks.h (struct lang_hooks_for_types): New get_bias_field.
* langhooks-def.h (LANG_HOOKS_GET_TYPE_BIAS): New.
(LANG_HOOKS_FOR_TYPES_INITIALIZER): Initialize the
get_bias_field.
* dwarf2out.c
(base_type_die): In non-strict DWARF mode, invoke the
get_type_bias language hook for INTEGER_TYPE nodes.  If it
returns a bias, emit an attribute for it.
(subrange_type_die): Change signature to handle bias.  If
non-strict DWARF mode, emit an attribute for it, if one passed.
(modified_type_die): For subrange types, invoke the
get_type_bias langage hook and pass the bias to
subrange_type_die.

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