gcc.git
9 years agore PR c++/66957 (incorrect "is protected within this context" error)
Jason Merrill [Thu, 20 Aug 2015 01:45:49 +0000 (21:45 -0400)]
re PR c++/66957 (incorrect "is protected within this context" error)

PR c++/66957
* search.c (protected_accessible_p): Remove redundant access_in_type.
Add otype parm instead of walking binfo.
(friend_accessible_p): Check SCOPE itself.  Handle class
templates.  Pass through otype.
(dfs_accessible_post): Handle all accessibility cases.
(dfs_accessible_pre): New.
(accessible_p): Use it.  Don't check protected access here.  Pass
decl and otype to dfs_walk.
(member_declared_in_type, dfs_access_in_type_pre): New.
(access_in_type): Use dfs_access_in_type_pre.
* friend.c (add_friend): Fix multiple friends with the same name.

From-SVN: r227023

9 years ago* lambda.c (current_nonlambda_scope): New.
Jason Merrill [Thu, 20 Aug 2015 01:45:44 +0000 (21:45 -0400)]
* lambda.c (current_nonlambda_scope): New.

From-SVN: r227022

9 years agoDaily bump.
GCC Administrator [Thu, 20 Aug 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227021

9 years ago[Patch][expand] Check gimple statement to improve LSHIFT_EXP expand
Jiong Wang [Wed, 19 Aug 2015 22:55:28 +0000 (22:55 +0000)]
[Patch][expand] Check gimple statement to improve LSHIFT_EXP expand

This patch improves LSHIFT_EXP expand if the shift operand comes from sign
extension and the shift result across word_mode_size boundary. See code
comments for details.

2015-08-19  Jiong.Wang  <jiong.wang@arm.com>

gcc/
  * expr.c (expand_expr_real_2): Check gimple statement during
  LSHIFT_EXPR expand.

gcc/testsuite
  * gcc.dg/wide_shift_64_1.c: New testcase.
  * gcc.dg/wide_shift_128_1.c: Likewise.
  * gcc.target/aarch64/ashlti3_1.c: Likewise.

From-SVN: r227018

9 years agocommon.opt (fstack-protector): Initialize to -1.
Magnus Granberg [Wed, 19 Aug 2015 22:07:06 +0000 (22:07 +0000)]
common.opt (fstack-protector): Initialize to -1.

       * common.opt (fstack-protector): Initialize to -1.
        (fstack-protector-all): Likewise.
        (fstack-protector-strong): Likewise.
        (fstack-protector-explicit): Likewise.
        * configure.ac: Add --enable-default-ssp.
        * defaults.h (DEFAULT_FLAG_SSP): New.  Default SSP to strong.
        * opts.c (finish_options): Update opts->x_flag_stack_protect if it is
        -1.
        * doc/install.texi: Document --enable-default-ssp.
        * config.in: Regenerated.
        * configure: Likewise.

        * lib/target-supports.exp
        (check_effective_target_fstack_protector_enabled): New test.
        * gcc.target/i386/ssp-default.c: New test.

From-SVN: r227017

9 years ago[PR64164] fix regressions reported on m68k and armeb
Alexandre Oliva [Wed, 19 Aug 2015 17:00:32 +0000 (17:00 +0000)]
[PR64164] fix regressions reported on m68k and armeb

Defer stack slot address assignment for all parms that can't live in
pseudos, and accept pseudos assignments in assign_param_setup_block.

for  gcc/ChangeLog

PR rtl-optimization/64164
* cfgexpand.c (parm_maybe_byref_p): Renamed to...
(parm_in_stack_slot_p): ... this.  Disregard mode, what
matters is whether the parm will live in a pseudo or a stack
slot.
(expand_one_ssa_partition): Deal with params without a default
def.  Disregard mode.
* cfgexpand.h: Renamed function declaration.
* tree-ssa-coalesce.c: Adjust.
* function.c (split_complex_args): Allocate stack slot for
unassigned parms before splitting.
(parm_in_unassigned_mem_p): New.  Use it instead of
parm_maybe_byref_p throughout this file.
(assign_parm_setup_block): Use it.  Accept pseudos in the
expand-assigned rtl.
(assign_parm_setup_reg): Drop BLKmode requirement.
(assign_parm_setup_stack): Allocate and fill in the address of
unassigned MEM parms.

From-SVN: r227015

9 years agogenmodes.c (emit_mode_unit_size_inline): New function.
David Sherwood [Wed, 19 Aug 2015 15:23:11 +0000 (15:23 +0000)]
genmodes.c (emit_mode_unit_size_inline): New function.

2015-08-19  David Sherwood  <david.sherwood@arm.com>

    gcc/
* genmodes.c (emit_mode_unit_size_inline): New function.
(emit_mode_unit_precision_inline): New function.
(emit_insn_modes_h): Emit new #define.  Emit new functions.
(emit_mode_unit_size): New function.
(emit_mode_unit_precision): New function.
(emit_mode_adjustments): Add mode_unit_size adjustments.
(emit_insn_modes_c): Emit new arrays.
* machmode.h (GET_MODE_UNIT_SIZE, GET_MODE_UNIT_PRECISION): Update to
use new inline methods.

From-SVN: r227013

9 years ago[AArch64] Use popcount_hwi instead of homebrew version
Kyrylo Tkachov [Wed, 19 Aug 2015 15:09:38 +0000 (15:09 +0000)]
[AArch64] Use popcount_hwi instead of homebrew version

* config/aarch64/aarch64.c (bit_count): Delete prototype
and definition.
(aarch64_print_operand): Use popcount_hwi instead of the above.

From-SVN: r227012

9 years ago[AArch64][obvious] Remove obsolete comment in aarch64-option-extensions.def
Kyrylo Tkachov [Wed, 19 Aug 2015 15:01:21 +0000 (15:01 +0000)]
[AArch64][obvious] Remove obsolete comment in aarch64-option-extensions.def

* config/aarch64/aarch64-option-extensions.def: Delete obsolete
comment.

From-SVN: r227011

9 years agoForward-port test generic_31.f90 from the 5 branch.
Mikael Morin [Wed, 19 Aug 2015 14:47:23 +0000 (14:47 +0000)]
Forward-port test generic_31.f90 from the 5 branch.

gcc/testsuite/
PR fortran/66929
* gfortran.dg/generic_31.f90: New.

From-SVN: r227010

9 years agore PR middle-end/67133 (ICE at -Os and above on x86_64-linux-gnu in gimple_op, at...
Marek Polacek [Wed, 19 Aug 2015 14:22:26 +0000 (14:22 +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-ssa-isolate-paths.c
(insert_trap_and_remove_trailing_statements): Rename to ...
(insert_trap): ... this.  Don't remove trailing statements; split
block instead.
(find_explicit_erroneous_behaviour): Don't remove all outgoing edges.

* g++.dg/torture/pr67133.C: New test.

From-SVN: r227009

9 years agoAvoid signed left shift undefined behaviour in sext_hwi
Mikael Morin [Wed, 19 Aug 2015 13:42:36 +0000 (13:42 +0000)]
Avoid signed left shift undefined behaviour in sext_hwi

gcc/
PR other/67042
* hwint.h (sext_hwi): Switch to unsigned for the left shift, and
conditionalize the whole on __GNUC__.  Add fallback code
depending neither on undefined nor implementation-defined behaviour.

From-SVN: r227008

9 years agocmath: Fix typo in comment.
Paolo Carlini [Wed, 19 Aug 2015 13:20:29 +0000 (13:20 +0000)]
cmath: Fix typo in comment.

2015-08-19  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cmath: Fix typo in comment.

From-SVN: r227007

9 years agocmath: Revert fix for libstdc++/58625...
Paolo Carlini [Wed, 19 Aug 2015 13:17:51 +0000 (13:17 +0000)]
cmath: Revert fix for libstdc++/58625...

2015-08-19  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cmath: Revert fix for libstdc++/58625, no
longer necessary (__builtin_signbit is now type-generic).

From-SVN: r227006

9 years ago[AArch64] Cleanup whitespace in aarch64.c
Jiong Wang [Wed, 19 Aug 2015 13:02:19 +0000 (13:02 +0000)]
[AArch64] Cleanup whitespace in aarch64.c

2015-08-19  Jiong Wang  <jiong.wang@arm.com>

gcc/
  * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Replace
  whitespaces with tab.

From-SVN: r227005

9 years agoMake the stack non-executable in GNAT tools
Florian Weimer [Wed, 19 Aug 2015 13:00:24 +0000 (15:00 +0200)]
Make the stack non-executable in GNAT tools

Due to PR67205, the deeply nested instantiations require trampolines,
which in turn requires an executable stack for the GNAT tools on
architectures such as x86_64.

From-SVN: r227004

9 years ago* ChangeLog: Fix corrupted entry.
Uros Bizjak [Wed, 19 Aug 2015 09:19:08 +0000 (11:19 +0200)]
* ChangeLog: Fix corrupted entry.

From-SVN: r227003

9 years ago[ARM] Use %wd format for lane printing in bounds_check
Kyrylo Tkachov [Wed, 19 Aug 2015 08:26:43 +0000 (08:26 +0000)]
[ARM] Use %wd format for lane printing in bounds_check

* config/arm/arm.c (bounds_check): Use %wd print format
for HOST_WIDE_INT arguments.

From-SVN: r227002

9 years agoremove more useless typedefs
Trevor Saunders [Wed, 19 Aug 2015 02:48:48 +0000 (02:48 +0000)]
remove more useless typedefs

gcc/c-family/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

* c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
 typedefs.

gcc/c/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

* c-aux-info.c, c-parser.c, c-tree.h: Remove useless typedefs.

gcc/cp/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

* call.c, class.c, cp-tree.h, decl.c, except.c, mangle.c,
method.c, name-lookup.h, parser.c, parser.h, rtti.c,
semantics.c, typeck2.c: Remove useless typedefs.

gcc/fortran/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

* dependency.c, dependency.h, gfortran.h, io.c, module.c,
parse.h, resolve.c, trans-types.h, trans.h: remove useless
typedefs.

gcc/lto/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

* lto.h: Remove useless typedefs.

gcc/objc/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

* objc-act.h, objc-next-runtime-abi-02.c, objc-runtime-hooks.h:
Remove useless typedefs.

gcc/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

* bb-reorder.c, cfgloop.h, collect2.c, combine.c, dse.c,
dwarf2cfi.c, gcse-common.h, genopinit.c, ggc-page.c, machmode.h,
mcf.c, modulo-sched.c, omp-low.c, read-rtl.c, sched-rgn.c,
signop.h, tree-call-cdce.c, tree-dfa.c, tree-diagnostic.c,
tree-inline.h, tree-scalar-evolution.c, tree-ssa-address.c,
tree-ssa-loop-niter.c, tree-ssa-loop.h, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sccvn.h, tree-ssa-structalias.c,
tree-ssa-uninit.c, tree-ssa.h, tree-vect-loop-manip.c,
tree-vectorizer.h, tree-vrp.c, var-tracking.c: Remove useless
typedefs.

From-SVN: r227001

9 years agoremove useless typedefs
Trevor Saunders [Wed, 19 Aug 2015 02:48:16 +0000 (02:48 +0000)]
remove useless typedefs

gcc/ChangeLog:

2015-08-11  trevor Saunders  <tbsaunde@tbsaunde.org>

* bt-load.c, cgraph.h, dwarf2out.c, dwarf2out.h, final.c,
function.c, graphite-scop-detection.c, haifa-sched.c,
ipa-devirt.c, ipa-split.c, recog.c, ree.c, stmt.c,
tree-data-ref.c, tree-ssa-dom.c, tree-ssa-loop-ivopts.c,
varasm.c: Remove typedefs of structs.

From-SVN: r227000

9 years agoDaily bump.
GCC Administrator [Wed, 19 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226998

9 years agoaltivec.h (vec_adde): New define.
Bill Schmidt [Tue, 18 Aug 2015 22:02:46 +0000 (22:02 +0000)]
altivec.h (vec_adde): New define.

[gcc]

2015-08-18  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>

* config/rs6000/altivec.h (vec_adde): New define.
(vec_addec): Likewise.
(vec_double): Likewise.
(vec_bperm): Likewise.
(vec_gb): Likewise.
* config/rs6000/rs6000-builtin.def (ADDE): New
BU_ALTIVEC_OVERLOAD_3.
(ADDEC): Likewise.
(DOUBLE): New BU_VSX_OVERLOAD_1.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add new
entries for ALTIVEC_BUILTIN_VEC_ADDC, ALTIVEC_BUILTIN_VEC_ADDE,
ALTIVEC_BUILTIN_VEC_ADDEC, ALTIVEC_BUILTIN_VEC_ANDC,
VSX_BUILTIN_VEC_DOUBLE, ALTIVEC_BUILTIN_VEC_MERGEH,
ALTIVEC_BUILTIN_VEC_MERGEL, ALTIVEC_BUILTIN_VEC_NOR,
ALTIVEC_BUILTIN_VEC_OR, ALTIVEC_BUILTIN_VEC_XOR,
ALTIVEC_BUILTIN_VEC_PERM, ALTIVEC_BUILTIN_VEC_SEL,
P8V_BUILTIN_VEC_EQV, P8V_BUILTIN_VEC_NAND, P8V_BUILTIN_VEC_ORC,
and P8V_BUILTIN_VEC_VBPERMQ.

[gcc/testsuite]

2015-08-18  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>

* gcc.target/powerpc/altivec-35.c: New test.
* gcc.target/powerpc/p8vector-builtin-8.c: New test.
* gcc.target/powerpc/vsx-vector-7.c: New test.

From-SVN: r226995

9 years ago* print-tree.c (print_node): Handle TREE_BINFO.
Jason Merrill [Tue, 18 Aug 2015 21:29:12 +0000 (17:29 -0400)]
* print-tree.c (print_node): Handle TREE_BINFO.

From-SVN: r226994

9 years agore PR c++/66919 (C++14 ICE during error reporting)
Jason Merrill [Tue, 18 Aug 2015 21:29:07 +0000 (17:29 -0400)]
re PR c++/66919 (C++14 ICE during error reporting)

PR c++/66919
* g++.dg/cpp1y/auto-fn27.C: New.

From-SVN: r226993

9 years agoDR 1155
Jason Merrill [Tue, 18 Aug 2015 21:29:01 +0000 (17:29 -0400)]
DR 1155

DR 1155
* pt.c (convert_nontype_argument): Allow internal linkage in C++11
and up.

From-SVN: r226992

9 years agore PR middle-end/36757 (__builtin_signbit should be type-generic)
Francois-Xavier Coudert [Tue, 18 Aug 2015 20:07:57 +0000 (20:07 +0000)]
re PR middle-end/36757 (__builtin_signbit should be type-generic)

PR middle-end/36757

* builtins.c (expand_builtin_signbit): Add asserts to make sure
we can expand BUILT_IN_SIGNBIT inline.
* builtins.def (BUILT_IN_SIGNBIT): Make type-generic.
* doc/extend.texi: Document the type-generic __builtin_signbit.

* c-common.c (check_builtin_function_arguments): Add check
for BUILT_IN_SIGNBIT argument.

* gcc.dg/builtins-error.c: Add checks for __builtin_signbit.
* gcc.dg/tg-tests.h: Add checks for __builtin_signbit.

From-SVN: r226990

9 years agore PR rtl-optimization/67218 (Combine incorrectly folds (double) (float) (unsigned))
Richard Sandiford [Tue, 18 Aug 2015 19:04:41 +0000 (19:04 +0000)]
re PR rtl-optimization/67218 (Combine incorrectly folds (double) (float) (unsigned))

gcc/
PR rtl-optimization/67218
* simplify-rtx.c (exact_int_to_float_conversion_p): New function.
(simplify_unary_operation_1): Use it.

gcc/testsuite/
PR rtl-optimization/67218
* gcc.c-torture/execute/ieee/pr67218.c,
gcc.target/aarch64/fcvt_int_float_double1.c,
gcc.target/aarch64/fcvt_int_float_double2.c,
gcc.target/aarch64/fcvt_int_float_double3.c,
gcc.target/aarch64/fcvt_int_float_double4.c,
gcc.target/aarch64/fcvt_uint_float_double1.c,
gcc.target/aarch64/fcvt_uint_float_double2.c,
gcc.target/aarch64/fcvt_uint_float_double3.c,
gcc.target/aarch64/fcvt_uint_float_double4.c: New tests.

From-SVN: r226987

9 years agore PR c++/67216 (false is still a null pointer constant)
Jonathan Wakely [Tue, 18 Aug 2015 18:04:48 +0000 (19:04 +0100)]
re PR c++/67216 (false is still a null pointer constant)

PR c++/67216
* testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
Fix use of safe-bool idiom that isn't valid in C++11.

From-SVN: r226986

9 years ago* include/bits/ptr_traits.h: Include <bits/move.h> for addressof.
Jonathan Wakely [Tue, 18 Aug 2015 18:04:42 +0000 (19:04 +0100)]
* include/bits/ptr_traits.h: Include <bits/move.h> for addressof.

From-SVN: r226985

9 years agore PR libstdc++/67066 (libstdc++-v3/src/filesystem/dir.cc fails to compile with ...
Jonathan Wakely [Tue, 18 Aug 2015 18:04:32 +0000 (19:04 +0100)]
re PR libstdc++/67066 (libstdc++-v3/src/filesystem/dir.cc fails to compile with --enable-concept-checks)

PR libstdc++/67066
* doc/xml/manual/configure.xml (manual.intro.setup.configure): Add
caveats for --enable-concept-checks. Improve link text.
* doc/xml/manual/diagnostics.xml (std.diagnostics.concept_checking):
Clarify caveats.
* doc/html/*: Regenerate.
* include/bits/stl_deque.h (deque): Only use concept checks in C++03.
* include/bits/stl_stack.h (stack): Likewise.
* include/bits/stl_vector.h (vector): Likewise.

From-SVN: r226984

9 years agoatomic-comp-swap-release-acquire.c: Adjust dg-options to disable LSE extensions.
Matthew Wahab [Tue, 18 Aug 2015 16:10:10 +0000 (16:10 +0000)]
atomic-comp-swap-release-acquire.c: Adjust dg-options to disable LSE extensions.

* gcc.target/aarch64/atomic-comp-swap-release-acquire.c: Adjust
dg-options to disable LSE extensions.
* gcc.target/aarch64/atomic-op-acq_rel.c: Likewise.
* gcc.target/aarch64/atomic-op-acquire.c: Likewise.
* gcc.target/aarch64/atomic-op-char.c: Likewise.
* gcc.target/aarch64/atomic-op-consume.c: Likewise.
* gcc.target/aarch64/atomic-op-imm.c: Likewise.
* gcc.target/aarch64/atomic-op-int.c: Likewise.
* gcc.target/aarch64/atomic-op-long.c: Likewise.
* gcc.target/aarch64/atomic-op-relaxed.c: Likewise.
* gcc.target/aarch64/atomic-op-seq_cst.c: Likewise.
* gcc.target/aarch64/atomic-op-release.c: Likewise.
* gcc.target/aarch64/atomic-op-short.c: Likewise.
* gcc.target/aarch64/sync-comp-swap.c: Likewise.
* gcc.target/aarch64/sync-op-acquire.c: Likewise.
* gcc.target/aarch64/sync-op-full.c: Likewise.
* gcc.target/aarch64/sync-op-release.c: Likewise.

From-SVN: r226979

9 years agore PR c++/67160 (static_assert feature test macro)
Paolo Carlini [Tue, 18 Aug 2015 14:38:51 +0000 (14:38 +0000)]
re PR c++/67160 (static_assert feature test macro)

c-family/
2015-08-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67160
* c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
in c++1z mode.

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

PR c++/67160
* g++.dg/cpp1z/feat-cxx1z.C: New.

From-SVN: r226972

9 years agore PR middle-end/67222 (ICE in gimple_call_arg with bogus posix_memalign)
Marek Polacek [Tue, 18 Aug 2015 13:41:27 +0000 (13:41 +0000)]
re PR middle-end/67222 (ICE in gimple_call_arg with bogus posix_memalign)

PR middle-end/67222
* gimple-low.c (lower_stmt): Don't lower BUILT_IN_POSIX_MEMALIGN
if the call isn't valid.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check builtins using
gimple_call_builtin_p.
(call_may_clobber_ref_p_1): Likewise.
(stmt_kills_ref_p): Likewise.

* gcc.dg/torture/pr67222.c: New test.

From-SVN: r226969

9 years ago[MIPS] Fix register renaming in the interrupt handlers.
Robert Suchanek [Tue, 18 Aug 2015 12:42:12 +0000 (12:42 +0000)]
[MIPS] Fix register renaming in the interrupt handlers.

gcc/
* config/mips/mips-protos.h (mips_hard_regno_rename_ok): New prototype.
* config/mips/mips.c (mips_hard_regno_rename_ok): New function.
(mips_hard_regno_scratch_ok): Likewise.
(TARGET_HARD_REGNO_SCRATCH_OK): Define macro.
* config/mips/mips.h (HARD_REGNO_RENAME_OK): New.

gcc/testsuite/
* gcc.target/mips/interrupt_handler-bug-1.c: New test.

From-SVN: r226968

9 years agotree-ssa-loop-niter.c (refine_value_range_using_guard): New.
Bin Cheng [Tue, 18 Aug 2015 07:57:54 +0000 (07:57 +0000)]
tree-ssa-loop-niter.c (refine_value_range_using_guard): New.

* tree-ssa-loop-niter.c (refine_value_range_using_guard): New.
(determine_value_range): Call refine_value_range_using_guard for
each loop initial condition to improve value range.

gcc/testsuite/ChangeLog
* gcc.dg/tree-ssa/loop-bound-1.c: New test.
* gcc.dg/tree-ssa/loop-bound-3.c: New test.
* gcc.dg/tree-ssa/loop-bound-5.c: New test.

From-SVN: r226966

9 years agoxtensa: fix _Unwind_GetCFA
Max Filippov [Tue, 18 Aug 2015 01:08:22 +0000 (01:08 +0000)]
xtensa: fix _Unwind_GetCFA

Returning context->cfa in _Unwind_GetCFA makes CFA point one stack frame
higher than what was actually used by code at context->ra. This results
in invalid CFA value in signal frames and premature unwinding completion
in forced unwinding used by uClibc NPTL thread cancellation.
Returning context->sp from _Unwind_GetCFA makes all CFA values valid and
matching code that used them.

2015-08-18  Max Filippov  <jcmvbkbc@gmail.com>
libgcc/
* config/xtensa/unwind-dw2-xtensa.c (_Unwind_GetCFA): Return
context->sp instead of context->cfa.

From-SVN: r226964

9 years agoxtensa: use unwind-dw2-fde-dip instead of unwind-dw2-fde
Max Filippov [Tue, 18 Aug 2015 01:07:10 +0000 (01:07 +0000)]
xtensa: use unwind-dw2-fde-dip instead of unwind-dw2-fde

This allows having exception cleanup code in binaries that don't
register their unwind tables.

2015-08-18  Max Filippov  <jcmvbkbc@gmail.com>
libgcc/
* config/xtensa/t-windowed (LIB2ADDEH): Replace unwind-dw2-fde
with unwind-dw2-fde-dip.

From-SVN: r226963

9 years agoxtensa: reimplement register spilling
Max Filippov [Tue, 18 Aug 2015 01:05:44 +0000 (01:05 +0000)]
xtensa: reimplement register spilling

Spilling windowed registers in userspace is much easier, more portable,
less error-prone and equally effective as in kernel. Now that register
spilling syscall is considered obsolete in the xtensa linux kernel
replace it with CALL12 followed by series of ENTRY in libgcc.

2015-08-18  Max Filippov  <jcmvbkbc@gmail.com>
libgcc/
* config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill): Use
CALL12 followed by series of ENTRY to spill windowed registers.
(__xtensa_nonlocal_goto): Call __xtensa_libgcc_window_spill
instead of making linux spill syscall.

From-SVN: r226962

9 years agoDaily bump.
GCC Administrator [Tue, 18 Aug 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226961

9 years agomips.exp: Redefine isa variable which is referenced in later code.
Matthew Fortune [Mon, 17 Aug 2015 22:35:19 +0000 (22:35 +0000)]
mips.exp: Redefine isa variable which is referenced in later code.

gcc/testsuite/
* gcc.target/mips/mips.exp (mips-dg-options): Redefine isa
which is used in later code.

From-SVN: r226957

9 years agore PR c++/67216 (false is still a null pointer constant)
Paolo Carlini [Mon, 17 Aug 2015 21:40:07 +0000 (21:40 +0000)]
re PR c++/67216 (false is still a null pointer constant)

/cp
2015-08-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67216
* call.c (null_ptr_cst_p): In C++11 return 'false' for 'false'.

/testsuite
2015-08-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67216
* g++.dg/cpp0x/nullptr34.C: New.
* g++.dg/warn/Wconversion2.C: Adjust.
* g++.dg/warn/Wnull-conversion-1.C: Likewise.
* g++.old-deja/g++.other/null3.C: Likewise.

* g++.dg/cpp0x/pr51313.C: Adjust.

From-SVN: r226956

9 years agore PR c++/67244 (internal compiler error: in gimplify_var_or_parm_decl, at gimplify...
Jason Merrill [Mon, 17 Aug 2015 18:42:09 +0000 (14:42 -0400)]
re PR c++/67244 (internal compiler error: in gimplify_var_or_parm_decl, at gimplify.c:1801)

PR c++/67244
* pt.c (tsubst_copy_and_build): Call insert_pending_capture_proxies.

From-SVN: r226950

9 years agore PR c++/67104 (Constant expression factory function initializes std::array with...
Jason Merrill [Mon, 17 Aug 2015 18:42:04 +0000 (14:42 -0400)]
re PR c++/67104 (Constant expression factory function initializes std::array with static storage duration strangely)

PR c++/67104
* constexpr.c (array_index_cmp, find_array_ctor_elt): New.
(cxx_eval_array_reference, cxx_eval_store_expression): Use them.

From-SVN: r226949

9 years agoconstexpr.c (cxx_eval_store_expression): Don't set CONSTRUCTOR_NO_IMPLICIT_ZERO if...
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

9 years ago* except.c (check_noexcept_r): Assert that fn is POINTER_TYPE_P.
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

9 years ago* da.po: Update.
Joseph Myers [Mon, 17 Aug 2015 17:13:16 +0000 (18:13 +0100)]
* da.po: Update.

From-SVN: r226944

9 years ago* config/i386/i386.c: Remove include of fibheap.h.
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

9 years agoc-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing with whitespaces before...
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

9 years agore PR tree-optimization/67221 (ICE at -Os and above on x86_64-linux-gnu: Segmentation...
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

9 years agoarm.c (neon_element_bits): Replace call to GET_MODE_BITSIZE (GET_MODE_INNER (m))...
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

9 years ago[ARM] arm memcpy of aligned data
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

9 years agore PR tree-optimization/16107 (missed optimization with some math function builtins)
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

9 years agoDaily bump.
GCC Administrator [Mon, 17 Aug 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226932

9 years agore PR fortran/54656 (ICE with software REAL(16) for NORM2)
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

9 years agotrans-intrinsic.c (conv_intrinsic_ieee_is_negative): Use type generic BUILT_IN_SIGNBIT.
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

9 years agore PR libfortran/41387 (OPEN, STATUS='NEW' of a symbolic link to a non-existing file...
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

9 years agoDaily bump.
GCC Administrator [Sun, 16 Aug 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226915

9 years agocp-demangle.c (d_abi_tags): Preserve di->last_name across any ABI tags.
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

9 years agore PR c++/65974 (Bogus deprecated-declarations warnings for inline definitions of...
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

9 years agoDaily bump.
GCC Administrator [Sat, 15 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226907

9 years ago[PR64164] Drop copyrename, use coalescible partition as base when optimizing.
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

9 years ago* tree-core.h (tree_base): Fix typo.
Marek Polacek [Fri, 14 Aug 2015 17:59:41 +0000 (17:59 +0000)]
* tree-core.h (tree_base): Fix typo.

From-SVN: r226900

9 years agocompiler: Report unnamed receiver types.
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

9 years agore PR middle-end/67133 (ICE at -Os and above on x86_64-linux-gnu in gimple_op, at...
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

9 years agore PR target/67143 (ICE (could not split insn) on aarch64-linux-gnu)
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

9 years agoany (any::operator=(const any&)): Move check for self-assignment.
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

9 years agoarray: Add feature-test macro.
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

9 years agoinclhack.def (aix_stdio_inline): New fix.
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

9 years agoAdd DWARF2_LINENO_DEBUGGING_INFO, and use it for nvptx
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

9 years ago[AArch64][obvious] Fix some target attribute inlining tests for -fPIC
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

9 years agoDWARF2: add extensions to handle biased types
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

9 years agoDWARF2: add extensions to handle fixed point types
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

9 years ago[AArch64][obvious] Mark target_attr_1.c as compile-only
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

9 years ago[Patch ARM/AArch64] Add missing is_neon_type types
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

9 years agodriver-i386.c (host_detect_local_cpu): Add support for skylake.
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

9 years agojit: on OS X, add -Wl,-undefined,dynamic_lookup to driver invocation
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

9 years agoDaily bump.
GCC Administrator [Fri, 14 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226881

9 years agodwarf.c (read_function_entry): Add vec_inlined parameter.
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

9 years agopr66314.c: Moved from here to ..
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

9 years agoira-int.h: Include recog.h.
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

9 years agore PR middle-end/55035 (reload1.c:3766:41: error: ‘orig_dup[0]’ may be used uninitial...
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

9 years ago[RTL-ifcvt] Allow PLUS+immediate expression in noce_try_store_flag_constants
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

9 years agore PR c++/53421 (__attribute__((__may_alias__)) prevents taking address of conversion...
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

9 years agoneg.s: Remove.
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

9 years agoImplement std::experimental::fundamentals_v2::make_array and std::experimental::funda...
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

9 years agoalloc_traits.h: Add feature-test macro.
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

9 years ago2.cc: New.
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

9 years agoshared_mutex (shared_mutex::unlock()): Fix typo.
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

9 years agotree.c (nonnull_arg_p): Move from ...
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

9 years ago[MIPS] Enable load/store bonding for I6400
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

9 years agoatomic-inst-cas.c: New.
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

9 years ago* config/aarch64/aarch64-protos.h
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

9 years agoaarch64.h (AARCH64_ISA_LSE): New.
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

9 years ago* gcc.dg/tree-ssa/vrp33.c: Add -fno-tree-fre.
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

9 years agore PR c++/62164 (5.0: ICE: error: Both section and comdat group is set)
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

9 years agore PR tree-optimization/67191 (ICE: in before_dom_children, at tree-ssa-sccvn.c:4372)
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

9 years ago[RTL-ifcvt] Improve conditional select ops on immediates (fix failing x86_64 cmov...
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

9 years agotree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize comparison operand...
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

9 years ago[MIPS] Remove W32 and W64 pseudo-processors.
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

9 years agore PR tree-optimization/66502 (SCCVN can't handle PHIs optimistically optimally)
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