Commit Graph

149618 Commits

Author SHA1 Message Date
David Edelsohn
e4b3927883 fold-vec-add-1.c: Add dg-options -maltivec.
* gcc.target/powerpc/fold-vec-add-1.c: Add dg-options -maltivec.
        * gcc.target/powerpc/fold-vec-add-2.c: Add dg-options -maltivec.
        * gcc.target/powerpc/fold-vec-add-3.c: Add dg-options -maltivec.
        * gcc.target/powerpc/fold-vec-add-4.c: Add dg-options -maltivec
        -mvsx -mpower8-vector.
        * gcc.target/powerpc/fold-vec-add-5.c: Add dg-options -maltivec -mno-vs\
x.
        * gcc.target/powerpc/fold-vec-add-6.c: Add dg-options -maltivec -mvsx.
        * gcc.target/powerpc/fold-vec-add-7.c: Add dg-options -maltivec
        -mvsx -mpower8-vector.

From-SVN: r241945
2016-11-07 18:09:44 -05:00
Jason Merrill
51dc660315 Implement P0012R1, Make exception specifications part of the type system.
gcc/cp/
	* cp-tree.h (enum tsubst_flags): Add tf_fndecl_type.
	(flag_noexcept_type, ce_type): New.
	* call.c (build_conv): Add ck_fnptr.
	(enum conversion_kind): Change ck_tsafe to ck_fnptr.
	(convert_like_real): Likewise.
	(standard_conversion): Likewise.  Allow function pointer
	conversions for pointers to member functions.
	(reference_compatible_p): Allow function pointer conversions.
	(direct_reference_binding): Likewise.
	(reference_binding): Reference-compatible is no longer a subset of
	reference-related.
	(is_subseq): Also strip ck_lvalue after next_conversion.
	* class.c (instantiate_type): Check fnptr_conv_p.
	(resolve_address_of_overloaded_function): Likewise.
	* cvt.c (can_convert_tx_safety): Now static.
	(noexcept_conv_p, fnptr_conv_p, strip_fnptr_conv): New.
	* decl.c (flag_noexcept_type): Define.
	(cxx_init_decl_processing): Set it.
	(bad_specifiers): Check it.
	(grokdeclarator) [cdk_function]: Add exception-spec to type here.
	* lambda.c (maybe_add_lambda_conv_op): Add exception-spec to
	returned pointer.
	* mangle.c (struct globals): Add need_cxx1z_warning.
	(mangle_decl): Check it.
	(write_exception_spec): New.
	(write_function_type): Call it.
	(canonicalize_for_substitution): Handle exception spec.
	(write_type): Likewise.
	(write_encoding): Set processing_template_decl across mangling of
	partially-instantiated type.
	* pt.c (determine_specialization): Pass tf_fndecl_type.
	(tsubst_decl, fn_type_unification): Likewise.
	(tsubst): Strip tf_fndecl_type, pass it to
	tsubst_exception_specification.
	(convert_nontype_argument_function): Handle function pointer
	conversion.
	(convert_nontype_argument): Likewise.
	(unify, for_each_template_parm_r): Walk into noexcept-specifier.
	* rtti.c (ptr_initializer): Encode noexcept.
	* tree.c (canonical_eh_spec): New.
	(build_exception_variant): Use it.
	* typeck.c (composite_pointer_type): Handle fnptr conversion.
	(comp_except_specs): Compare canonical EH specs.
	(structural_comptypes): Call it.
gcc/c-family/
	* c.opt (Wc++1z-compat): New.
	* c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
libstdc++-v3/
	* include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM)
	(_GLIBCXX_NOEXCEPT_QUAL): New.
	* include/std/type_traits (is_function): Use them.
	* libsubc++/new (launder): Likewise.
	* libsupc++/cxxabi.h (__pbase_type_info::__masks): Add
	__noexcept_mask.
	* libsupc++/pbase_type_info.cc (__do_catch): Handle function
	pointer conversion.
libiberty/
	* cp-demangle.c (is_fnqual_component_type): New.
	(d_encoding, d_print_comp_inner, d_print_mod_list): Use it.
	(FNQUAL_COMPONENT_CASE): New.
	(d_make_comp, has_return_type, d_print_comp_inner)
	(d_print_function_type): Use it.
	(next_is_type_qual): New.
	(d_cv_qualifiers, d_print_mod): Handle noexcept and throw-spec.
include/
	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_NOEXCEPT, DEMANGLE_COMPONENT_THROW_SPEC.

From-SVN: r241944
2016-11-07 18:09:29 -05:00
Jason Merrill
452811eb53 C++ cleanups before C++17 noexcept in types.
* call.c (standard_conversion): Reorganize pointer conversions.
	* pt.c (convert_nontype_argument_function): Convert to ref here.
	(convert_nontype_argument): Not here.
	(convert_template_argument): Add original type to error message.
	(RECUR_AND_CHECK_FAILURE): Remove trailing semicolon.
	(unify): Compare function-qualifiers.
	* typeck.c (same_type_ignoring_top_level_qualifiers_p): Use
	cp_build_qualified_type rather than TYPE_MAIN_VARIANT.

From-SVN: r241943
2016-11-07 18:09:21 -05:00
Jakub Jelinek
4ab71abd26 re PR target/78229 (ICE in redirect_eh_edge_1, at tree-eh.c:2305)
PR target/78229
	* config/i386/i386.c (ix86_gimple_fold_builtin): Do not adjust                                                                             
	EH info even for bzhi and pdep/pext.

From-SVN: r241942
2016-11-07 23:35:43 +01:00
David Edelsohn
9b8dc9eadf Fix dates.
From-SVN: r241941
2016-11-07 17:33:10 -05:00
Peter Bergner
b3be619e24 Add missing ChangeLog entry.
* config.gcc (powerpc*-*-*, rs6000*-*-*): Remove setting of
	INCLUDE_EXTRA_SPEC for Advance Toolchain builds.

From-SVN: r241939
2016-11-07 15:39:30 -06:00
Peter Bergner
d850a6f499 config.gcc (powerpc*-*-*, [...]): Remove setting of INCLUDE_EXTRA_SPEC for Advance Toolchain builds.
* config.gcc (powerpc*-*-*, rs6000*-*-*): Remove setting of
	INCLUDE_EXTRA_SPEC for Advance Toolchain builds.

From-SVN: r241937
2016-11-07 15:22:02 -06:00
François Dumont
76d3fd72f1 gnu-versioned-namespace.ver: Export C++17 new of over-aligned types symbols.
2016-11-07  François Dumont  <fdumont@gcc.gnu.org>

	* config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of
	over-aligned types symbols.

From-SVN: r241936
2016-11-07 21:12:36 +00:00
Segher Boessenkool
b7fa8414c4 rs6000: Do swdiv at expand time
We transform floating point divide instructions to a faster series of
simple instructions, "swdiv".  Currently we do not do that until the
first splitter pass, which is much too late for most optimisations
that can happen on those new instructions, e.g. the constant loads
are not CSEd inside an unrolled loop.  This patch changes things so
those divide instructions are expanded during expand already.


	* config/rs6000/rs6000.md (div<mode>3): Expand using rs6000_emit_swdiv
	if appropriate.
	* config/rs6000/vector.md (div<mode>3): Ditto.

From-SVN: r241935
2016-11-07 21:54:42 +01:00
David Edelsohn
fda2d61208 scanasm.exp (hidden-scan-for): Add XCOFF support.
* lib/scanasm.exp (hidden-scan-for): Add XCOFF support.

        * gfortran.dg/implicit_class_1.f90: Skip on AIX.
        * gcc.dg/visibility-14.c: XFAIL AIX.
        * gcc.dg/visibility-15.c: XFAIL AIX.
        * gcc.dg/visibility-16.c: XFAIL AIX.
        * gcc.dg/visibility-17.c: XFAIL AIX.
        * gcc.dg/visibility-18.c: XFAIL AIX.
        * gcc.dg/visibility-19.c: XFAIL AIX.
        * g++.dg/ext/visibility/anon1.C: XFAIL AIX.
        * g++.dg/ext/visibility/anon2.C: XFAIL AIX.
        * g++.dg/ext/visibility/pragma-override1.C: XFAIL AIX.
        * g++.dg/ext/visibility/pragma-override2.C: XFAIL AIX.

From-SVN: r241934
2016-11-07 15:33:30 -05:00
David Edelsohn
621d0992d1 Fix typo.
From-SVN: r241932
2016-11-07 15:30:30 -05:00
David Edelsohn
8d91472f6e configure.ac (.hidden): Change to conftest_s string.
* configure.ac (.hidden): Change to conftest_s string. Provide string
for AIX assembler.
(gcc_cv_ld_hidden): Yes for AIX.
* configure: Regenerate.

* dwarf2asm.c (USE_LINKONCE_INDIRECT): Don't set for AIX (XCOFF).

* config/rs6000/rs6000-protos.h (rs6000_asm_weaken_decl): Declare
(rs6000_xcoff_asm_output_aligned_decl_common): Declare.
* config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_DECL_NAME): Define.
(ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
(ASM_OUTPUT_ALIGNED_COMMON): Delete.
* config/rs6000/rs6000.c (rs6000_init_builtins): Change clog rename
from #if to if.
(rs6000_xcoff_visibility): New.
(rs6000_xcoff_declare_function_name): Add visibility support.
(rs6000_xcoff_asm_globalize_decl_name): New.
(rs6000_xcoff_asm_output_aligned_decl_common): New.
(rs6000_asm_weaken_decl): New.
(rs6000_code_end): Disable HIDDEN_LINKONCE on XCOFF.
config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Change definition to
reference function.

From-SVN: r241930
2016-11-07 15:16:13 -05:00
Jason Merrill
c9c039100a Add template instantiations to the announce_function stream.
* pt.c (push_tinst_level_loc): Add template instantiations to the
	announce_function stream.

From-SVN: r241928
2016-11-07 14:35:13 -05:00
Thomas Koenig
39b4b34de0 re PR fortran/78226 (Fill out location information everywhere)
2016-11-07  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/78226
	* expr.c (gfc_generate_initializer):  Add where to EXPR_NULL
	statement.
	* iresolve.c (gfc_resolve_extends_type_of):  Add where to
	both arguments of the function.
	* resolve.c (resolve_select_type):  Add where to the
	second argument of the new statement.

From-SVN: r241927
2016-11-07 19:33:27 +00:00
Joseph Myers
98a989094b * es.po: Update.
From-SVN: r241922
2016-11-07 18:37:01 +00:00
Jack Howarth
68fe024edf re PR driver/78206 (bootstrap failure under Apple sandbox that blacklists reads in /usr/local)
2016-11-06  Jack Howarth  <howarth.at.gcc@gmail.com>

	PR driver/78206
	* incpath.c: (remove_dup(): Also silently ignore EPERM.

From-SVN: r241919
2016-11-07 18:33:49 +00:00
Martin Jambor
f73fbf900d Remove a TODO from verify_type_variant
2016-11-07  Martin Jambor  <mjambor@suse.cz>

	* tree.c (verify_type_variant): Use pointer comparison to check that
	TYPE_SIZE_UNIT match.

From-SVN: r241918
2016-11-07 19:30:26 +01:00
Jakub Jelinek
a8404b9a26 re PR target/77834 (ICE: in make_decl_rtl, at varasm.c:1311 with -O -ftree-pre -mstringop-strategy=libcall)
PR target/77834
	* dse.c (dse_step5): Call scan_reads even if just
	insn_info->frame_read.  Improve and fix dump file messages.

From-SVN: r241917
2016-11-07 18:35:16 +01:00
Jakub Jelinek
60cee85e0a re PR target/78227 (ICE: unrecognizable insn: in extract_insn, at recog.c:2311 with -mavx512bw and vector comare)
PR target/78227
	* config/i386/i386.c (ix86_expand_sse_cmp): Force dest into
	cmp_mode argument even for -O0 if cmp_mode != mode and maskcmp.

	* gcc.target/i386/pr78227-1.c: New test.
	* gcc.target/i386/pr78227-2.c: New test.

From-SVN: r241916
2016-11-07 18:33:27 +01:00
Prathamesh Kulkarni
7aa13860fb re PR middle-end/35691 (Missed (a == 0) && (b == 0) into (a|(typeof(a)(b)) == 0 when the types don't match)
2016-11-07  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	PR middle-end/35691
	* match.pd: Add following two patterns:
	(x == 0 & y == 0) -> (x | typeof(x)(y)) == 0.
	(x != 0 | y != 0) -> (x | typeof(x)(y)) != 0.

testsuite/
	* gcc.dg/pr35691-1.c: New test-case.
	* gcc.dg/pr35691-4.c: Likewise.

From-SVN: r241915
2016-11-07 17:32:17 +00:00
Bernd Schmidt
1581a12c35 emit-rtl.c (emit_copy_of_insn_after): Duplicate notes in order.
* emit-rtl.c (emit_copy_of_insn_after): Duplicate notes in order.
	* sel-sched-ir.c (create_copy_of_insn_rtx): Likewise.
	* rtl.h (duplicate_reg_notes): Declare.
	* rtlanal.c (duplicate_reg_note): New function.

From-SVN: r241913
2016-11-07 17:03:55 +00:00
Bernd Schmidt
caa024ffce re PR tree-optimization/77309 (wrong code at -Os and above on x86_64-linux-gnu (in the 64-bit mode))
PR rtl-optimization/77309
	* combine.c (make_compound_operation): Allow EQ for IN_CODE, and
	don't assume an equality comparison for plain COMPARE.
	(simplify_comparison): Pass a more accurate code to
	make_compound_operation.

testsuite/
	PR rtl-optimization/77309
	* gcc.dg/torture/pr77309.c: New test.

From-SVN: r241912
2016-11-07 16:59:11 +00:00
Pat Haugen
b4ff394c54 target.def (compute_pressure_classes): New target hook.
* target.def (compute_pressure_classes): New target hook.
	* doc/tm.texi.in: Document it.
	* doc/tm.texi: Regenerate.
	* ira.c (setup_pressure_classes): Call target hook if defined.

From-SVN: r241911
2016-11-07 15:37:51 +00:00
Thomas Koenig
c939044ae5 Fixed PR in ChangeLog entry.
From-SVN: r241910
2016-11-07 15:29:20 +00:00
Thomas Koenig
ce38615375 re PR fortran/78226 (Fill out location information everywhere)
2016-11-07  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/78826
	* match.c (gfc_match_select_type):  Add where for expr1.
	* resolve.c (resolev_select_type): Add where for expr1 of new
	statement.

From-SVN: r241909
2016-11-07 15:25:21 +00:00
David Malcolm
b5fbe71648 rtx_writer: avoid printing trailing default values
gcc/ChangeLog:
	* print-rtl.c (rtx_writer::operand_has_default_value_p): New
	method.
	(rtx_writer::print_rtx): In compact mode, omit trailing operands
	that have the default values.
	* print-rtl.h (rtx_writer::operand_has_default_value_p): New
	method.
	* rtl-tests.c (selftest::test_dumping_insns): Remove empty
	label string from expected dump.
	(seltest::test_uncond_jump): Remove trailing "(nil)" for REG_NOTES
	from expected dump.

From-SVN: r241908
2016-11-07 15:19:17 +00:00
Tamar Christina
061ee39672 Fix native windows build by adding signal.h back into the include list.
* gcc/ada/adaint.c: Added signal.h for Windows.

From-SVN: r241907
2016-11-07 14:14:13 +00:00
Jakub Jelinek
dca167984a re PR target/77834 (ICE: in make_decl_rtl, at varasm.c:1311 with -O -ftree-pre -mstringop-strategy=libcall)
PR target/77834
	* alias.c (nonoverlapping_memrefs_p): If one decl is
	FUNCTION_DECL or LABEL_DECL and the other is not, return 1.

From-SVN: r241905
2016-11-07 14:33:37 +01:00
Jakub Jelinek
a98152285e re PR middle-end/71529 ([CHKP] ICE in expand_expr_real_1)
PR middle-end/71529
	* gcc.target/i386/pr71529.C: Moved to ...
	* g++.dg/opt/pr71529.C: ... here.  New test.  Guard for i?86/x86_64.

	PR target/64411
	* gcc.target/i386/pr64411.C: Moved to ...
	* g++.dg/opt/pr64411.C: ... here.  New test.  Guard for i?86/x86_64
	lp64.

	PR target/65105
	* gcc.target/i386/pr65105-4.C: Moved to ...
	* g++.dg/opt/pr65105-4.C: ... here.  New test.  Guard for i?86/x86_64.
	Run into compile test rather than execute test.

From-SVN: r241903
2016-11-07 14:07:32 +01:00
Richard Biener
e8ab5cb19b re PR target/78229 (ICE in redirect_eh_edge_1, at tree-eh.c:2305)
2016-11-07  Richard Biener  <rguenther@suse.de>

	PR target/78229
	* config/i386/i386.c (ix86_gimple_fold_builtin): Do not adjust
	EH info.

	* g++.dg/pr78229.C: New testcase.

From-SVN: r241901
2016-11-07 12:26:48 +00:00
Richard Biener
20770eb80b re PR tree-optimization/78218 (wrong code at -Os and above on x86_64-linux-gnu (in both 32-bit and 64-bit modes))
2016-11-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/78218
	* gimple-ssa-store-merging.c
	(pass_store_merging::terminate_all_aliasing_chains):
	Drop unused argument, fix alias check to also consider uses.
	(pass_store_merging::execute): Adjust.

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

From-SVN: r241900
2016-11-07 12:26:00 +00:00
Richard Biener
32894793ff re PR middle-end/78228 (fstrict-overflow breaks code without overflow?)
2016-11-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/78228
	* tree-ssa-phiopt.c (abs_replacement): Avoid introducing
	undefined behavior.

	* gcc.dg/tree-ssa/phi-opt-15.c: New testcase.

From-SVN: r241899
2016-11-07 12:25:09 +00:00
Kyrylo Tkachov
e27bfda2fc [AArch64] Fix PR target/77822: Use tighter predicates for zero_extract patterns
PR target/77822
	* config/aarch64/aarch64.md (*tb<optab><mode>1): Use
	aarch64_simd_shift_imm_<mode> predicate for operand 1.
	(<optab>, ANY_EXTRACT): Use tighter predicates on operands 2 and 3
	to restrict them to an appropriate range and add FAIL check if the
	region they specify is out of range.  Delete useless constraint
	strings.
	(*<optab><mode>, ANY_EXTRACT): Add appropriate predicates on operands
	2 and 3 to restrict their range and add pattern predicate.

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

From-SVN: r241898
2016-11-07 11:43:57 +00:00
Martin Liska
00d6b7a1a7 Introduce tests for -fsanitize-address-use-after-scope
* c-c++-common/asan/force-inline-opt0-1.c: Disable
	-f-sanitize-address-use-after-scope.
	* c-c++-common/asan/inc.c: Change number of expected ASAN_CHECK
	internal fn calls.
	* g++.dg/asan/use-after-scope-1.C: New test.
	* g++.dg/asan/use-after-scope-2.C: Likewise.
	* g++.dg/asan/use-after-scope-3.C: Likewise.
	* g++.dg/asan/use-after-scope-types-1.C: Likewise.
	* g++.dg/asan/use-after-scope-types-2.C: Likewise.
	* g++.dg/asan/use-after-scope-types-3.C: Likewise.
	* g++.dg/asan/use-after-scope-types-4.C: Likewise.
	* g++.dg/asan/use-after-scope-types-5.C: Likewise.
	* g++.dg/asan/use-after-scope-types.h: Likewise.
	* gcc.dg/asan/use-after-scope-1.c: Likewise.
	* gcc.dg/asan/use-after-scope-2.c: Likewise.
	* gcc.dg/asan/use-after-scope-3.c: Likewise.
	* gcc.dg/asan/use-after-scope-4.c: Likewise.
	* gcc.dg/asan/use-after-scope-5.c: Likewise.
	* gcc.dg/asan/use-after-scope-6.c: Likewise.
	* gcc.dg/asan/use-after-scope-7.c: Likewise.
	* gcc.dg/asan/use-after-scope-8.c: Likewise.
	* gcc.dg/asan/use-after-scope-9.c: Likewise.
	* gcc.dg/asan/use-after-scope-switch-1.c: Likewise.
	* gcc.dg/asan/use-after-scope-switch-2.c: Likewise.
	* gcc.dg/asan/use-after-scope-switch-3.c: Likewise.
	* gcc.dg/asan/use-after-scope-goto-1.c: Likewise.
	* gcc.dg/asan/use-after-scope-goto-2.c: Likewise.

From-SVN: r241897
2016-11-07 10:25:18 +00:00
Martin Liska
6dc4a60450 Introduce -fsanitize-address-use-after-scope
* c-warn.c (warn_for_unused_label): Save all labels used
	in goto or in &label.
	* asan.c (enum asan_check_flags): Move the enum to header file.
	(asan_init_shadow_ptr_types): Make type creation more generic.
	(shadow_mem_size): New function.
	(asan_emit_stack_protection): Use newly added ASAN_SHADOW_GRANULARITY.
	Rewritten stack unpoisoning code.
	(build_shadow_mem_access): Add new argument return_address.
	(instrument_derefs): Instrument local variables if use after scope
	sanitization is enabled.
	(asan_store_shadow_bytes): New function.
	(asan_expand_mark_ifn): Likewise.
	(asan_sanitize_stack_p): Moved from asan_sanitize_stack_p.
	* asan.h (enum asan_mark_flags): Moved here from asan.c
	(asan_protect_stack_decl): Protect all declaration that need
	to live in memory.
	(asan_sanitize_use_after_scope): New function.
	(asan_no_sanitize_address_p): Likewise.
	* cfgexpand.c (partition_stack_vars): Consider
	asan_sanitize_use_after_scope in condition.
	(expand_stack_vars): Likewise.
	* common.opt (-fsanitize-address-use-after-scope): New option.
	* doc/invoke.texi (use-after-scope-direct-emission-threshold):
	Explain the parameter.
	* flag-types.h (enum sanitize_code): Define SANITIZE_USE_AFTER_SCOPE.
	* gimplify.c (build_asan_poison_call_expr): New function.
	(asan_poison_variable): Likewise.
	(gimplify_bind_expr): Generate poisoning/unpoisoning for local
	variables that have address taken.
	(gimplify_decl_expr): Likewise.
	(gimplify_target_expr): Likewise for C++ temporaries.
	(sort_by_decl_uid): New function.
	(gimplify_expr): Unpoison all variables for a label we can jump
	from outside of a scope.
	(gimplify_switch_expr): Unpoison variables defined in the switch
	context.
	(gimplify_function_tree): Clear asan_poisoned_variables.
	(asan_poison_variables): New function.
	(warn_switch_unreachable_r): Handle IFN_ASAN_MARK.
	* internal-fn.c (expand_ASAN_MARK): New function.
	* internal-fn.def (ASAN_MARK): Declare.
	* opts.c (finish_options): Handle -fstack-reuse if
	-fsanitize-address-use-after-scope is enabled.
	(common_handle_option): Enable address sanitization if
	-fsanitize-address-use-after-scope is enabled.
	* params.def (PARAM_USE_AFTER_SCOPE_DIRECT_EMISSION_THRESHOLD):
	New parameter.
	* params.h: Likewise.
	* sancov.c (pass_sanopt::execute): Handle IFN_ASAN_MARK.
	* sanitizer.def: Define __asan_poison_stack_memory and
	__asan_unpoison_stack_memory functions.
	* asan.c (asan_mark_poison_p): New function.
	(transform_statements): Handle asan_mark_poison_p calls.
	* gimple.c (nonfreeing_call_p): Handle IFN_ASAN_MARK.

From-SVN: r241896
2016-11-07 10:23:38 +00:00
Tamar Christina
2447ab8593 Fix the Windows native x86-64 build.
PR driver/78196
	* Makefile.in (SELFTEST_FLAGS): Added -o /dev/null.

From-SVN: r241895
2016-11-07 09:17:55 +00:00
Martin Liska
5bcb571cb2 time_profiler: Set proper type to time_profiler_counter_ptr.
* tree-profile.c (gimple_gen_time_profiler): Set proper type
	to time_profiler_counter_ptr.

From-SVN: r241894
2016-11-07 08:57:44 +00:00
Richard Biener
29afecdf1b re PR middle-end/37150 (basic-block vectorization misses some unrolled loops)
2016-11-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/37150
	* tree-vectorizer.h (vect_transform_slp_perm_load): Add n_perms
	parameter.
	* tree-vect-slp.c (vect_supported_load_permutation_p): Adjust.
	(vect_analyze_slp_cost_1): Account for the real number of
	permutations emitted and for dead loads.
	(vect_transform_slp_perm_load): Add n_perms parameter counting
	the number of emitted permutations.
	* tree-vect-stmts.c (vectorizable_load): Adjust.

From-SVN: r241893
2016-11-07 08:06:08 +00:00
Richard Biener
a0d3edf8a5 re PR tree-optimization/78189 (movaps generated for unaligned store in aligned struct, when struct is referenced via unaligned member.)
2016-11-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/78189
	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Fix
	alignment computation.

	* g++.dg/torture/pr78189.C: New testcase.

From-SVN: r241892
2016-11-07 08:05:08 +00:00
GCC Administrator
e34b855ed5 Daily bump.
From-SVN: r241891
2016-11-07 00:16:20 +00:00
David Edelsohn
0db5adfa6d * gcc.dg/Wtrampolines.c: XFAIL AIX.
From-SVN: r241888
2016-11-06 17:29:38 -05:00
Thomas Koenig
eb950bf834 re PR fortran/78226 (Fill out location information everywhere)
2016-11-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/78226
	resolve.c (build_loc_call): Add location to return value.

From-SVN: r241887
2016-11-06 21:27:32 +00:00
Andre Vehreschild
cc03bf7a7b allocate_with_source_14.f03: Fixed number mallocs occuring.
gcc/testsuite/ChangeLog:

2016-11-06  Andre Vehreschild  <vehre@gcc.gnu.org>

	* gfortran.dg/allocate_with_source_14.f03: Fixed number mallocs
	occuring.

gcc/fortran/ChangeLog:

2016-11-06  Andre Vehreschild  <vehre@gcc.gnu.org>

	* expr.c (is_non_empty_structure_constructor): New function to detect
	non-empty structure constructor.
	(gfc_has_default_initializer): Analyse initializers.
	* resolve.c (cond_init): Removed.
	(resolve_allocate_expr): Removed dead code.  Moved invariant code out
	of the loop over all objects to allocate.
	(resolve_allocate_deallocate): Added the invariant code remove from
	resolve_allocate_expr.
	* trans-array.c (gfc_array_allocate): Removed nullify of structure
	components in favour of doing this in gfc_trans_allocate for both
	scalars and arrays in the same place.
	* trans-expr.c (gfc_trans_init_assign): Always using _vptr->copy for
	class objects.
	* trans-stmt.c (allocate_get_initializer): Get the initializer
	expression for object allocated.
	(gfc_trans_allocate): Nullify a derived type only, when no SOURCE=
	or MOLD= is present preventing duplicate work.  Moved the creation
	of the init-expression here to prevent code for conditions that
	can not occur on freshly allocated object, like checking for the need
	to free allocatable components.

From-SVN: r241885
2016-11-06 17:10:22 +01:00
Thomas Koenig
18bb8b8a2a re PR fortran/78221 (bogus warning: Non-zero imaginary part discarded in conversion [-Wconversion])
2016-11-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR fortran/78221
        * arith.c (gfc_complex2real):  Change gfc_warning_now to
        gfc_warning.

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

        PR fortran/78221
        * gfortran.dg/warn_conversion_9.f90:  New test.

From-SVN: r241884
2016-11-06 12:27:51 +00:00
Kugan Vivekanandarajah
0ddd4af5f4 ipa-cp.c (ipcp_bits_lattice::meet_with): Remove unreachable code.
2016-11-06  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* ipa-cp.c (ipcp_bits_lattice::meet_with): Remove unreachable code.

From-SVN: r241883
2016-11-06 08:25:36 +00:00
GCC Administrator
f471c1e996 Daily bump.
From-SVN: r241882
2016-11-06 00:16:15 +00:00
Martin Sebor
123fa37259 invoke.texi (Warning Options): Correct typos in -Walloca documentation.
gcc/ChangeLog:
	* doc/invoke.texi (Warning Options): Correct typos in -Walloca
	documentation.

From-SVN: r241875
2016-11-05 13:54:17 -06:00
Joseph Myers
8ecedb7092 * es.po: Update.
From-SVN: r241873
2016-11-05 19:34:21 +00:00
Paul Thomas
c7f587bd0f check.c (gfc_check_move_alloc): Introduce error to prevent aliasing between to and from arguments.
2016-11-05  Paul Thomas  <pault@gcc.gnu.org>

	* check.c (gfc_check_move_alloc): Introduce error to prevent
	aliasing between to and from arguments.

2016-11-05  Paul Thomas  <pault@gcc.gnu.org>

	* gfortran.dg/move_alloc_17.f03: New test.

From-SVN: r241872
2016-11-05 14:25:25 +00:00
Richard Biener
92657eb0f6 re PR ipa/78188 (AIX Bootstrap broken by tree-vrp.c change)
2016-11-05  Richard Biener  <rguenther@suse.de>

        PR bootstrap/78188
        * g++.dg/ipa/pr78188.C: New test.

From-SVN: r241871
2016-11-05 09:06:08 -04:00