]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
8 years agoShow value of GOMP_OPENACC_DIM in libgomp nvptx plugin
vries [Tue, 27 Jun 2017 15:51:48 +0000 (15:51 +0000)] 
Show value of GOMP_OPENACC_DIM in libgomp nvptx plugin

2017-06-27  Tom de Vries  <tom@codesourcery.com>

* plugin/plugin-nvptx.c (notify_var): New function.
(nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.

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

8 years agoUse secure_getenv for GOMP_DEBUG
vries [Tue, 27 Jun 2017 15:51:37 +0000 (15:51 +0000)] 
Use secure_getenv for GOMP_DEBUG

2017-06-27  Tom de Vries  <tom@codesourcery.com>

* env.c (parse_unsigned_long_1): Factor out of ...
(parse_unsigned_long): ... here.
(parse_int_1): Factor out of ...
(parse_int): ... here.
(parse_int_secure): New function.
(initialize_env): Use parse_int_secure for GOMP_DEBUG.
* secure_getenv.h: Factor out of ...
* plugin/plugin-hsa.c: ... here.
* testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.

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

8 years ago Kill IDENTIFIER_TEMPLATE.
nathan [Tue, 27 Jun 2017 15:26:38 +0000 (15:26 +0000)] 
Kill IDENTIFIER_TEMPLATE.
* cp-tree.h (lang_identifier): Remove class_template_info field.
(IDENTIFIER_TEMPLATE): Delete.
* name-lookup.c (constructor_name_full): Subsume into ...
(constructor_name): ... here.  Don't check IDENTIFIER_TEMPLATE.
(constructor_name_p): Likewise.
* mangle.c (write_source_name): Likewise.
* ptree.c (cxx_print_identifier): Likewise.

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

8 years agoPR libstdc++/81221 fix namespace qualification for parallel mode
redi [Tue, 27 Jun 2017 14:44:50 +0000 (14:44 +0000)] 
PR libstdc++/81221 fix namespace qualification for parallel mode

PR libstdc++/81221
* include/bits/stl_algo.h (sample): Qualify with _GLIBCXX_STD_A not
std.
* testsuite/25_algorithms/sample/81221.cc: New.

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

8 years ago2017-06-27 Jerome Lambourg <lambourg@adacore.com>
hainque [Tue, 27 Jun 2017 13:55:42 +0000 (13:55 +0000)] 
2017-06-27  Jerome Lambourg  <lambourg@adacore.com>

* config/i386/vxworks.h (ASM_SPEC): Remove definition. No target
specific need, just fallback on defaults.
(ASM_OUTPUT_ALIGNED_BSS): Add #undef before #define.

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

8 years ago2017-06-27 Jerome Lambourg <lambourg@adacore.com>
hainque [Tue, 27 Jun 2017 13:47:26 +0000 (13:47 +0000)] 
2017-06-27  Jerome Lambourg  <lambourg@adacore.com>
            Olivier Hainque  <hainque@adacore.com>

* config/i386/vxworks.h (DBX_REGISTER_NUMBER): Pick distinct
map for 64bits.
(TARGET_OS_CPP_BUILTINS): builtin_define CPU to X86_64 for 64bit
targets. Pick a default if no particular attempt applied.
(STACK_CHECK_PROTECT): Double for 64bit targets, which have
larger contexts.

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

8 years ago2017-06-27 Jerome Lambourg <lambourg@adacore.com>
hainque [Tue, 27 Jun 2017 13:15:35 +0000 (13:15 +0000)] 
2017-06-27  Jerome Lambourg  <lambourg@adacore.com>

gcc/
* config.gcc (i*86-wrs-vxworks7): Handle new acceptable triplet.
(x86_64-wrs-vxworks7): Likewise.

libgcc/
* config.host (i*86-wrs)vxworks7): Handle new acceptable triplet.
(x86_64-wrs-vxworks7): Likewise.

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

8 years ago2017-06-27 Olivier Hainque <hainque@adacore.com>
hainque [Tue, 27 Jun 2017 12:20:05 +0000 (12:20 +0000)] 
2017-06-27  Olivier Hainque  <hainque@adacore.com>

* config/t-vxworks7: New file.
* config.host (*-*-vxworks7): Use it.

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

8 years ago PR sanitizer/81223
mpolacek [Tue, 27 Jun 2017 11:38:31 +0000 (11:38 +0000)] 
PR sanitizer/81223
* ubsan.c (instrument_null): Check get_base_address's result for null.

* gcc.dg/ubsan/pr81223.c: New test.

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

8 years agoSimple reassoc transforms in match.pd
glisse [Tue, 27 Jun 2017 09:42:38 +0000 (09:42 +0000)] 
Simple reassoc transforms in match.pd

2017-06-27  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* match.pd ((A+-B)+(C-A), (A+B)-(A-C)): New transformations.

gcc/testsuite/
* gcc.dg/tree-ssa/assoc-1.c: New file.

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

8 years agofenv.h builtins
glisse [Tue, 27 Jun 2017 09:38:28 +0000 (09:38 +0000)] 
fenv.h builtins

2017-06-27  Marc Glisse  <marc.glisse@inria.fr>

* builtin-types.def (BT_FENV_T_PTR, BT_CONST_FENV_T_PTR,
BT_FEXCEPT_T_PTR, BT_CONST_FEXCEPT_T_PTR): New primitive types.
(BT_FN_INT_FENV_T_PTR, BT_FN_INT_CONST_FENV_T_PTR,
BT_FN_INT_FEXCEPT_T_PTR_INT, BT_FN_INT_CONST_FEXCEPT_T_PTR_INT):
New function types.
* builtins.def (BUILT_IN_FECLEAREXCEPT, BUILT_IN_FEGETENV,
BUILT_IN_FEGETEXCEPTFLAG, BUILT_IN_FEGETROUND,
BUILT_IN_FEHOLDEXCEPT, BUILT_IN_FERAISEEXCEPT,
BUILT_IN_FESETENV, BUILT_IN_FESETEXCEPTFLAG,
BUILT_IN_FESETROUND, BUILT_IN_FETESTEXCEPT,
BUILT_IN_FEUPDATEENV): New builtins.
* tree-core.h (TI_FENV_T_PTR_TYPE, TI_CONST_FENV_T_PTR_TYPE,
TI_FEXCEPT_T_PTR_TYPE, TI_CONST_FEXCEPT_T_PTR_TYPE): New entries.
* tree.h (fenv_t_ptr_type_node, const_fenv_t_ptr_type_node,
fexcept_t_ptr_type_node, const_fexcept_t_ptr_type_node): New
macros.
(builtin_structptr_types): Adjust size.
* tree.c (builtin_structptr_types): Add four entries.

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

8 years ago2017-06-27 Jerome Lambourg <lambourg@adacore.com>
hainque [Tue, 27 Jun 2017 09:15:55 +0000 (09:15 +0000)] 
2017-06-27  Jerome Lambourg  <lambourg@adacore.com>
            Olivier Hainque  <hainque@adacore.com>

* config/vxworks.h (VXWORKS_LIB_SPEC): Incorporate ...
(TLS_SYM): New local macro, forcing reference to __tls__ on
link command lines for VxWorks 7 RTPs, triggering initialization
of tlsLib.
(VXWORKS_HAVE_TLS): New macro. State whether the target VxWorks
OS features TLS support, true for RTPs on VxWorks 7.
* config/vxworks.c (vxworks_override_options): Setup emutls
accordingly.

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

8 years ago * predict.c (test_prediction_value_range): Use -1U instead of -1
jakub [Tue, 27 Jun 2017 09:13:53 +0000 (09:13 +0000)] 
* predict.c (test_prediction_value_range): Use -1U instead of -1
to avoid narrowing conversion warning.
* dumpfile.c (dump_options): Wrap all value into dump_flags_t cast
to avoid narrowing conversion warning.
* opt-functions.awk (var_ref): Return (unsigned short) -1 instead of
-1.
* optc-gen.awk (END): Expect (unsigned short) -1 instead of -1.

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

8 years ago2017-06-27 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 27 Jun 2017 09:00:52 +0000 (09:00 +0000)] 
2017-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62046
* g++.dg/parse/catch2.C: New.

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

8 years ago2017-06-27 Jerome Lambourg <lambourg@adacore.com>
hainque [Tue, 27 Jun 2017 08:54:53 +0000 (08:54 +0000)] 
2017-06-27  Jerome Lambourg  <lambourg@adacore.com>

* config/vxworks.h (VXWORKS_LIBS_RTP): Alternative definition for
   64bit configurations.
   (PTR_DIFF_TYPE): Alternative definition for TARGET_LP64.
   (SIZE_TYPE): Likewise.
   * config/vxworks.c (vxworks_emutls_var_fields): Use
   long_unsigned_type_node instead of unsigned_type_node as the offset
field type, which is "pointer" mode in emutls.c.

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

8 years ago PR sanitizer/81209
jakub [Tue, 27 Jun 2017 07:23:54 +0000 (07:23 +0000)] 
PR sanitizer/81209
* ubsan.c (ubsan_encode_value): Initialize DECL_CONTEXT on var.

* g++.dg/ubsan/pr81209.C: New test.

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

8 years ago PR middle-end/81207
jakub [Tue, 27 Jun 2017 07:22:14 +0000 (07:22 +0000)] 
PR middle-end/81207
* gimple-fold.c (replace_call_with_call_and_fold): Handle
gimple_vuse copying separately from gimple_vdef copying.

* gcc.c-torture/compile/pr81207.c: New test.

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

8 years ago PR bootstrap/81216
mpolacek [Tue, 27 Jun 2017 07:16:29 +0000 (07:16 +0000)] 
PR bootstrap/81216
* parser.c (cp_parser_already_scoped_statement): Initialize
LOC_AFTER_LABELS.

* g++.dg/warn/Wmultistatement-macros-1.C: New test.

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

8 years ago2017-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
prathamesh3492 [Tue, 27 Jun 2017 06:13:54 +0000 (06:13 +0000)] 
2017-06-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* value-prof.c (free_hist): Remove call to memset and the enclosing if
condition.

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

8 years ago libgo: add misc/cgo files
ian [Tue, 27 Jun 2017 04:21:40 +0000 (04:21 +0000)] 
libgo: add misc/cgo files

    Copy all the misc/cgo files from the gc toolchain into libgo/misc.

    These will be used for testing purposes by later changes to the
    gotools directory.

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

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

8 years agoDaily bump.
gccadmin [Tue, 27 Jun 2017 00:16:19 +0000 (00:16 +0000)] 
Daily bump.

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

8 years ago * Makefile.am (s-zdefaultcc): Don't record $(bindir) for defaultCC
ian [Mon, 26 Jun 2017 22:47:18 +0000 (22:47 +0000)] 
* Makefile.am (s-zdefaultcc): Don't record $(bindir) for defaultCC
or defaultCXX.
* Makefile.in: Rebuild.

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

8 years agoFix for SPEC CPU2017 621.wrf_s failure, add missing locking code.
wilson [Mon, 26 Jun 2017 21:40:47 +0000 (21:40 +0000)] 
Fix for SPEC CPU2017 621.wrf_s failure, add missing locking code.

libgfortran/
PR libfortran/81195
* io/unit.c (get_unit): Call __gthread_mutex_lock before newunit_stack
and newunit_tos references.  Call __gthread_mutex_unlock afterward.

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

8 years ago PR c++/81215 - deduction failure with variadic TTP.
jason [Mon, 26 Jun 2017 18:49:18 +0000 (18:49 +0000)] 
PR c++/81215 - deduction failure with variadic TTP.

* pt.c (unify_bound_ttp_args): Restore old logic for C++14 and down.

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

8 years ago syscall: don't define PtraceRegs for Alpha
ian [Mon, 26 Jun 2017 17:59:12 +0000 (17:59 +0000)] 
syscall: don't define PtraceRegs for Alpha

    It's now defined by mksysinfo.sh.

    Patch by Uros Bizjak.

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

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

8 years ago libgo: redefine ia64 struct names around linux/ptrace.h
ian [Mon, 26 Jun 2017 17:56:14 +0000 (17:56 +0000)] 
libgo: redefine ia64 struct names around linux/ptrace.h

    Avoid https://sourceware.org/bugzilla/show_bug.cgi?id=762.

    Patch by Andreas Schwab.

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

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

8 years agoPR c++/81169 - -Wclass-memaccess illegitimate warning related to volatile
msebor [Mon, 26 Jun 2017 17:19:15 +0000 (17:19 +0000)] 
PR c++/81169 - -Wclass-memaccess illegitimate warning related to volatile

gcc/cp/ChangeLog:

PR c++/81169
* call.c (maybe_warn_class_memaccess): Preserve explicit conversions
to detect casting away cv-qualifiers.

gcc/testsuite/ChangeLog:

PR c++/81169
* g++.dg/Wclass-memaccess-2.C: New test.

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

8 years ago2017-06-26 Jerome Lambourg <lambourg@adacore.com>
hainque [Mon, 26 Jun 2017 17:04:44 +0000 (17:04 +0000)] 
2017-06-26  Jerome Lambourg  <lambourg@adacore.com>
            Olivier Hainque  <hainque@adacore.com>

* config.gcc (*-*-vxworks*): Add TARGET_VXWORKS7=1 to tm_defines
for all vxworks7 targets.
* config/vxworks.h (TARGET_VXWORKS7): If not defined, define to 0.
(VXWORKS_ADDITIONAL_CPP_SPEC): Alternative definition for VXWORKS7.
(VXWORKS_LIBS_RTP, VXWORKS_LIBS_RTP_DIR): New macros, allowing
variations for VX6/VX7 and 32/64bits later on in ...
(VXWORKS_LIB_SPEC): Leverage new macros.
(VXWORKS_OS_CPP_BUILTINS): Define _VSB_CONFIG_FILE for VXWORKS7,
as well as _ALLOW_KEYWORD_MACROS when "inline" is not a keyword.

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

8 years ago gcc/cp/
nathan [Mon, 26 Jun 2017 16:38:40 +0000 (16:38 +0000)] 
gcc/cp/
* cp-tree.h (lang_decl_fn): Remove assignment_operator_p field.
(DECL_COMPLETE_CONSTRUCTOR_P): Directly compare
identifier.
(DECL_BASE_CONSTRUCTOR_P, DECL_COMPLETE_DESTRUCTOR_P)
DECL_BASE_DESTRUCTOR_P, DECL_DELETING_DESTRUCTOR_P): Likewise.
(DECL_ASSIGNMENT_OPERATOR_P): Use IDENTIFIER_ASSIGN_OP_P.
* decl.c (grok_op_properties): Adjust identifier checking.
* init.c (expand_default_init): Adjust identifier descision.
* method.c (implicitly_declare_fn): Don't use
DECL_ASSIGNMENT_OPERATOR_P.
* search.c (lookup_fnfields_1): Use IDENTIFIER_CTOR_P,
IDENTIFIER_DTOR_P.
* call.c (in_charge_arg_for_name): Reimplement.
(build_special_member_call): Use IDENTIFIER_CDTOR_P,
IDENTIFIER_DTOR_P.

libcc1/
* libcp1plugin.cc (plugin_build_decl): Don't set
DECL_ASSIGNMENT_OPERATOR_P.
(--This line, and those below, will be ignored--

M    gcc/cp/init.c
M    gcc/cp/decl.c
M    gcc/cp/method.c
M    gcc/cp/cp-tree.h
M    gcc/cp/call.c
M    gcc/cp/search.c
M    gcc/cp/ChangeLog
M    libcc1/ChangeLog
M    libcc1/libcp1plugin.cc

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

8 years ago2017-06-26 Jerome Lambourg <lambourg@adacore.com>
hainque [Mon, 26 Jun 2017 15:17:44 +0000 (15:17 +0000)] 
2017-06-26  Jerome Lambourg  <lambourg@adacore.com>

* config/vxworks.h (VXWORKS_OS_CPP_BUILTINS): builtin_define
_VX_TOOL_FAMILY and _VX_TOOL to gnu.

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

8 years agogcc/ChangeLog:
carll [Mon, 26 Jun 2017 14:29:48 +0000 (14:29 +0000)] 
gcc/ChangeLog:

2017-06-26  Carl Love  <cel@us.ibm.com>

* config/rs6000/rs6000-c.c: Add support for built-in functions
vector bool char vec_reve (vector bool char);
vector signed char vec_reve (vector signed char);
vector unsigned char vec_reve (vector unsigned char);
vector bool int vec_reve (vector bool int);
vector signed int vec_reve (vector signed int);
vector unsigned int vec_reve (vector unsigned int);
vector bool long long vec_reve (vector bool long long);
vector signed long long vec_reve (vector signed long long);
vector unsigned long long vec_reve (vector unsigned long long);
vector bool short vec_reve (vector bool short);
vector signed short vec_reve (vector signed short);
vector double vec_reve (vector double);
vector float vec_reve (vector float);
* config/rs6000/rs6000-builtin.def (VREVE_V2DI, VREVE_V4SI,
VREVE_V8HI, VREVE_V16QI, VREVE_V2DF, VREVE_V4SF, VREVE): New builtin.
* config/rs6000/altivec.md (UNSPEC_VREVEV): New UNSPEC.
(altivec_vreve): New pattern.
* config/rs6000/altivec.h (vec_reve): New define.
* doc/extend.texi (vec_rev): Update the built-in documentation file
for the new built-in functions.

gcc/testsuite/ChangeLog:

2017-06-26  Carl Love  <cel@us.ibm.com>

* gcc.target/powerpc/builtins-3-vec_reve-runnable.c:
Add new runnable test file for the vec_rev built-ins.

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

8 years ago[gcc]
wschmidt [Mon, 26 Jun 2017 14:19:33 +0000 (14:19 +0000)] 
[gcc]

2016-06-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/71815
* gimple-ssa-strength-reduction.c (uses_consumed_by_stmt): New
function.
(find_basis_for_candidate): Call uses_consumed_by_stmt rather than
has_single_use.
(slsr_process_phi): Likewise.
(replace_uncond_cands_and_profitable_phis): Don't replace a
multiply candidate with a stride of 1 (copy or cast).
(phi_incr_cost): Call uses_consumed_by_stmt rather than
has_single_use.
(lowest_cost_path): Likewise.
(total_savings): Likewise.

[gcc/testsuite]

2016-06-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/71815
* gcc.dg/tree-ssa/slsr-35.c: Remove -fno-code-hoisting workaround.
* gcc.dg/tree-ssa/slsr-36.c: Likewise.

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

8 years ago[gcc]
wschmidt [Mon, 26 Jun 2017 14:17:35 +0000 (14:17 +0000)] 
[gcc]

2016-06-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gimple-ssa-strength-reduction.c (uses_consumed_by_stmt): New
function.
(find_basis_for_candidate): Call uses_consumed_by_stmt rather than
has_single_use.
(slsr_process_phi): Likewise.
(replace_uncond_cands_and_profitable_phis): Don't replace a
multiply candidate with a stride of 1 (copy or cast).
(phi_incr_cost): Call uses_consumed_by_stmt rather than
has_single_use.
(lowest_cost_path): Likewise.
(total_savings): Likewise.

[gcc/testsuite]

2016-06-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/tree-ssa/slsr-35.c: Remove -fno-code-hoisting workaround.
* gcc.dg/tree-ssa/slsr-36.c: Likewise.

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

8 years ago[PATCH][Testsuite]Use user defined memmove in gcc.c-torture/execute/builtins/memops...
renlin [Mon, 26 Jun 2017 13:28:32 +0000 (13:28 +0000)] 
[PATCH][Testsuite]Use user defined memmove in gcc.c-torture/execute/builtins/memops-asm-lib.c

After the change r249278. bcopy is folded into memmove. And in newlib
aarch64 memmove implementation, it will call memcpy in certain conditions.
The memcpy defined in memops-asm-lib.c will abort when the test is running.

A user defined memmove function is defined to bypass the library one.
So that memcpy won't be called accidentally.

gcc/testsuite/

* gcc.c-torture/execute/builtins/memops-asm-lib.c (my_memmove): New.
* gcc.c-torture/execute/builtins/memops-asm.c (memmove): Declare memmove.

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

8 years ago2017-06-26 Richard Biener <rguenther@suse.de>
rguenth [Mon, 26 Jun 2017 10:34:49 +0000 (10:34 +0000)] 
2017-06-26  Richard Biener  <rguenther@suse.de>

PR target/81175
* config/i386/i386.c (ix86_init_mmx_sse_builtins):
Use def_builtin_pure for all gather builtins.

* gfortran.dg/pr81175.f: New testcase.

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

8 years ago2017-06-26 Richard Biener <rguenther@suse.de>
rguenth [Mon, 26 Jun 2017 10:33:12 +0000 (10:33 +0000)] 
2017-06-26  Richard Biener  <rguenther@suse.de>

PR tree-optimization/81203
* tree-tailcall.c (find_tail_calls): Do not move stmts into
non-dominating BBs.

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

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

8 years ago PR c/80116
mpolacek [Mon, 26 Jun 2017 10:02:27 +0000 (10:02 +0000)] 
PR c/80116
* c-common.h (warn_for_multistatement_macros): Declare.
* c-warn.c: Include "c-family/c-indentation.h".
(warn_for_multistatement_macros): New function.
* c.opt (Wmultistatement-macros): New option.
* c-indentation.c (guard_tinfo_to_string): No longer static.
Change the parameter type to "enum rid".  Handle RID_SWITCH.
* c-indentation.h (guard_tinfo_to_string): Declare.

* c-parser.c (c_parser_if_body): Set the location of the
body of the conditional after parsing all the labels.  Call
warn_for_multistatement_macros.
(c_parser_else_body): Likewise.
(c_parser_switch_statement): Likewise.
(c_parser_while_statement): Likewise.
(c_parser_for_statement): Likewise.
(c_parser_statement): Add a default argument.  Save the location
after labels have been parsed.
(c_parser_c99_block_statement): Likewise.

* parser.c (cp_parser_statement): Add a default argument.  Save the
location of the expression-statement after labels have been parsed.
(cp_parser_implicitly_scoped_statement): Set the location of the
body of the conditional after parsing all the labels.  Call
warn_for_multistatement_macros.
(cp_parser_already_scoped_statement): Likewise.

* doc/invoke.texi: Document -Wmultistatement-macros.

* c-c++-common/Wmultistatement-macros-1.c: New test.
* c-c++-common/Wmultistatement-macros-2.c: New test.
* c-c++-common/Wmultistatement-macros-3.c: New test.
* c-c++-common/Wmultistatement-macros-4.c: New test.
* c-c++-common/Wmultistatement-macros-5.c: New test.
* c-c++-common/Wmultistatement-macros-6.c: New test.
* c-c++-common/Wmultistatement-macros-7.c: New test.
* c-c++-common/Wmultistatement-macros-8.c: New test.
* c-c++-common/Wmultistatement-macros-9.c: New test.
* c-c++-common/Wmultistatement-macros-10.c: New test.
* c-c++-common/Wmultistatement-macros-11.c: New test.

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

8 years ago * c-c++-common/ubsan/sanitize-recover-7.c (dg-options): Add -w.
ebotcazou [Mon, 26 Jun 2017 09:49:08 +0000 (09:49 +0000)] 
* c-c++-common/ubsan/sanitize-recover-7.c (dg-options): Add -w.

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

8 years ago * MAINTAINERS: Add myself to Write After Approval.
chefmax [Mon, 26 Jun 2017 09:44:49 +0000 (09:44 +0000)] 
* MAINTAINERS: Add myself to Write After Approval.

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

8 years ago[ARM, testsuite] Add -mfloat-abi=hard to arm_neon_ok
clyon [Mon, 26 Jun 2017 09:25:55 +0000 (09:25 +0000)] 
[ARM, testsuite] Add -mfloat-abi=hard to arm_neon_ok

2017-06-02  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/testsuite/
* lib/target-supports.exp
(check_effective_target_arm_neon_ok_nocache): Add flags with
-mfloat-abi=hard. Include arm_neon.h.
(check_effective_target_arm_neon_ok_no_float_abi_nocache): New.
(check_effective_target_arm_neon_ok_no_float_abi): New.
* gcc.target/arm/lto/pr65837_0.c: Require
arm_neon_ok_no_float_abi. Add -mfpu=neon to dg-lto-options.
* gcc.target/arm/lto/pr65837-attr_0.c: Require
arm_neon_ok_no_float_abi. Remove dg-suppress-ld-options.

gcc/
* doc/sourcebuild.texi (ARM-specific attributes): Document new
arm_neon_ok_no_float_abi effective target.

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

8 years ago2017-06-26 Richard Biener <rguenther@suse.de>
rguenth [Mon, 26 Jun 2017 07:19:37 +0000 (07:19 +0000)] 
2017-06-26  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/80928
* cfghooks.c (duplicate_block): Do not copy BB_DUPLICATED flag.
(copy_bbs): Set BB_DUPLICATED flag early.
(execute_on_growing_pred): Do not execute for BB_DUPLICATED
marked blocks.
(execute_on_shrinking_pred): Likewise.
* tree-ssa.c (ssa_redirect_edge): Do not look for PHI args in
BB_DUPLICATED blocks.
* tree-ssa-phionlycoprop.c (eliminate_degenerate_phis_1): Properly
iterate over all PHIs considering removal of *gsi.

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

8 years agoDaily bump.
gccadmin [Mon, 26 Jun 2017 00:16:27 +0000 (00:16 +0000)] 
Daily bump.

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

8 years agoDaily bump.
gccadmin [Sun, 25 Jun 2017 00:16:23 +0000 (00:16 +0000)] 
Daily bump.

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

8 years ago2017-06-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sat, 24 Jun 2017 21:22:08 +0000 (21:22 +0000)] 
2017-06-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/81160
* arith.c (wprecision_int_real): Set return value before
mpz_clear and then return after it.

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

8 years ago/cp
paolo [Sat, 24 Jun 2017 19:31:24 +0000 (19:31 +0000)] 
/cp
2017-06-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62315
* parser.c (cp_parser_diagnose_invalid_type_name): Don't print
'typename' in error messages about missing 'typename'.

/testsuite
2017-06-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62315
* g++.dg/parse/typedef2.C: Specify a dg-error string.

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

8 years ago2017-06-24 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sat, 24 Jun 2017 07:07:56 +0000 (07:07 +0000)] 
2017-06-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR fortran/52473
* Makefile.am:  Add i_cshift1a_c.  Add rules to generate files
from cshift1a.m4.
* Makefile.in: Regenerated.
* m4/cshift1a.m4: New file.
* m4/cshift.m4 (cshift1): Split up inner loop by removing
condition. Use memcpy where possible.  Call helper functions
based on dtype.
* libgfortran.h: Add prototypes for cshift1_16_c10,
cshift1_16_c16, cshift1_16_c4, cshift1_16_c8, cshift1_16_i1,
cshift1_16_i16, cshift1_16_i2, cshift1_16_i4, cshift1_16_i8,
cshift1_16_r10, cshift1_16_r16, cshift1_16_r4, cshift1_16_r8,
cshift1_4_c10, cshift1_4_c16, cshift1_4_c4, cshift1_4_c8,
cshift1_4_i1, cshift1_4_i16, cshift1_4_i2, cshift1_4_i4,
cshift1_4_i8, cshift1_4_r10, cshift1_4_r16, cshift1_4_r4,
cshift1_4_r8, cshift1_8_c10, cshift1_8_c16, cshift1_8_c4,
cshift1_8_c8, cshift1_8_i1, cshift1_8_i16, cshift1_8_i2,
cshift1_8_i4, cshift1_8_i8, cshift1_8_r10, cshift1_8_r16,
cshift1_8_r4 and cshift1_8_r8.
* generated/cshift1_16_c10.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_c16.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_c4.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_c8.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_i1.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_i16.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_i2.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_i4.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_i8.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_r10.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_r16.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_r4.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_r8.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_c10.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_c16.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_c4.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_c8.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_i1.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_i16.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_i2.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_i4.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_i8.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_r10.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_r16.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_r4.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_r8.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_c10.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_c16.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_c4.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_c8.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_i1.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_i16.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_i2.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_i4.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_i8.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_r10.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_r16.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_r4.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_r8.c: New file, generated from cshift1a.m4.

2017-06-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR fortran/52473
* gfortran.dg/cshift_2.f90:  New test.

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

8 years agoDaily bump.
gccadmin [Sat, 24 Jun 2017 00:16:20 +0000 (00:16 +0000)] 
Daily bump.

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

8 years ago PR c++/79056 - C++17 ICE with invalid template syntax.
jason [Fri, 23 Jun 2017 23:29:51 +0000 (23:29 +0000)] 
PR c++/79056 - C++17 ICE with invalid template syntax.

* parser.c (cp_parser_simple_type_specifier): Don't assume that type
is a TYPE_DECL.
(cp_parser_check_for_invalid_template_id): Handle TYPE_DECL.
* pt.c (template_placeholder_p): New.
* cp-tree.h: Declare it.

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

8 years agoFix missing Aarch64 falkor/qdf24xx options.
wilson [Fri, 23 Jun 2017 21:40:55 +0000 (21:40 +0000)] 
Fix missing Aarch64 falkor/qdf24xx options.

gcc/
* doc/invoke.texi (AArch64 Options, -mtune): Re-add falkor and
qdf24xx.

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

8 years agoTestcase for FSF GCC bug 79794.
wilson [Fri, 23 Jun 2017 21:01:32 +0000 (21:01 +0000)] 
Testcase for FSF GCC bug 79794.

gcc/testsuite/
PR middle-end/79794
* gcc.target/aarch64/pr79794.c: New.

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

8 years ago runtime: complete defer handling in CgocallBackDone
ian [Fri, 23 Jun 2017 20:19:40 +0000 (20:19 +0000)] 
runtime: complete defer handling in CgocallBackDone

    When C code calls a Go function, it actually calls a function
    generated by cgo. That function is written in Go, and, among other
    things, it calls the real Go function like this:
            CgocallBack()
            defer CgocallBackDone()
            RealGoFunction()
    The deferred CgocallBackDone function enters syscall mode as we return
    to C. Typically the C function will then eventually return to Go.

    However, in the case where the C function is running on a thread
    created in C, it will not return to Go. For that case we will have
    allocated an m struct, with an associated g struct, for the duration
    of the Go code, and when the Go is complete we will return the m and g
    to a free list.

    That all works, but we are running in a deferred function, which means
    that we have been invoked by deferreturn, and deferreturn expects to
    do a bit of cleanup to record that the defer has been completed. Doing
    that cleanup while using an m and g that have already been returned to
    the free list is clearly a bad idea. It was kind of working because
    deferreturn was holding the g pointer in a local variable, but there
    were races with some other thread picking up and using the newly freed g.
    It was also kind of working because of a special check in freedefer;
    that check is no longer necessary.

    This patch changes the special case of releasing the m and g to do the
    defer cleanup in CgocallBackDone itself.

    This patch also checks for the special case of a panic through
    CgocallBackDone. In that special case, we don't want to release the m
    and g. Since we are returning to C code that was not called by Go
    code, we know that the panic is not going to be caught and we are
    going to exit the program. So for that special case we keep the m and
    g structs so that the rest of the panic code can use them.

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

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

8 years ago cmd/go: don't require GOROOT to exist for gccgo
ian [Fri, 23 Jun 2017 20:11:27 +0000 (20:11 +0000)] 
cmd/go: don't require GOROOT to exist for gccgo

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

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

8 years ago2017-06-23 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
acsawdey [Fri, 23 Jun 2017 19:59:42 +0000 (19:59 +0000)] 
2017-06-23  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

* config/rs6000/rs6000-string.c: (expand_block_clear,
do_load_for_compare, select_block_compare_mode,
compute_current_alignment, expand_block_compare,
expand_strncmp_align_check, expand_strn_compare,
expand_block_move, rs6000_output_load_multiple)
Move functions related to string/block move/compare
to a separate file.
* config/rs6000/rs6000.c: Move above functions to rs6000-string.c.
* config/rs6000/rs6000-protos.h (rs6000_emit_dot_insn): Add prototype
for this function which is now used in two files.
* config/rs6000/t-rs6000: Add rule to compile rs6000-string.o.
* config.gcc: Add rs6000-string.o to extra_objs for
targets powerpc*-*-* and rs6000*-*-*.

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

8 years ago[gcc]
meissner [Fri, 23 Jun 2017 18:25:10 +0000 (18:25 +0000)] 
[gcc]
2017-06-23  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/80510
* config/rs6000/rs6000.md (ALTIVEC_DFORM): Do not allow DImode in
32-bit, since indexed is not valid for DImode.
(mov<mode>_hardfloat32): Reorder ISA 2.07 load/stores before ISA
3.0 d-form load/stores to be the same as mov<mode>_hardfloat64.
(define_peephole2 for Altivec d-form load): Add 32-bit support.
(define_peephole2 for Altivec d-form store): Likewise.

[gcc/testsuite]
2017-06-23  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/80510
* gcc.target/powerpc/pr80510-1.c: Allow test to run on 32-bit.
* gcc.target/powerpc/pr80510-2.c: Likewise.

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

8 years ago2017-06-23 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Fri, 23 Jun 2017 18:08:31 +0000 (18:08 +0000)] 
2017-06-23  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR ipa/81185
* multiple_target.c (create_dispatcher_calls): Only create the
dispatcher call if the function is the default clone of a
versioned function.

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

8 years ago * gcc-interface/trans.c (gnat_to_gnu): Initialize sync to false to
jakub [Fri, 23 Jun 2017 17:46:21 +0000 (17:46 +0000)] 
* gcc-interface/trans.c (gnat_to_gnu): Initialize sync to false to
avoid UB.

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

8 years agoFix expand_builtin_atomic_fetch_op for pre-op (PR80902)
segher [Fri, 23 Jun 2017 17:37:27 +0000 (17:37 +0000)] 
Fix expand_builtin_atomic_fetch_op for pre-op (PR80902)

__atomic_add_fetch adds a value to some memory, and returns the result.
If there is no direct support for this, expand_builtin_atomic_fetch_op
is asked to implement this as __atomic_fetch_add (which returns the
original value of the mem), followed by the addition.  Now, the
__atomic_add_fetch could have been a tail call, but we shouldn't
perform the __atomic_fetch_add as a tail call: following code would
not be executed, and in fact thrown away because there is a barrier
after tail calls.

This fixes it.

PR middle-end/80902
* builtins.c (expand_builtin_atomic_fetch_op): If emitting code after
a call, force the call to not be a tail call.

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

8 years ago * runtime/config/sparc/os-unix-sysdep.c (__cilkrts_getticks): Adjust
ebotcazou [Fri, 23 Jun 2017 17:33:43 +0000 (17:33 +0000)] 
* runtime/config/sparc/os-unix-sysdep.c (__cilkrts_getticks): Adjust
preprocessor test for SPARC/Linux.
* runtime/jmpbuf.h (CILK_[UN]ADJUST_SP): Likewise.

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

8 years ago os: align siginfo argument to waitid
ian [Fri, 23 Jun 2017 17:10:18 +0000 (17:10 +0000)] 
os: align siginfo argument to waitid

    Backport https://golang.org/cl/46511 from gc trunk, as it may fix a
    bug reported for gccgo running on MIPS
    (https://groups.google.com/d/msg/golang-dev/sDg-t1_DPw0/-AJmLxgPBQAJ).

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

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

8 years ago runtime: don't crash if no p in kickoff
ian [Fri, 23 Jun 2017 16:05:44 +0000 (16:05 +0000)] 
runtime: don't crash if no p in kickoff

    The kickoff function for g0 can be invoked without a p, for example
    from mcall(exitsyscall0) in exitsyscall after exitsyscall has cleared
    the p field. The assignment gp.param = nil will invoke a write barrier.
    If gp.param is not already nil, this will require a p. Avoid the problem
    for a specific case that is known to be OK: when the value in gp.param
    is a *g.

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

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

8 years ago compiler: add go:notinheap magic comment
ian [Fri, 23 Jun 2017 16:03:49 +0000 (16:03 +0000)] 
compiler: add go:notinheap magic comment

    Implement go:notinheap as the gc compiler does. A type marked as
    go:notinheap may not live in the heap, and does not require a write
    barrier. Struct and array types that incorporate notinheap types are
    themselves notinheap. Allocating a value of a notinheap type on the
    heap is an error.

    This is not just an optimization. There is code where a write barrier
    may not occur that was getting a write barrier with gccgo but not gc,
    because the types in question were notinheap. The case I found was
    setting the mcache field in exitsyscallfast.

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

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

8 years ago * doc/contrib.texi: Add entry for Steven Pemberton's work on
law [Fri, 23 Jun 2017 15:57:58 +0000 (15:57 +0000)] 
* doc/contrib.texi: Add entry for Steven Pemberton's work on
enquire.

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

8 years ago * gcc.c-torture/compile/stack-check-1.c: Require "untyped_assembly".
law [Fri, 23 Jun 2017 14:57:52 +0000 (14:57 +0000)] 
* gcc.c-torture/compile/stack-check-1.c: Require "untyped_assembly".

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

8 years ago[gcc]
willschm [Fri, 23 Jun 2017 14:40:26 +0000 (14:40 +0000)] 
[gcc]

2017-06-23  Will Schmidt  <will_schmidt@vnet.ibm.com>

* config/rs6000/rs6000.c: Add include of ssa-propagate.h for
update_call_from_tree().  (rs6000_gimple_fold_builtin): Add
handling for early expansion of vector shifts (sl,sr,sra,rl).
(builtin_function_type): Add vector shift right instructions
to the unsigned argument list.

[gcc/testsuite]

2017-06-23  Will Schmidt  <will_schmidt@vnet.ibm.com>

* gcc.target/powerpc/fold-vec-shift-char.c: New.
* gcc.target/powerpc/fold-vec-shift-int.c: New.
* gcc.target/powerpc/fold-vec-shift-longlong.c: New.
* gcc.target/powerpc/fold-vec-shift-short.c: New.
* gcc.target/powerpc/fold-vec-shift-left.c: New.
* gcc.target/powerpc/fold-vec-shift-left-fwrapv.c: New.
* gcc.target/powerpc/fold-vec-shift-left-longlong-fwrapv.c: New.
* gcc.target/powerpc/fold-vec-shift-left-longlong.c: New.

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

8 years ago runtime: improve handling of panic during deferred function
ian [Fri, 23 Jun 2017 13:45:36 +0000 (13:45 +0000)] 
runtime: improve handling of panic during deferred function

    When a panic occurs while processing a deferred function that
    recovered an earlier panic, we shouldn't report the recovered panic
    in the panic stack trace. Stop doing so by keeping track of the panic
    that triggered a defer, marking it as aborted if we see the defer again,
    and discarding aborted panics when a panic is recovered. This is what
    the gc runtime does.

    The test for this is TestRecursivePanic in runtime/crash_test.go.
    We don't run that test yet, but we will soon.

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

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

8 years ago * go.test/go-test.exp (go-set-goarch): Update MIPS architecture
ian [Fri, 23 Jun 2017 13:19:30 +0000 (13:19 +0000)] 
* go.test/go-test.exp (go-set-goarch): Update MIPS architecture
        names.

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

8 years ago2017-06-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Fri, 23 Jun 2017 12:44:07 +0000 (12:44 +0000)] 
2017-06-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        rtl-optimizatoin/79286
        * ira.c (update_equiv_regs): Revert to using may_trap_or_fault_p again.
        * rtlanal.c (rtx_addr_can_trap_p_1): SYMBOL_REF_FUNCTION_P can never
        trap.  PIC register plus a const unspec without offset can never trap.

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

8 years agoRefactor fileptr_type_node handling
glisse [Fri, 23 Jun 2017 09:05:47 +0000 (09:05 +0000)] 
Refactor fileptr_type_node handling

2017-06-23  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* tree.h (builtin_structptr_type): New type.
(builtin_structptr_types): Declare new array.
* tree.c (builtin_structptr_types): New array.
(free_lang_data, build_common_tree_nodes): Use it.

gcc/c-family/
* c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.

gcc/cp/
* decl.c (duplicate_decls): Use builtin_structptr_types.

gcc/lto/
* lto-lang.c (lto_init): Use builtin_structptr_types.

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

8 years agoPR c++/81187 fix -Wnoexcept-type entry in manual
redi [Fri, 23 Jun 2017 08:16:05 +0000 (08:16 +0000)] 
PR c++/81187 fix -Wnoexcept-type entry in manual

PR c++/81187
* doc/invoke.texi (-Wnoexcept-type): Fix name of option, from
-Wnoexcept.

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

8 years agoDaily bump.
gccadmin [Fri, 23 Jun 2017 00:16:22 +0000 (00:16 +0000)] 
Daily bump.

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

8 years ago runtime: uncomment check for gchelper on g0 stack
ian [Thu, 22 Jun 2017 22:12:50 +0000 (22:12 +0000)] 
runtime: uncomment check for gchelper on g0 stack

    Now that systemstack changes to the g0 stack, this check passes.

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

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

8 years ago runtime: mark dropm and callees nowritebarrierrec
ian [Thu, 22 Jun 2017 22:11:01 +0000 (22:11 +0000)] 
runtime: mark dropm and callees nowritebarrierrec

    The CgocallbackDone function calls dropm after it calls entersyscall,
    which means that dropm must not have any write barriers. Mark it
    accordingly.

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

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

8 years ago runtime: export getm function
ian [Thu, 22 Jun 2017 22:08:50 +0000 (22:08 +0000)] 
runtime: export getm function

    Use go:linkname to export the getm function. This makes it visible to
    runtime/testdata/testprogcgo/dropm_stub.go, which uses it as part of
    the TestEnsureDropM test in runtime/crash_cgo_test.go. That test is
    not run today, but it will be soon.

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

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

8 years ago runtime: fix type cast in assignment to gcnextsp in C code
ian [Thu, 22 Jun 2017 19:52:11 +0000 (19:52 +0000)] 
runtime: fix type cast in assignment to gcnextsp in C code

    Patch from Rainer Orth.

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

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

8 years agogcc/
uros [Thu, 22 Jun 2017 19:46:10 +0000 (19:46 +0000)] 
gcc/

2017-06-22  Matt Turner  <mattst88@gmail.com>

* config/i386/driver-i386.c (host_detect_local_cpu): Add Kaby
Lake models to skylake case.  Assume skylake for unknown
models with clflushopt.

gcc/testsuite/

2017-06-22  Matt Turner  <mattst88@gmail.com>

* gcc.target/i386/builtin_target.c: Add Kaby Lake models to
skylake check.

libgcc/

2017-06-22  Matt Turner  <mattst88@gmail.com>

* config/i386/cpuinfo.c (get_intel_cpu): Add Kaby Lake models to
skylake case.

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

8 years agogcc/testsuite/ChangeLog:
carll [Thu, 22 Jun 2017 18:45:35 +0000 (18:45 +0000)] 
gcc/testsuite/ChangeLog:

2017-06-22 Carl Love  <cel@us.ibm.com>

* gcc.target/powerpc/builtins-3.c (vmulosh, vmulouh, vmulesh,
vmuleuh): Fix scan-assembler-times should check for word not half word
instructions.

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

8 years ago Reorder IDENTIFIER flags
nathan [Thu, 22 Jun 2017 18:40:56 +0000 (18:40 +0000)] 
Reorder IDENTIFIER flags
gcc/cp/
* cp-tree.h (enum cp_identifier_kind): New.
(IDENTIFIER_KIND_BIT_0, IDENTIFIER_KIND_BIT_1,
IDENTIFIER_KIND_BIT_2): New.
(IDENTIFIER_MARKED): Move to TREE_LANG_FLAG_4.
(IDENTIFIER_VIRTUAL_P, IDENTIFIER_REPO_CHOSEN): Add
IDENTIFIER_CHECK.
(C_IS_RESERVED_WORD): Replace with ...
(IDENTIFIER_KEYWORD_P): ... this.
(IDENTIFIER_CTOR_OR_DTOR_P): Replace with ...
(IDENTIFIER_CDTOR_P): ... this.
(IDENTIFIER_CTOR_P, IDENTIFIER_DTOR_P): New.
(IDENTIFIER_OPNAME_P): Replace with ...
(IDENTIFIER_ANY_OP_P): ... this.
(IDENTIFIER_ASSIGN_OP_P): New.
(IDENTIFIER_TYPENAME_P): Replace with ...
(IDENTIFIER_CONV_OP_P): ... this.
(NEW_DELETE_OPNAME_P): Replace with ...
(IDENTIFIER_NEWDEL_OP_P): ... this.
(DECL_CONV_FN_P, DECL_OVERLOADED_OPERATOR_P): Adjust.
(get_identifier_kind_name, set_identifier_kind): Declare.
* lex.c (get_identifier_kind_name, set_identifier_kind): New.
(init_operators): Adjust to avoid keywords, use
set_identifier_kind. Copy TYPE_EXPR slot.
(init_reswords): Call set_identifier_kind.
(unqualified_name_lookup_error): Adjust.
* operators.def (TYPE_EXPR): Remove.
* decl.c (struct predefined_identifier): Move into ...
(initialize_predefined_identifiers): ... here.  Call
set_identifier_kind.
(grokfndecl, check_var_type, grokdeclarator): Adjust.
(grok_op_properties): Use IDENTIFIER_ANY_ASSIGN_OP to halve search
space.  Adjust.
* call.c (name_as_c_string): Adjust.
(build_new_method_call_1): Likewise.
* cp-cilkplus.c (is_conversion_operator_function_decl_p):
Likewise.
* cxx-pretty-print.c (pp_cxx_unqualified_id): Adjust.
* dump.c (cp_dump_tree): Adjust.
* error.c (dump_decl_name): Adjust.
* mangle.c (write_unqualified_id, write_member_name)
write_expression): Adjust.
(mangle_conv_op_name_for_type): Use set_identifier_kind.
* name-lookup.c (do_class_using_decl): Adjust.
(lookup_name_fuzzy, lookup_name_real_1): Likewise.
* parser.c (cp_lexer_get_preprocessor_token)
cp_parser_direct_declarator): Likewise.
* pt.c (push_template_decl_real, tsubst_decl, tsubst_baselink)
tsubst_copy, tsubst_copy_and_build): Adjust.
* ptree.c (cxx_print_identifier): Print identifier kind.
* search.c (lookup_field_r, lookup_member)
lookup_fnfields_idx_nolazy): Adjust.
* semantics.c (finish_id_expression): Adjust..
* typeck.c (cp_build_addr_expr_1): Adjust.

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

8 years ago * config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Handle
law [Thu, 22 Jun 2017 17:18:05 +0000 (17:18 +0000)] 
* config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Handle
frame sizes that do not satisfy aarch64_uimm12_shift.

* gcc.c-torture/compile/stack-check-1.c: New test.

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

8 years ago runtime: make NumGoroutine wait for system goroutines to register
ian [Thu, 22 Jun 2017 15:46:47 +0000 (15:46 +0000)] 
runtime: make NumGoroutine wait for system goroutines to register

    In libgo system goroutines register themselves after they start.
    That means that there is a small race between the goroutine being
    seen by the scheduler and the scheduler knowing that the goroutine
    is a system goroutine. That in turn means that runtime.NumGoroutines
    can overestimate the number of goroutines at times.

    This patch fixes the overestimate by counting the number of system
    goroutines waiting to start, and pausing NumGoroutines until those
    goroutines have all registered.

    This is kind of a lot of mechanism for this not very important
    problem, but I couldn't think of a better approach.

    The test for this is TestNumGoroutine in runtime/proc_test.go.
    The test is not currently run, but it will be soon.

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

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

8 years ago compiler: fix stale comment in lexer
ian [Thu, 22 Jun 2017 15:42:50 +0000 (15:42 +0000)] 
compiler: fix stale comment in lexer

    Remove stale comment in code that accepts "go:nowritebarrier"
    pragma. Update comment for "go:nowritebarrierrec".

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

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

8 years ago * profile-count.h (apply_probability,
hubicka [Thu, 22 Jun 2017 14:50:23 +0000 (14:50 +0000)] 
* profile-count.h (apply_probability,
apply_scale, probability_in): Fix checks for zero.

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

8 years ago runtime: don't assume that _ = *s will panic if s is nil
ian [Thu, 22 Jun 2017 14:46:12 +0000 (14:46 +0000)] 
runtime: don't assume that _ = *s will panic if s is nil

    With the gc toolchain apparently
            var s *string
            _ = *s
    is enough to panic with a nil pointer dereference. The gccgo compiler
    will simply discard the dereference, which I think is a reasonable and
    acceptable optimization. Change the tests to use an exported variable
    instead. The tests are not currently run, but they will be with a
    later patch to gotools.

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

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

8 years ago runtime: change some stack fields to uintptr
ian [Thu, 22 Jun 2017 14:44:30 +0000 (14:44 +0000)] 
runtime: change some stack fields to uintptr

    Because of how gccgo implements cgo calls, the code in dropm may not
    have any write barriers.  As a step toward implementing that, change
    the gcstack, gcnextsegment, and gcnextsp fields of the g struct to
    uintptr, so that assignments to them do not require write barriers.
    The gcinitialsp field remains unsafe.Pointer, as on 32-bit systems
    that do not support split stack it points to a heap allocated space
    used for the goroutine stack.

    The test for this is runtime tests like TestCgoCallbackGC, which are
    not run today but will be run with a future gotools patch.

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

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

8 years agoSupport $SYSROOT for = in -I etc.
ro [Thu, 22 Jun 2017 14:37:17 +0000 (14:37 +0000)] 
Support $SYSROOT for = in -I etc.

* incpath.c (add_sysroot_to_chain): Allow for $SYSROOT prefix.
* doc/cppdiropts.texi (-I @var{dir}): Document it.

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

8 years ago runtime: avoid write barriers when calling deferred function
ian [Thu, 22 Jun 2017 14:33:13 +0000 (14:33 +0000)] 
runtime: avoid write barriers when calling deferred function

    Calling a deferred function currently requires changing from a uintptr
    to the function code to a Go function value. That is done by setting
    the value of a func local variable using unsafe.Pointer. The local
    variable will always be on the stack. Adjust the code that sets the
    local variable to avoid generating a write barrier.

    A write barrier is never needed here. Also, for deferreturn, we must
    avoid write barriers entirely when called from a cgo function; that
    requires more than just this, but this is a start.

    The test for this is runtime tests that use the go tool; these are not
    currently run, but they will be in the future.

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

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

8 years ago runtime: rename _defer struct _panic field to panicStack
ian [Thu, 22 Jun 2017 14:31:16 +0000 (14:31 +0000)] 
runtime: rename _defer struct _panic field to panicStack

    The gc version of the _defer struct has a _panic field that has a
    completely different meaning. We are going to want that bring that new
    meaning into the gofrontend to improve panic reports with nested
    panic calls. Simplify that by first renaming the existing _panic field.

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

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

8 years ago runtime: adjust tests for gofrontend
ian [Thu, 22 Jun 2017 14:28:57 +0000 (14:28 +0000)] 
runtime: adjust tests for gofrontend

    - don't run tests that depend on SetCgoTraceback
    - don't expect a '(' after the function name in a traceback
    - change the expected name of nested functions in a traceback

    These tests are not currently run, but they will be soon.

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

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

8 years ago runtime: don't build test files that use SetCgoTraceback for gccgo
ian [Thu, 22 Jun 2017 14:27:09 +0000 (14:27 +0000)] 
runtime: don't build test files that use SetCgoTraceback for gccgo

    The gofrontend doesn't support the runtime.SetCgoTraceback function,
    which is specifically for handling mixed Go and C tracebacks.
    Use a build tag to avoid compiling the runtime/testdata/testprogcgo
    files that refer to SetCgoTraceback. These files are not currently
    compiled anyhow, but they will be with a future gotools patch.

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

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

8 years ago runtime: build testprogcgo with -pthread
ian [Thu, 22 Jun 2017 14:23:54 +0000 (14:23 +0000)] 
runtime: build testprogcgo with -pthread

    Building this test with gccgo requires an explicit -pthread option to
    be passed to the C compiler, so that it links against -lpthread.
    This test is not built today, but it will be soon with a future patch.

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

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

8 years agoPR libstdc++/81173 fix undefined memset with null pointer
redi [Thu, 22 Jun 2017 14:16:38 +0000 (14:16 +0000)] 
PR libstdc++/81173 fix undefined memset with null pointer

PR libstdc++/81173
* include/bits/stl_bvector.h (vector<bool>::_M_initialize_value):
Do not pass null pointer to memset.

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

8 years ago2016-06-22 Richard Biener <rguenther@suse.de>
rguenth [Thu, 22 Jun 2017 12:07:07 +0000 (12:07 +0000)] 
2016-06-22  Richard Biener  <rguenther@suse.de>

* tree-vect-loop.c (vect_model_reduction_cost): Handle
COND_REDUCTION and INTEGER_INDUC_COND_REDUCTION without
REDUC_MAX_EXPR support.
(vectorizable_reduction): Likewise.
(vect_create_epilog_for_reduction): Likewise.

* gcc.dg/vect/pr65947-1.c: Remove xfail.
* gcc.dg/vect/pr65947-2.c: Likewise.
* gcc.dg/vect/pr65947-3.c: Likewise.
* gcc.dg/vect/pr65947-4.c: Likewise.
* gcc.dg/vect/pr65947-5.c: Likewise.
* gcc.dg/vect/pr65947-6.c: Likewise.
* gcc.dg/vect/pr65947-8.c: Likewise.
* gcc.dg/vect/pr65947-9.c: Likewise.
* gcc.dg/vect/pr65947-10.c: Likewise.
* gcc.dg/vect/pr65947-12.c: Likewise.
* gcc.dg/vect/pr65947-13.c: Likewise.
* gcc.dg/vect/pr65947-14.c: Likewise.
* gcc.dg/vect/vect-cond-2.c: Likewise.
* gcc.dg/vect/vect-pr69848.c: Likewise.

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

8 years agoFix ipa-split-5.c test-case.
marxin [Thu, 22 Jun 2017 10:54:40 +0000 (10:54 +0000)] 
Fix ipa-split-5.c test-case.

2017-06-22  Martin Liska  <mliska@suse.cz>

* gcc.dg/tree-ssa/ipa-split-5.c: Make function bigger in order
to not inline it.

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

8 years ago[Patch match.pd] Fold (A / (1 << B)) to (A >> B)
jgreenhalgh [Thu, 22 Jun 2017 08:39:04 +0000 (08:39 +0000)] 
[Patch match.pd] Fold (A / (1 << B)) to (A >> B)

For the testcase in the patch:

  unsigned long
  f2 (unsigned long a, int b)
  {
    unsigned long x = 1UL << b;
    return a / x;
  }

We currently generate an unsigned division and a left shift, where
we could instead generate a right shift.

gcc/

2017-06-21  James Greenhalgh  <james.greenhalgh@arm.com>

* match.pd (A / (1 << B) -> A >> B): New.
* generic-match-head.c: Include optabs-tree.h.
* gimple-match-head.c: Likewise.
* optabs-tree.h (target_supports_op_p): New.
* optabs-tree.c (target_supports_op_p): New.

gcc/testsuite/

2017-06-21  James Greenhalgh  <james.greenhalgh@arm.com>

* gcc.dg/tree-ssa/forwprop-37.c: New.

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

8 years ago2017-06-22 Richard Biener <rguenther@suse.de>
rguenth [Thu, 22 Jun 2017 08:33:28 +0000 (08:33 +0000)] 
2017-06-22  Richard Biener  <rguenther@suse.de>

* gcc.dg/vect/pr65947-14.c: Fix missing brace.

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

8 years ago2017-06-22 Richard Biener <rguenther@suse.de>
rguenth [Thu, 22 Jun 2017 08:14:21 +0000 (08:14 +0000)] 
2017-06-22  Richard Biener  <rguenther@suse.de>

* gcc.dg/vect/pr65947-14.c: New testcase.

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

8 years agoSupport --sysroot with Solaris ld
ro [Thu, 22 Jun 2017 06:54:04 +0000 (06:54 +0000)] 
Support --sysroot with Solaris ld

* configure.ac (gcc_cv_ld_static_dynamic): Also check stderr for
$gcc_cv_ld --help output.
(gcc_cv_ld_demangle): Likewise.
(gcc_cv_ld_eh_frame_hdr): Likewise.
(gcc_cv_ld_pie): Likewise.
(gcc_cv_ld_as_needed): Likewise.  Prefer native forms unless $gnu_ld.
(gcc_cv_ld_buildid): Likewise.
(gcc_cv_ld_sysroot): Likewise.
(ld_bndplt_support): Likewise.
(ld_pushpopstate_support): Likewise.
* configure: Regenerate.
* config/sol2.h [!USE_GLD] (SYSROOT_SPEC): Define.

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

8 years ago runtime: in traceback, print panic rather than runtime.gopanic
ian [Thu, 22 Jun 2017 04:16:23 +0000 (04:16 +0000)] 
runtime: in traceback, print panic rather than runtime.gopanic

    The gc toolchain does the same thing, in gentraceback in
    runtime/traceback.go.

    The test for this is TestPanicTraceback in runtime/crash_test.go.  We
    don't yet run that test, but we will in a future change.

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

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

8 years ago compiler, runtime: better stack trace for `go f()` where f is nil
ian [Thu, 22 Jun 2017 04:13:36 +0000 (04:13 +0000)] 
compiler, runtime: better stack trace for `go f()` where f is nil

    The test for this is TestGoNil in the runtime package, which we don't
    run yet but will run with a subsequent gotools patch.

    Updates golang/go#8045

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

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

8 years agoDaily bump.
gccadmin [Thu, 22 Jun 2017 00:16:21 +0000 (00:16 +0000)] 
Daily bump.

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

8 years ago debug/elf: handle Alpha relocs
ian [Wed, 21 Jun 2017 22:39:36 +0000 (22:39 +0000)] 
debug/elf: handle Alpha relocs

    Patch by Uros Bizjak.

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

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