1. 27 Jun, 2017 24 commits
  2. 26 Jun, 2017 16 commits
    • Makefile.am (s-zdefaultcc): Don't record $(bindir) for defaultCC or defaultCXX. · 8e51be62
      	* Makefile.am (s-zdefaultcc): Don't record $(bindir) for defaultCC
      	or defaultCXX.
      	* Makefile.in: Rebuild.
      
      From-SVN: r249669
      Ian Lance Taylor committed
    • Fix for SPEC CPU2017 621.wrf_s failure, add missing locking code. · b971fa7f
      	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.
      
      From-SVN: r249667
      Jim Wilson committed
    • PR c++/81215 - deduction failure with variadic TTP. · b0d1023d
      	* pt.c (unify_bound_ttp_args): Restore old logic for C++14 and down.
      
      From-SVN: r249664
      Jason Merrill committed
    • syscall: don't define PtraceRegs for Alpha · b5df99f7
          
          It's now defined by mksysinfo.sh.
          
          Patch by Uros Bizjak.
          
          Reviewed-on: https://go-review.googlesource.com/46712
      
      From-SVN: r249663
      Ian Lance Taylor committed
    • PR c++/81169 - -Wclass-memaccess illegitimate warning related to volatile · 4b377e01
      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.
      
      From-SVN: r249660
      Martin Sebor committed
    • config.gcc (*-*-vxworks*): Add TARGET_VXWORKS7=1 to tm_defines for all vxworks7 targets. · b269e899
      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.
      
      
      Co-Authored-By: Olivier Hainque <hainque@adacore.com>
      
      From-SVN: r249659
      Jerome Lambourg committed
    • cp-tree.h (lang_decl_fn): Remove assignment_operator_p field. · d6ef53f2
      	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
      
      From-SVN: r249657
      Nathan Sidwell committed
    • vxworks.h (VXWORKS_OS_CPP_BUILTINS): builtin_define _VX_TOOL_FAMILY and _VX_TOOL to gnu. · 0ffdc300
      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.
      
      From-SVN: r249656
      Jerome Lambourg committed
    • rs6000-c.c: Add support for built-in functions vector bool char vec_reve (vector bool char)... · 952ac945
      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.
      
      From-SVN: r249650
      Carl Love committed
    • re PR tree-optimization/71815 (SLSR misses several PHI candidate cases) · 226ab0a8
      [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.
      
      From-SVN: r249649
      William Schmidt committed
    • gimple-ssa-strength-reduction.c (uses_consumed_by_stmt): New function. · df11b2ea
      [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.
      
      From-SVN: r249648
      Bill Schmidt committed
    • [PATCH][Testsuite]Use user defined memmove in gcc.c-torture/execute/builtins/memops-asm-lib.c · fa7ccca0
      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.
      
      
      Co-Authored-By: Szabolcs Nagy <szabolcs.nagy@arm.com>
      
      From-SVN: r249647
      Renlin Li committed
    • re PR target/81175 (EXC_BAD_ACCESS in… · 5a5c2d16
      re PR target/81175 (EXC_BAD_ACCESS in ::slpeel_duplicate_current_defs_from_edges(edge, edge, edge, edge) at is-a.h:192)
      
      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.
      
      From-SVN: r249645
      Richard Biener committed
    • re PR tree-optimization/81203 (tail recursion: internal compiler error: verify_ssa failed) · 75f0112f
      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.
      
      From-SVN: r249644
      Richard Biener committed
    • re PR c/80116 (Warn about macros expanding to multiple statements) · 3e2becc4
      	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.
      
      From-SVN: r249643
      Marek Polacek committed