Commit Graph

149025 Commits

Author SHA1 Message Date
Andreas Tobler
b20e75328b configure.ac: Add aarch64-*-freebsd*.
toplevel:

2016-10-10  Andreas Tobler <andreast@gcc.gnu.org>

    * configure.ac: Add aarch64-*-freebsd*.
    * configure: Regenerate.

gcc:

2016-10-10  Andreas Tobler  <andreast@gcc.gnu.org>

    * config.gcc: Add aarch64-*-freebsd* support.
    * config.host: Likewise.
    * config/aarch64/aarch64-freebsd.h: New file.
    * config/aarch64/t-aarch64-freebsd: Ditto.

libgcc:

2016-10-10  Andreas Tobler  <andreast@gcc.gnu.org>

    * config.host: Add support for aarch64-*-freebsd*.

From-SVN: r240949
2016-10-10 23:31:17 +02:00
Jason Merrill
b7beb16ac1 C++17 class deduction issues
PR c++/77890
	PR c++/77912
	* pt.c (do_class_deduction): Set cp_unevaluated_operand.
	(tsubst) [TEMPLATE_TYPE_PARM]: Copy CLASS_PLACEHOLDER_TEMPLATE.

From-SVN: r240948
2016-10-10 16:48:51 -04:00
Jeff Law
d30078b8e7 re PR tree-optimization/71947 (x ^ y not folded to 0 if x == y by DOM)
PR tree-optimization/71947
	* tree-ssa-dom.c (cprop_into_stmt): Avoid replacing A with B, then
	B with A within a single statement.

	PR tree-optimization/71947
	* gcc.dg/tree-ssa/pr71947-1.c: New test.
	* gcc.dg/tree-ssa/pr71947-2.c: New test.
	* gcc.dg/tree-ssa/pr71947-3.c: New test.
	* gcc.dg/tree-ssa/pr71947-4.c: New test.
	* gcc.dg/tree-ssa/pr71947-5.c: New test.
	* gcc.dg/tree-ssa/pr71947-6.c: New test.

From-SVN: r240947
2016-10-10 14:40:59 -06:00
Jonathan Wakely
db62593447 Update docs on libstdc++ source-code layout
* doc/xml/manual/appendix_contributing.xml (contrib.organization):
	Describe other subdirectories and add markup. Remove outdated
	reference to check-script target.
	* doc/html/*: Regenerate.

From-SVN: r240946
2016-10-10 19:57:15 +01:00
Bill Schmidt
fbcdc43e3c re PR tree-optimization/77824 (unreachable code in SLSR GIMPLE pass)
2016-10-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/77824
	* gimple-ssa-strength-reduction.c (stmt_cost): Explicitly return
	zero cost for copies.
	(find_candidates_dom_walker::before_dom_children): Replace
	MODIFY_EXPR with SSA_NAME.
	(replace_mult_candidate): Likewise.
	(replace_profitable_candidates): Likewise.

From-SVN: r240945
2016-10-10 18:39:41 +00:00
Jonathan Wakely
e2be44770c Correct C++11 implementation status docs
* doc/xml/manual/status_cxx2011.xml: Correct C++11 status.

From-SVN: r240944
2016-10-10 19:39:18 +01:00
Jonathan Wakely
a3dbb63597 Use noexcept instead of _GLIBCXX_USE_NOEXCEPT
* libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
	with noexcept.

From-SVN: r240943
2016-10-10 19:32:40 +01:00
Than McIntosh
71543388ee compiler: prune away gcc-specific linemap usage
Add an interface to the go Linemap class to allow clients to ask for the
    line number for a Location (for debugging dumps), so as to move some
    gcc-specific location code into the back end.
    
    Reviewed-on: https://go-review.googlesource.com/30699

	* go-linemap.cc (Gcc_linemap::location_line): New method.

From-SVN: r240942
2016-10-10 17:33:32 +00:00
Ian Lance Taylor
5d8c099ede runtime: copy channel code from Go 1.7 runtime
Change the compiler to use the new routines. Drop the separation of
    small and large values when sending on a channel. Allocate the select
    struct on the stack. Remove the old C implementation of channels. Adjust
    the garbage collector for the new data structure.
    
    Bring in part of the tracing code, enough for the channel code to call.
    
    Bump the permitted number of allocations in one of the tests in
    context_test.go. The difference is that now receiving from a channel
    allocates a sudog, which the C code used to simply put on the
    stack. This will be somewhat better when we port proc.go.
    
    Reviewed-on: https://go-review.googlesource.com/30714

From-SVN: r240941
2016-10-10 16:52:09 +00:00
Jonathan Wakely
40962ac03a Minor simplification to std::_Bind_result helpers
* include/std/functional (_Bind_result::__enable_if_void): Use alias
	template instead of class template.
	(_Bind_result::__disable_if_void): Likewise.
	(_Bind_result::__call): Adjust uses of __enable_if_void and
	__disable_if_void.

From-SVN: r240940
2016-10-10 17:15:52 +01:00
Andreas Krebbel
2d6744f475 S/390: Wrap more macro args into ()
Turned out that there where a few () around macro args uses missing.
One real problem with it was detected with the int-in-bool-context in
the definition of DBX_REGISTER_NUMBER. But while being at it I've
also tried to fix other places where brackets might be missing.

gcc/ChangeLog:

2016-10-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* config/s390/s390.h: Wrap more macros args in brackets and fix
        some formatting.

From-SVN: r240930
2016-10-10 15:36:42 +00:00
Jonathan Wakely
9e023e3321 Implement constexpr std::addressof for C++17
* doc/xml/manual/intro.xml: Document DR 2296 status.
	* doc/xml/manual/status_cxx2017.xml: Update status.
	* include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
	call __builtin_addressof.
	(addressof): Add _GLIBCXX17_CONSTEXPR.
	* testsuite/20_util/addressof/requirements/constexpr.cc: New test.
	* testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
	* testsuite/20_util/forward/f_neg.cc: Likewise.

From-SVN: r240929
2016-10-10 16:34:28 +01:00
Thomas Koenig
5f86926613 re PR fortran/77915 (Internal error for matmul() in forall with optimization)
2016-10-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/77915
	* frontend-passes.c (inline_matmul_assign):  Return early if
	inside a FORALL statement.

2016-10-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/77915
	* gfortran.dg/matmul_11.f90:  New test.

From-SVN: r240928
2016-10-10 14:54:26 +00:00
Georg-Johann Lay
df48be86ac gen-avr-mmcu-texi.c (string.h): Include.
* config/avr/gen-avr-mmcu-texi.c (string.h): Include.

From-SVN: r240925
2016-10-10 14:18:04 +00:00
Jiong Wang
174e0b00c1 [4/4] ARMv8.2-A testsuite for new scalar intrinsics
gcc/testsuite/

	* gcc.target/aarch64/advsimd-intrinsics/unary_scalar_op.inc: Support FMT64.
	* gcc.target/aarch64/advsimd-intrinsics/vabdh_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcageh_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcagth_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcaleh_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcalth_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vceqh_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vceqzh_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcgeh_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcgezh_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcgth_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcgtzh_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcleh_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vclezh_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vclth_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcltzh_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvtah_s16_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvtah_s64_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvtah_u16_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvtah_u64_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_s16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_s64_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_u16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_u64_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_s16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_s64_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_u16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_u64_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_s16_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_s64_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_u16_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_u64_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvth_s16_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvth_s64_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvth_u16_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvth_u64_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_s16_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_s64_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_u16_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_u64_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_s16_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_s64_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_u16_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_u64_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvtph_s16_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvtph_s64_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvtph_u16_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vcvtph_u64_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vfmash_lane_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vmaxh_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vminh_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulh_lane_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulxh_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulxh_lane_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vrecpeh_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vrecpsh_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vrecpxh_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vrsqrteh_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vrsqrtsh_f16_1.c: New.

From-SVN: r240924
2016-10-10 13:50:10 +00:00
Jiong Wang
4bc63138bc [3/4] ARMv8.2-A testsuite for new vector intrinsics
gcc/testsuite/

	* gcc.target/aarch64/advsimd-intrinsics/vdiv_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vfmas_lane_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vfmas_n_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vmaxnmv_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vmaxv_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vminnmv_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vminv_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vmul_lane_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulx_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulx_n_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vpminmaxnm_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vrndi_f16_1.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vsqrt_f16_1.c: New.

From-SVN: r240923
2016-10-10 13:47:14 +00:00
Jiong Wang
8f3edb0732 [2/4] ARMv8.2-A testsuite for new data movement intrinsics
gcc/testsuite/

	* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (FP16_SUPPORTED):
	Enable AArch64.
	* gcc.target/aarch64/advsimd-intrinsics/vdup_lane.c: Add support for
	vdup*_laneq.
	* gcc.target/aarch64/advsimd-intrinsics/vduph_lane.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vtrn_half.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vuzp_half.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vzip_half.c: New.

From-SVN: r240922
2016-10-10 13:45:17 +00:00
Jiong Wang
6e49f922a6 [1/4] ARMv8.2-A FP16 testsuite selector
gcc/testsuite/

	* target-supports.exp (add_options_for_arm_v8_2a_fp16_scalar): Mention
	AArch64 support.
	(add_options_for_arm_v8_2a_fp16_neon): Likewise.
	(check_effective_target_arm_v8_2a_fp16_scalar_ok_nocache): Support
	AArch64 targets.
	(check_effective_target_arm_v8_2a_fp16_neon_ok_nocache): Support
	AArch64 targets.
	(check_effective_target_arm_v8_2a_fp16_scalar_hw): Support AArch64
	targets.
	(check_effective_target_arm_v8_2a_fp16_neon_hw): Likewise.

From-SVN: r240921
2016-10-10 13:43:01 +00:00
Jonathan Wakely
46942c8101 Define std::allocator<T>::is_always_equal
* include/bits/allocator.h (allocator<T>::is_always_equal): Define.
	* testsuite/20_util/allocator/requirements/typedefs.cc: Test for
	is_always_equal.
	* testsuite/util/testsuite_allocator.h
	(uneq_allocator::is_always_equal): Define as false_type.

From-SVN: r240920
2016-10-10 13:17:45 +01:00
Jonathan Wakely
f2e79496bf LWG 2733, LWG 2759 reject bool in gcd and lcm
* include/experimental/numeric (gcd, lcm): Make bool arguments
	ill-formed.
	* include/std/numeric (gcd, lcm): Likewise.
	* testsuite/26_numerics/gcd/gcd_neg.cc: New test.
	* testsuite/26_numerics/lcm/lcm_neg.cc: New test.

From-SVN: r240919
2016-10-10 13:17:34 +01:00
Andreas Schwab
fee13acdd8 re PR target/77738 (Invalid initialisation of ar.lc register)
PR target/77738
* config/ia64/ia64.md ("doloop_end"): Reject if mode of loop
pseudo is not DImode.

From-SVN: r240918
2016-10-10 12:16:00 +00:00
Jonathan Wakely
208b8b69b6 Add noexcept to enable_shared_from_this::weak_from_this
* include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
	Add noexcept.
	* include/bits/shared_ptr_base.h
	(__enable_shared_from_this::weak_from_this): Likewise.
	* testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
	Test exception-specification of weak_from_this.

From-SVN: r240917
2016-10-10 12:44:05 +01:00
Claudiu Zissulescu
30102051a5 [ARC] Disable compact casesi patterns for arcv2
gcc/
2016-05-09  Claudiu Zissulescu  <claziss@synopsys.com>

	* common/config/arc/arc-common.c (arc_option_optimization_table):
	Remove compact casesi option.
	* config/arc/arc.c (arc_override_options): Use compact casesi
	option only for pre-ARCv2 cores.
	* doc/invoke.texi (mcompact-casesi): Update text.

From-SVN: r240916
2016-10-10 13:39:22 +02:00
Eric Botcazou
41683e1a62 decl.c (gnat_to_gnu_entity): Put volatile qualifier on types at the very end of the processing.
* gcc-interface/decl.c (gnat_to_gnu_entity): Put volatile qualifier
	on types at the very end of the processing.
	(gnat_to_gnu_param): Remove redundant test.
	(change_qualified_type): Do nothing for unconstrained array types.

From-SVN: r240915
2016-10-10 10:09:13 +00:00
Eric Botcazou
036a2fa23e utils2.c (find_common_type): Do not return the LHS type if it's an array with non-constant lower bound and...
* gcc-interface/utils2.c (find_common_type): Do not return the LHS type
	if it's an array with non-constant lower bound and the RHS type is an
	array with a constant one.

From-SVN: r240913
2016-10-10 09:46:10 +00:00
Eric Botcazou
55cfd746c7 utils.c (convert): For a biased input type, convert the bias itself to the base type before adding it.
* gcc-interface/utils.c (convert): For a biased input type, convert
	the bias itself to the base type before adding it.

From-SVN: r240910
2016-10-10 08:47:52 +00:00
Eric Botcazou
f47ef399b6 * config-lang.in (lang_requires_boot_languages): Delete.
From-SVN: r240909
2016-10-10 07:18:07 +00:00
Aaron Sawdey
87b44b83c0 rs6000.h (TARGET_EFFICIENT_OVERLAPPING_UNALIGNED): Add macro to say we can efficiently handle overlapping unaligned loads.
2016-10-09  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

	* config/rs6000/rs6000.h (TARGET_EFFICIENT_OVERLAPPING_UNALIGNED): 
	Add macro to say we can efficiently handle overlapping unaligned
	loads.
	* config/rs6000/rs6000.c (expand_block_compare): Avoid generating
	poor code for processors older than p8.

From-SVN: r240908
2016-10-09 23:42:08 -05:00
GCC Administrator
4815e7d405 Daily bump.
From-SVN: r240907
2016-10-10 00:16:16 +00:00
Eric Botcazou
772ebeb541 * gen-pass-instances.awk: Remove GNUism.
From-SVN: r240904
2016-10-09 20:50:52 +00:00
Prathamesh Kulkarni
676b4899d6 ipa-prop.c (ipcp_transform_function): Set fields m_vr and bits to NULL of (*ipcp_transformations)][node->uid].
2016-10-09  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* ipa-prop.c (ipcp_transform_function): Set fields m_vr and bits to NULL of
	(*ipcp_transformations)][node->uid].

From-SVN: r240903
2016-10-09 18:40:09 +00:00
Janne Blomqvist
b923394429 PR 67585 Handle EINTR
Many POSIX systems have the bad habit of not restarting interrupted
syscalls. On these systems it's up to the user to check for an error
with errno == EINTR and restart manually. This patch does this for
libgfortran, so that GFortran users don't have to do it.

2016-10-09  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/67585
        * io/io.h: TEMP_FAILURE_RETRY: Define macro if not found.
        * io/unix.c (raw_read): Handle EINTR.
        (raw_write): Check for return value -1.
        (raw_seek): Handle EINTR.
        (raw_tell): Likewise.
        (raw_size): Likewise.
        (raw_truncate): Likewise.
        (raw_close): Likewise.
        (buf_flush): Call raw_seek instead of lseek.
        (buf_read): Likewise.
        (buf_write): Likewise.
        (fd_to_stream): Handle EINTR.
        (tempfile_open): Likewise.
        (regular_file2): Likewise.
        (compare_file_filename): Likewise.
        (find_file): Likewise.
        (inquire_sequential): Likewise.
        (inquire_direct): Likewise.
        (inquire_formatted): Likewise.

From-SVN: r240902
2016-10-09 21:05:56 +03:00
John David Anglin
df74f099d3 pa.h (BIGGEST_ALIGNMENT): Adjust comment.
* config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment.
	(MALLOC_ABI_ALIGNMENT): Define.

From-SVN: r240901
2016-10-09 17:02:21 +00:00
Jakub Jelinek
8813a647b5 tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros.
* tree-ssa.c (target_for_debug_bind, verify_phi_args,
	ssa_undefined_value_p, maybe_optimize_var): Use VAR_P and/or
	VAR_OR_FUNCTION_DECL_P macros.
	* tree-chkp.c (chkp_register_var_initializer, chkp_make_static_bounds,
	chkp_get_bounds_for_decl_addr, chkp_parse_array_and_component_ref,
	chkp_find_bounds_1): Likewise.
	* ipa-polymorphic-call.c (decl_maybe_in_construction_p): Likewise.
	* hsa-gen.c (get_symbol_for_decl): Likewise.
	* cgraphunit.c (check_global_declaration, analyze_functions,
	handle_alias_pairs, thunk_adjust, cgraph_node::expand_thunk):
	Likewise.
	* gimple-fold.c (can_refer_decl_in_current_unit_p,
	canonicalize_constructor_val, gimple_get_virt_method_for_vtable):
	Likewise.
	* tree.c (set_decl_section_name, copy_node_stat,
	need_assembler_name_p, free_lang_data_in_decl, find_decls_types_r,
	merge_dllimport_decl_attributes, handle_dll_attribute,
	decl_init_priority_insert, auto_var_in_fn_p, array_at_struct_end_p,
	verify_type): Likewise.
	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior,
	find_explicit_erroneous_behavior): Likewise.
	* sdbout.c (sdbout_toplevel_data, sdbout_late_global_decl): Likewise.
	* ipa.c (process_references): Likewise.
	* tree-chkp-opt.c (chkp_get_check_result): Likewise.
	* varasm.c (get_block_for_decl, use_blocks_for_decl_p, make_decl_rtl,
	notice_global_symbol, assemble_variable, mark_decl_referenced,
	build_constant_desc, output_constant_def_contents, do_assemble_alias,
	make_decl_one_only, default_section_type_flags,
	categorize_decl_for_section, default_encode_section_info): Likewise.
	* trans-mem.c (requires_barrier): Likewise.
	* gimple-expr.c (mark_addressable): Likewise.
	* cfgexpand.c (add_scope_conflicts_1, expand_one_var,
	expand_used_vars_for_block, clear_tree_used, stack_protect_decl_p,
	expand_debug_expr): Likewise.
	* tree-dump.c (dequeue_and_dump): Likewise.
	* ubsan.c (instrument_bool_enum_load): Likewise.
	* tree-pretty-print.c (print_declaration): Likewise.
	* simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
	* tree-ssa-uninit.c (warn_uninitialized_vars): Likewise.
	* asan.c (asan_protect_global, instrument_derefs): Likewise.
	* tree-into-ssa.c (rewrite_stmt, maybe_register_def,
	pass_build_ssa::execute): Likewise.
	* var-tracking.c (var_debug_decl, track_expr_p): Likewise.
	* tree-ssa-loop-ivopts.c (force_expr_to_var_cost, split_address_cost):
	Likewise.
	* ipa-split.c (test_nonssa_use, consider_split, mark_nonssa_use):
	Likewise.
	* tree-inline.c (insert_debug_decl_map, remap_ssa_name,
	can_be_nonlocal, remap_decls, copy_debug_stmt,
	initialize_inlined_parameters, add_local_variables,
	reset_debug_binding, replace_locals_op): Likewise.
	* dse.c (can_escape): Likewise.
	* ipa-devirt.c (compare_virtual_tables, referenced_from_vtable_p):
	Likewise.
	* tree-diagnostic.c (default_tree_printer): Likewise.
	* tree-streamer-in.c (unpack_ts_decl_common_value_fields,
	unpack_ts_decl_with_vis_value_fields,
	lto_input_ts_decl_common_tree_pointers): Likewise.
	* builtins.c (builtin_save_expr, fold_builtin_expect,
	readonly_data_expr): Likewise.
	* tree-ssa-structalias.c (new_var_info, get_constraint_for_ssa_var,
	create_variable_info_for, set_uids_in_ptset, visit_loadstore):
	Likewise.
	* gimple-streamer-out.c (output_gimple_stmt): Likewise.
	* gimplify.c (force_constant_size, gimplify_bind_expr,
	gimplify_decl_expr, gimplify_var_or_parm_decl,
	gimplify_compound_lval, gimplify_init_constructor,
	gimplify_modify_expr, gimplify_asm_expr, gimplify_oacc_declare,
	gimplify_type_sizes): Likewise.
	* cgraphbuild.c (record_reference, record_type_list, mark_address,
	mark_load, mark_store, pass_build_cgraph_edges::execute): Likewise.
	* tree-ssa-live.c (mark_all_vars_used_1, remove_unused_scope_block_p,
	remove_unused_locals): Likewise.
	* tree-ssa-alias.c (ptr_deref_may_alias_decl_p, ptrs_compare_unequal,
	ref_maybe_used_by_call_p_1, call_may_clobber_ref_p_1): Likewise.
	* function.c (instantiate_expr, instantiate_decls_1,
	setjmp_vars_warning, add_local_decl): Likewise.
	* alias.c (ao_ref_from_mem, get_alias_set, compare_base_symbol_refs):
	Likewise.
	* tree-stdarg.c (find_va_list_reference, va_list_counter_struct_op,
	va_list_ptr_read, va_list_ptr_write, check_all_va_list_escapes,
	optimize_va_list_gpr_fpr_size): Likewise.
	* tree-nrv.c (pass_nrv::execute): Likewise.
	* tsan.c (instrument_expr): Likewise.
	* tree-ssa-dce.c (remove_dead_stmt): Likewise.
	* vtable-verify.c (verify_bb_vtables): Likewise.
	* tree-dfa.c (ssa_default_def, set_ssa_default_def,
	get_ref_base_and_extent): Likewise.
	* toplev.c (wrapup_global_declaration_1, wrapup_global_declaration_2):
	Likewise.
	* tree-sra.c (static bool constant_decl_p, find_var_candidates,
	analyze_all_variable_accesses): Likewise.
	* tree-nested.c (get_nonlocal_debug_decl,
	convert_nonlocal_omp_clauses, note_nonlocal_vla_type,
	note_nonlocal_block_vlas, convert_nonlocal_reference_stmt,
	get_local_debug_decl, convert_local_omp_clauses,
	convert_local_reference_stmt, nesting_copy_decl, remap_vla_decls):
	Likewise.
	* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Likewise.
	* stmt.c (decl_overlaps_hard_reg_set_p): Likewise.
	* dbxout.c (dbxout_late_global_decl, dbxout_type_fields,
	dbxout_symbol, dbxout_common_check): Likewise.
	* expr.c (expand_assignment, expand_expr_real_2, expand_expr_real_1,
	string_constant): Likewise.
	* hsa.c (hsa_get_declaration_name): Likewise.
	* passes.c (rest_of_decl_compilation): Likewise.
	* tree-ssanames.c (make_ssa_name_fn): Likewise.
	* tree-streamer-out.c (pack_ts_decl_common_value_fields,
	pack_ts_decl_with_vis_value_fields,
	write_ts_decl_common_tree_pointers): Likewise.
	* stor-layout.c (place_field): Likewise.
	* symtab.c (symtab_node::maybe_create_reference,
	symtab_node::verify_base, symtab_node::make_decl_local,
	symtab_node::copy_visibility_from,
	symtab_node::can_increase_alignment_p): Likewise.
	* dwarf2out.c (add_var_loc_to_decl, tls_mem_loc_descriptor,
	decl_by_reference_p, reference_to_unused, rtl_for_decl_location,
	fortran_common, add_location_or_const_value_attribute,
	add_scalar_info, add_linkage_name, set_block_abstract_flags,
	local_function_static, gen_variable_die, dwarf2out_late_global_decl,
	optimize_one_addr_into_implicit_ptr,
	optimize_location_into_implicit_ptr): Likewise.
	* gimple-low.c (record_vars_into): Likewise.
	* ipa-visibility.c (update_vtable_references): Likewise.
	* tree-ssa-address.c (fixed_address_object_p, copy_ref_info):
	Likewise.
	* lto-streamer-out.c (tree_is_indexable, get_symbol_initial_value,
	DFS::DFS_write_tree_body, write_symbol): Likewise.
	* langhooks.c (lhd_warn_unused_global_decl,
	lhd_set_decl_assembler_name): Likewise.
	* attribs.c (decl_attributes): Likewise.
	* except.c (output_ttype): Likewise.
	* varpool.c (varpool_node::get_create, ctor_for_folding,
	varpool_node::assemble_decl, varpool_node::create_alias): Likewise.
	* fold-const.c (fold_unary_loc): Likewise.
	* ipa-prop.c (ipa_compute_jump_functions_for_edge,
	ipa_find_agg_cst_from_init): Likewise.
	* omp-low.c (expand_omp_regimplify_p, expand_omp_taskreg,
	expand_omp_target, lower_omp_regimplify_p,
	grid_reg_assignment_to_local_var_p, grid_remap_prebody_decls,
	find_link_var_op): Likewise.
	* tree-chrec.c (chrec_contains_symbols): Likewise.
	* tree-cfg.c (verify_address, verify_expr, verify_expr_location_1,
	gimple_duplicate_bb, move_stmt_op, replace_block_vars_by_duplicates,
	execute_fixup_cfg): Likewise.

From-SVN: r240900
2016-10-09 13:19:48 +02:00
Jakub Jelinek
4dfb8a2a60 re PR tree-optimization/77901 (ICE in tree-sse-reassoc,c:2881)
PR tree-optimization/77901
	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Only optimize
	if ranges[i].exp is SSA_NAME when looking for >= and only when
	ranges[i].exp is NULL or SSA_NAME when looking for the other
	comparison.

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

From-SVN: r240899
2016-10-09 13:18:53 +02:00
Prathamesh Kulkarni
67b974787c ipa-cp.c (ipcp_alignment_lattice): Remove.
2016-10-09  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* ipa-cp.c (ipcp_alignment_lattice): Remove.
	(ipcp_param_lattices): Remove field alignment.
	(print_all_lattices): Remove call to ipcp_alignment_lattice::print.
	(set_all_contains_variable): Remove call to
	ipcp_alignment_lattice::set_to_bottom.
	(initialize_node_lattices): Likewise.
	(propagate_alignment_accross_jump_function): Remove.
	(propagate_constants_accross_call): Remove call to
	propagate_alignment_accross_jump_function.
	(ipcp_store_alignment_results): Remove.
	(ipcp_driver): Remove call to ipcp_store_alignment_results.
	(propagate_bits_accross_jump_function): Handle ancestor jump function.
	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Remove
	pretty-printing of alignment jump function.
	(ipa_set_jf_unknown): Remove assignment to jfunc->alignment.known.
	(ipa_compute_jump_functions_for_edge): Adjust ipa_bits jump function for
	alignments and remove computing ipa_alignment jump function.
	(ipa_node_params_t::duplicate): Remove copying of src_trans->alignments.
	(ipa_write_jump_functions): Remove streaming for ipa_alignment.
	(ipa_read_jump_function): Remove reading of ipa_alignment.
	(write_ipcp_transformation_info): Remove streaming for alignment
	propagation summary.
	(read_ipcp_transformation_info): Remove reading of alignment
	propagation summary. 
	(ipcp_update_alignments): Remove.
	(ipcp_update_bits): Adjust to set alignment for parameters of pointer
	type.
	(ipcp_transform_function): Remove call to ipcp_update_alignments()
	and remove assignment to (*ipcp_transformations)[node->uid].alignments.
	* ipa-prop.h (ipa_alignment): Remove.
	(ipa_jump_func): Remove field alignment.
	(ipcp_transformation_summary): Remove field alignments. 
	* doc/invoke.texi: Mark fipa-cp-alignment as obsolete.
	* opts.c (default_options_table): Remove entry for fipa-cp-alignment.
	(enable_fdo_optimizations): Remove checking for fipa-cp-alignment.

testsuite/
	* gcc.dg/ipa/propalign-1.c: Adjust scan-ipa-dump.
	* gcc.dg/ipa/propalign-2.c: Likewise
	* gcc.dg/ipa/propalign-3.c: Likewise.
	* gcc.dg/ipa/propalign-4.c: Likewise.
	* gcc.dg/ipa/propalign-5.c: Likewise.

From-SVN: r240898
2016-10-09 04:48:50 +00:00
Jason Merrill
e525cfa7e3 * cp-gimplify.c (cp_fold): Add variable name.
From-SVN: r240897
2016-10-08 22:41:47 -04:00
GCC Administrator
51e95f4ea9 Daily bump.
From-SVN: r240896
2016-10-09 00:16:17 +00:00
Jason Merrill
627be19fe1 Delay folding of bool conversion into COND_EXPR.
gcc/c-family/
	* c-common.c (c_common_truthvalue_conversion): Don't distribute
	into COND_EXPR in C++.
gcc/cp/
	* cp-gimplify.c (cp_fold): Distribute cp_truthvalue_conversion
	into COND_EXPR.

From-SVN: r240893
2016-10-08 13:40:22 -04:00
Eric Botcazou
490a67336b sparc.h (FIXED_REGISTERS): Add %icc.
* config/sparc/sparc.h (FIXED_REGISTERS): Add %icc.

	* config/visium/visium.c (visium_expand_int_cstore): Revert latest
	change.
	(visium_expand_fp_cstore): Likewise.

From-SVN: r240892
2016-10-08 17:32:46 +00:00
Prathamesh Kulkarni
a5fb7ad2d1 diagnostic-core.h (warning_at_rich_loc_n): Declare.
2016-10-08  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* diagnostic-core.h (warning_at_rich_loc_n): Declare.
	* diagnostic.c (warning_at_rich_loc_n): New function.
	(diagnostic_n_impl_richloc): Likewise.
	(diagnostic_n_impl): Move most of the function to
	diagnostic_n_impl_richloc and call it.

From-SVN: r240891
2016-10-08 17:04:35 +00:00
Eric Botcazou
9c453de707 utils.c (convert): Add missing break.
* gcc-interface/utils.c (convert) <VECTOR_CST>: Add missing break.

	Revert
	2016-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* gcc-interface/decl.c: Fix fall through comment formatting.
	* gcc-interface/misc.c: Likewise.
	* gcc-interface/trans.c: Likewise.
	* gcc-interface/utils.c: Likewise.
	* gcc-interface/utils2.c: Likewise.

From-SVN: r240890
2016-10-08 17:04:28 +00:00
Jason Merrill
36cbfdb066 Further P0135 refinement.
* call.c (build_user_type_conversion_1): Consider conversions from
	a single element in an initializer-list.
	(build_temp): Undo early_elide_copy change.
	(build_over_call): Check that we don't try to copy a TARGET_EXPR
	in C++17 mode.  Set user_conv_p here.
	(convert_like_real): Not here.
	(check_self_delegation): Split out from...
	(build_special_member_call): ...here.  Handle C++17 copy elision.
	* cvt.c (early_elide_copy): Remove.
	(ocp_convert): Undo early_elide_copy change.
	* except.c (build_throw): Likewise.
	* init.c (expand_default_init): Likewise.
	* typeck.c (cp_build_modify_expr): Likewise.

From-SVN: r240889
2016-10-08 12:23:26 -04:00
Jakub Jelinek
80994c4654 gen-pass-instances.awk: Rewritten.
* gen-pass-instances.awk: Rewritten.
	* Makefile.in (pass-instances.def): Depend on $(PASSES_EXTRA), pass
	$(PASSES_EXTRA) after passes.def to the script.
	* config/i386/t-i386 (PASSES_EXTRA): Add i386-passes.def.
	* config/i386/i386-passes.def: New file.
	* config/i386/i386-protos.h (make_pass_insert_vzeroupper,
	make_pass_stv): Declare.
	* config/i386/i386.c (pass_stv::pass_stv): Initialize timode_p to
	false.
	(pass_stv::gate): Depending on timode_p member require TARGET_64BIT
	or !TARGET_64BIT.
	(pass_stv::clone, pass_stv::set_pass_param): New methods.
	(pass_stv::timode_p): New non-static data member.
	(ix86_option_override): Don't register passes here.

From-SVN: r240888
2016-10-08 15:50:50 +02:00
Jakub Jelinek
478167be62 gen-pass-instances.awk: Rewritten.
* gen-pass-instances.awk: Rewritten.
	* Makefile.in (pass-instances.def): Depend on $(PASSES_EXTRA), pass
	$(PASSES_EXTRA) after passes.def to the script.
	* config/i386/t-i386 (PASSES_EXTRA): Add i386-passes.def.
	* config/i386/i386-passes.def: New file.
	* config/i386/i386-protos.h (make_pass_insert_vzeroupper,
	make_pass_stv): Declare.
	* config/i386/i386.c (pass_stv::pass_stv): Initialize timode_p to
	false.
	(pass_stv::gate): Depending on timode_p member require TARGET_64BIT
	or !TARGET_64BIT.
	(pass_stv::clone, pass_stv::set_pass_param): New methods.
	(pass_stv::timode_p): New non-static data member.
	(ix86_option_override): Don't register passes here.

From-SVN: r240887
2016-10-08 14:04:37 +02:00
Jakub Jelinek
ee19ef45ba invoke.texi: Document accepting Else, fallthrough.
* doc/invoke.texi: Document accepting Else, fallthrough.

	* lex.c (fallthrough_comment_p): Accept Else, fallthrough.

	* c-c++-common/Wimplicit-fallthrough-23.c (foo): Add further tests.

From-SVN: r240886
2016-10-08 12:54:27 +02:00
Jakub Jelinek
81b02905b0 invoke.texi (-Wimplicit-fallthrough): Document FALLTHRU comment style changes.
* doc/invoke.texi (-Wimplicit-fallthrough): Document FALLTHRU comment
	style changes.

	* lex.c (fallthrough_comment_p): Extend to handle more common FALLTHRU
	comment styles.

	* c-c++-common/Wimplicit-fallthrough-23.c (foo): Add further tests.

From-SVN: r240885
2016-10-08 12:53:05 +02:00
Jakub Jelinek
7bad794aa0 c-lex.c (c_lex_with_flags): For CPP_COMMENT token with PREV_FALLTHROUGH...
* c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
	token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
	CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.

	* doc/invoke.texi (-Wimplicit-fallthrough): Document the accepted
	FALLTHRU comment styles.

	* lex.c (fallthrough_comment_p): Fix off-by-one size comparison
	errors, cleanup.
	(_cpp_lex_direct): Allow arbitrary comments in between
	fallthrough_comment_p comment and following token.

	* c-c++-common/Wimplicit-fallthrough-23.c: New test.
	* c-c++-common/Wimplicit-fallthrough-24.c: New test.

From-SVN: r240884
2016-10-08 12:48:54 +02:00
GCC Administrator
6dc29c6db1 Daily bump.
From-SVN: r240882
2016-10-08 00:16:13 +00:00
Andrew Pinski
cd8b19afc0 aarch64-arches.def (AARCH64_ARCH): #undef at the end.
2016-10-07  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64-arches.def (AARCH64_ARCH): #undef at the end.
        * config/aarch64/aarch64-cores.def (AARCH64_CORE): Likewise.
        * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR): Likewise.
        * config/aarch64/aarch64-option-extensions.def (AARCH64_OPT_EXTENSION): Likewise.
        * config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION): Likewise.
        * config/aarch64/aarch64-opts.h (AARCH64_CORE): Don't #undef here.
        (AARCH64_ARCH): Likewise.
        * common/config/aarch64/aarch64-common.c (AARCH64_OPT_EXTENSION): Likewise.
        (AARCH64_CORE): Likewise.
        (AARCH64_ARCH): Likewise.
        * config/aarch64/aarch64-protos.h (AARCH64_FUSION_PAIR): Likewise.
        (AARCH64_EXTRA_TUNING_OPTION): Likewise.
        * config/aarch64/aarch64.c (AARCH64_FUION_PAIR): Likewise.
        (AARCH64_EXTRA_TUNING_OPTION): Likewise.
        (AARCH64_ARCH): Likewise.
        (AARCH64_CORE): Likewise.
        * config/aarch64/aarch64.h (AARCH64_CORE): Likewise.
        * config/aarch64/driver-aarch64.c (AARCH64_OPT_EXTENSION): Likewise.
        (AARCH64_CORE): Likewise.
        (AARCH64_ARCH): Likewise.

From-SVN: r240876
2016-10-07 14:36:41 -07:00