Commit Graph

157002 Commits

Author SHA1 Message Date
Jonathan Wakely
db62ad7c66 Improve tests for error reporting in Filesystem TS
* testsuite/experimental/filesystem/iterators/
	recursive_directory_iterator.cc: Ensure that error_code arguments are
	cleared when required.
	* testsuite/experimental/filesystem/operations/create_directory.cc:
	Remove redundant check.
	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
	Ensure that error_code argument is cleared when required.

From-SVN: r253897
2017-10-19 14:57:10 +01:00
Jonathan Wakely
551124d561 Fix path::iterator post-increment and post-decrement
* include/experimental/bits/fs_path.h (path::iterator++(int))
	(path::iterator--(int)): Fix for paths with only one component.
	* testsuite/experimental/filesystem/path/itr/traversal.cc: Test
	post-increment and post-decrement.

From-SVN: r253896
2017-10-19 14:57:06 +01:00
Jonathan Wakely
89b1e16136 Update references to C++17 in libstdc++ manual
* doc/xml/manual/status_cxx2017.xml: Update references to C++17
	section numbers.

From-SVN: r253895
2017-10-19 14:57:02 +01:00
Jonathan Wakely
af23b26ab0 Use __LONG_LONG_MAX__ instead of LONG_LONG_MAX in test
* testsuite/decimal/conversion-to-integral.cc: Use predefined macro
	instead of non-standard glibc one.

From-SVN: r253894
2017-10-19 14:56:55 +01:00
Eric Botcazou
426776f1b5 re PR debug/82509 (DW_AT_endianity issues with attribute scalar_storage_order)
PR debug/82509
	* dwarf2out.c (new_die_raw): New static inline function.
	(new_die): Use it to create the DIE.
	(add_AT_external_die_ref): Likewise.
	(clone_die): Likewise.
	(clone_as_declaration): Likewise.
	(dwarf2out_vms_debug_main_pointer): Likewise.
	(base_type_die): Likewise.  Remove early return for corner cases.
	Do not call add_pubtype on the DIE here.
	(is_base_type): Remove ERROR_MARK and return 0 for VOID_TYPE.
	(modified_type_die): Adjust the lookup for reverse order DIEs.  Skip
	typedefs for base types with DW_AT_endianity.  Make sure a DIE with
	native order exists for base types, attach the DIE manually and call
	add_pubtype on it.  Do not equate a reverse order DIE to the type.

From-SVN: r253893
2017-10-19 13:50:10 +00:00
Richard Earnshaw
3bb3d60b1e [ARM] PR 82445 - suppress 32-bit aligned ldrd/strd peepholing with -mno-unaligned-access
Peephole patterns exist in the arm backend to spot load/store
operations to adjacent memory operations in order to convert them into
ldrd/strd instructions.  However, when we have strict alignment
enforced, then we can only do this if the accesses are known to be
64-bit aligned; this is unlikely to be the case for most loads.  The
patch adds some alignment checking to the code that validates the
addresses for use in the peephole patterns.  This should also fix
incorrect generation of ldrd/strd with unaligned accesses that could
previously have occurred on ARMv5e where all such operations must be
64-bit aligned.

I've added some new tests as well.  In doing so I discovered that the
ldrd/strd peephole tests could never fail since they would match the
source file name in the scanned assembly as well as any instructions
of the intended type.  I've fixed those by tightening the scan results
slightly.

gcc:

* config/arm/arm.c (align_ok_ldrd_strd): New function.
(mem_ok_for_ldrd_strd): New parameter align.  Extract the alignment of the
mem into it.
(gen_operands_ldrd_strd): Validate the alignment of the accesses.

testsuite:

* gcc.target/arm/peep-ldrd-1.c: Tighten test scan pattern.
* gcc.target/arm/peep-strd-1.c: Likewise.
* gcc.target/arm/peep-ldrd-2.c: New test.
* gcc.target/arm/peep-strd-2.c: New test.

From-SVN: r253890
2017-10-19 13:10:42 +00:00
Jakub Jelinek
07d7c611fc flag-types.h (enum sanitize_code): Add SANITIZE_BUILTIN.
* flag-types.h (enum sanitize_code): Add SANITIZE_BUILTIN.  Or
	SANITIZE_BUILTIN into SANITIZE_UNDEFINED.
	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_INVALID_BUILTIN,
	BUILT_IN_UBSAN_HANDLE_INVALID_BUILTIN_ABORT): New builtins.
	* opts.c (sanitizer_opts): Add builtin.
	* ubsan.c (instrument_builtin): New function.
	(pass_ubsan::execute): Call it.
	(pass_ubsan::gate): Enable even for SANITIZE_BUILTIN.
	* doc/invoke.texi: Document -fsanitize=builtin.

	* c-c++-common/ubsan/builtin-1.c: New test.

From-SVN: r253888
2017-10-19 14:09:52 +02:00
Jakub Jelinek
5d3805fca3 ubsan.c (ubsan_expand_null_ifn): Use _v1 suffixed type mismatch builtins...
* ubsan.c (ubsan_expand_null_ifn): Use _v1 suffixed type mismatch
	builtins, store max (log2 (align), 0) into uchar field instead of
	align into uptr field.
	(ubsan_expand_objsize_ifn): Use _v1 suffixed type mismatch builtins,
	store uchar 0 field instead of uptr 0 field.
	(instrument_nonnull_return): Use _v1 suffixed nonnull return builtin,
	instead of passing one address of struct with 2 locations pass
	two addresses of structs with 1 location each.
	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH,
	BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
	BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN,
	BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN_ABORT): Removed.
	(BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_V1,
	BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_V1_ABORT,
	BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN_V1,
	BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN_V1_ABORT): New builtins.

	* c-c++-common/ubsan/float-cast-overflow-1.c: Drop value keyword
	from expected output regexps.
	* c-c++-common/ubsan/float-cast-overflow-2.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-3.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-4.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-5.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-6.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-8.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-9.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-10.c: Likewise.
	* g++.dg/ubsan/float-cast-overflow-bf.C: Likewise.
	* gcc.dg/ubsan/float-cast-overflow-bf.c: Likewise.
	* g++.dg/asan/default-options-1.C (__asan_default_options): Add
	used attribute.
	* g++.dg/asan/asan_test.C: Run with ASAN_OPTIONS=handle_segv=2
	in the environment.

	* All source files: Merge from upstream 315899.
        * asan/Makefile.am (nodist_saninclude_HEADERS): Add
	include/sanitizer/tsan_interface.h.
        * asan/libtool-version: Bump the libasan SONAME.
	* lsan/Makefile.am (sanitizer_lsan_files): Add lsan_common_mac.cc.
	(lsan_files): Add lsan_linux.cc, lsan_mac.cc and lsan_malloc_mac.cc.
        * sanitizer_common/Makefile.am (sanitizer_common_files): Add
	sancov_flags.cc, sanitizer_allocator_checks.cc,
	sanitizer_coverage_libcdep_new.cc, sanitizer_errno.cc,
	sanitizer_file.cc, sanitizer_mac_libcdep.cc and
	sanitizer_stoptheworld_mac.cc.  Remove sanitizer_coverage_libcdep.cc
	and sanitizer_coverage_mapping_libcdep.cc.
        * tsan/Makefile.am (tsan_files): Add tsan_external.cc.
	* ubsan/Makefile.am (DEFS): Add -DUBSAN_CAN_USE_CXXABI=1.
	(ubsan_files): Add ubsan_init_standalone.cc and
	ubsan_signals_standalone.cc.
	* ubsan/libtool-version: Bump the libubsan SONAME.
        * asan/Makefile.in: Regenerate.
        * lsan/Makefile.in: Regenerate.
        * sanitizer_common/Makefile.in: Regenerate.
        * tsan/Makefile.in: Regenerate.
	* ubsan/Makefile.in: Regenerate.

From-SVN: r253887
2017-10-19 13:23:59 +02:00
Martin Liska
93659712d9 Revert r238089 (PR driver/81829).
2017-10-19  Martin Liska  <mliska@suse.cz>

	PR driver/81829
	* file-find.c (remove_prefix): Remove.
	* file-find.h (remove_prefix): Likewise.
	* gcc-ar.c: Remove smartness of lookup.

From-SVN: r253886
2017-10-19 11:08:28 +00:00
Segher Boessenkool
d8198d1cd0 rs6000: Fix "missing mode" on UNSPEC_TOCSLOT
Currently gen* warn about a missing mode on an UNSPEC_TOCSLOT unspec in
some call patterns.  Those unspecs are created from rs6000.c, with Pmode
always.  This patch fixes the patterns to say :P as well.


	* config/rs6000/rs6000.md (*call_indirect_aix<mode>,
	*call_value_indirect_aix<mode>, *call_indirect_elfv2<mode>,
	*call_value_indirect_elfv2<mode>): Add correct mode to the unspec.

From-SVN: r253885
2017-10-19 12:55:51 +02:00
Jakub Jelinek
1855f81251 re PR target/82580 (Optimize comparisons for __int128 on x86-64)
PR target/82580
	* config/i386/i386.md (setcc + movzbl to xor + setcc): New peephole2.
	(setcc + and to xor + setcc): New peephole2.

	* gcc.target/i386/pr82580.c: Use {\msbb} instead of "sbb" in
	scan-assembler-times.  Check that there are no movzb* instructions
	if lp64.

From-SVN: r253884
2017-10-19 10:37:04 +02:00
Tom de Vries
8a78f1a1b6 Specify required stack size for gcc.dg/tree-ssa/ldist-27.c
2017-10-19  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/tree-ssa/ldist-27.c: Use dg-require-stack-size.

From-SVN: r253883
2017-10-19 08:24:26 +00:00
Tom de Vries
7ff6bdb727 Add dg-require-stack-size
2017-10-19  Tom de Vries  <tom@codesourcery.com>

	* lib/target-supports-dg.exp (dg-require-stack-size): New proc.
	* gcc.c-torture/execute/20030209-1.c: Use dg-require-stack-size.
	* gcc.c-torture/execute/20040805-1.c: Same.
	* gcc.c-torture/execute/920410-1.c: Same.
	* gcc.c-torture/execute/921113-1.c: Same.
	* gcc.c-torture/execute/921208-2.c: Same.
	* gcc.c-torture/execute/comp-goto-1.c: Same.
	* gcc.c-torture/execute/pr20621-1.c: Same.
	* gcc.c-torture/execute/pr28982b.c: Same.
	* gcc.dg/tree-prof/comp-goto-1.c: Same.

	* doc/sourcebuild.texi (Test Directives, Variants of
	dg-require-support): Add dg-require-stack-size.

From-SVN: r253882
2017-10-19 08:11:26 +00:00
Bernhard Reutner-Fischer
439d235025 Derive interface buffers from max name length
2017-10-19  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* interface.c (check_sym_interfaces, check_uop_interfaces,
	gfc_check_interfaces): Base interface_name buffer off
	GFC_MAX_SYMBOL_LEN.

From-SVN: r253881
2017-10-19 09:55:43 +02:00
Aldy Hernandez
cf64af861f Update my last ChangeLog entry to properly specify overloaded functions.
From-SVN: r253880
2017-10-19 07:51:54 +00:00
Martin Liska
36208e6037 Do not instrument use-after-scope for vars with large alignment (PR sanitizer/82517).
2017-10-19  Martin Liska  <mliska@suse.cz>

	PR sanitizer/82517
	* gimplify.c (gimplify_decl_expr): Do not instrument variables
	that have a large alignment.
	(gimplify_target_expr): Likewise.
2017-10-19  Martin Liska  <mliska@suse.cz>

	PR sanitizer/82517
	* gcc.dg/asan/pr82517.c: New test.

From-SVN: r253879
2017-10-19 07:50:48 +00:00
Jakub Jelinek
cd30a0b8fe re PR fortran/82568 ([6/7/8] ICE with do-loop inside BLOCK inside omp)
PR fortran/82568
	* gfortran.h (gfc_resolve_do_iterator): Add a bool arg.
	(gfc_resolve_omp_local_vars): New declaration.
	* openmp.c (omp_current_ctx): Make static.
	(gfc_resolve_omp_parallel_blocks): Handle EXEC_OMP_TASKLOOP
	and EXEC_OMP_TASKLOOP_SIMD.
	(gfc_resolve_do_iterator): Add ADD_CLAUSE argument, if false,
	don't actually add any clause.  Move omp_current_ctx test
	earlier.
	(handle_local_var, gfc_resolve_omp_local_vars): New functions.
	* resolve.c (gfc_resolve_code): Call gfc_resolve_omp_parallel_blocks
	instead of just gfc_resolve_omp_do_blocks for EXEC_OMP_TASKLOOP
	and EXEC_OMP_TASKLOOP_SIMD.
	(gfc_resolve_code): Adjust gfc_resolve_do_iterator caller.
	(resolve_codes): Call gfc_resolve_omp_local_vars.

	* gfortran.dg/gomp/pr82568.f90: New test.

From-SVN: r253878
2017-10-19 09:38:59 +02:00
Bernhard Reutner-Fischer
bcc478b964 Use Levenshtein spelling suggestions in Fortran FE
gcc/fortran/ChangeLog

2017-10-19  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* gfortran.h (gfc_lookup_function_fuzzy): New declaration.
	(gfc_closest_fuzzy_match): New declaration.
	(vec_push): New definition.
	* misc.c (gfc_closest_fuzzy_match): New definition.
	* resolve.c: Include spellcheck.h.
	(lookup_function_fuzzy_find_candidates): New static function.
	(lookup_uop_fuzzy_find_candidates): Likewise.
	(lookup_uop_fuzzy): Likewise.
	(resolve_operator) <INTRINSIC_USER>: Call lookup_uop_fuzzy.
	(gfc_lookup_function_fuzzy): New definition.
	(resolve_unknown_f): Call gfc_lookup_function_fuzzy.
	* interface.c (check_interface0): Likewise.
	(lookup_arg_fuzzy_find_candidates): New static function.
	(lookup_arg_fuzzy ): Likewise.
	(compare_actual_formal): Call lookup_arg_fuzzy.
	* symbol.c: Include spellcheck.h.
	(lookup_symbol_fuzzy_find_candidates): New static function.
	(lookup_symbol_fuzzy): Likewise.
	(gfc_set_default_type): Call lookup_symbol_fuzzy.
	(lookup_component_fuzzy_find_candidates): New static function.
	(lookup_component_fuzzy): Likewise.
	(gfc_find_component): Call lookup_component_fuzzy.

gcc/testsuite/ChangeLog

2017-10-19  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* gfortran.dg/spellcheck-operator.f90: New testcase.
	* gfortran.dg/spellcheck-procedure_1.f90: New testcase.
	* gfortran.dg/spellcheck-procedure_2.f90: New testcase.
	* gfortran.dg/spellcheck-structure.f90: New testcase.
	* gfortran.dg/spellcheck-parameter.f90: New testcase.

From-SVN: r253877
2017-10-19 09:24:33 +02:00
GCC Administrator
fba832054d Daily bump.
From-SVN: r253876
2017-10-19 00:16:14 +00:00
Thomas Koenig
e35ba10a77 re PR fortran/82567 ([6/7/8] gfortran takes a long time to compile a simple implied-do with -Optimization.)
2017-10-18  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/82567
	* frontend-passes.c (combine_array_constructor): If an array
	constructor is all constants and has more elements than a small
	constant, don't convert a*[b,c] to [a*b,a*c] to reduce compilation
	times.

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

	PR fortran/82567
	* gfortran.dg/array_constructor_51.f90: New test.

From-SVN: r253872
2017-10-18 21:29:37 +00:00
Segher Boessenkool
9d0d0a5a13 ira: volatile asm's are not moveable (PR82602)
A volatile asm statement can not be moved (relative to other volatile
asm, etc.), but IRA would do it nevertheless.  This patch fixes it.


	PR rtl-optimization/82602
	* ira.c (rtx_moveable_p): Return false for volatile asm.

From-SVN: r253869
2017-10-18 23:08:18 +02:00
Thomas Koenig
b04bebdb1d re PR fortran/79795 (Fortran ICE in resolve_symbol starting with r163221)
2017-10-18  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/79795
	* resolve.c (resovle_symbol): Change gcc_assert to
	sensible error message.

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

	PR fortran/79795
	* gfortran.dg/assumed_size_2.f90: New test.

From-SVN: r253868
2017-10-18 20:32:34 +00:00
Uros Bizjak
fe94440235 re PR target/82580 (Optimize comparisons for __int128 on x86-64)
PR target/82580
	* config/i386/i386-modes.def (CCGZ): New CC mode.
	* config/i386/i386.md (sub<mode>3_carry_ccgz): New insn pattern.
	* config/i386/predicates.md (ix86_comparison_operator):
	Handle CCGZmode.
	* config/i386/i386.c (ix86_expand_branch) <case E_TImode>:
	Emulate LE, LEU, GT, GTU, LT, LTU, GE and GEU double-word comparisons
	with double-word subtraction.
	(put_condition_code): Handle CCGZmode.

testsuite/ChangeLog:

	PR target/82580
	* gcc.target/i386/pr82580.c: New test.

From-SVN: r253867
2017-10-18 22:19:05 +02:00
Aldy Hernandez
e61a4f5212 wide-int.cc (debug): New.
* wide-int.cc (debug) [const wide_int &]: New.
	(debug) [const wide_int *]: New.
	(debug) [const widest_int &]: New.
	(debug) [const widest_int *]: New.

From-SVN: r253866
2017-10-18 19:49:08 +00:00
Thomas Koenig
9cfd7f2c79 re PR libfortran/82233 (execute_command_line causes program to stop when command fails (or does not exist))
2017-10-18  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/82233
	* gfortran.dg/execute_command_line_3.f90:  Remove unneeded output.
	Move test with wait=.false. before the last test.

From-SVN: r253865
2017-10-18 17:54:18 +00:00
Vladimir Makarov
57d69a633c re PR middle-end/82556 (internal compiler error in curr_insn_transform, at lra-constraints.c:4307)
2017-10-18  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/82556
	* lra-constraints.c (curr_insn_transform): Use non-input operand
	instead of output one for matched reload.

2017-10-18  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/82556
	* gcc.target/i386/pr82556.c: New.

From-SVN: r253862
2017-10-18 16:44:27 +00:00
Bin Cheng
957f0d8faf tree-loop-distribution.c (INCLUDE_ALGORITHM): New header file.
* tree-loop-distribution.c (INCLUDE_ALGORITHM): New header file.
	(tree-ssa-loop-ivopts.h): New header file.
	(struct builtin_info): New fields.
	(classify_builtin_1): Compute and record base and offset parts for
	memset builtin partition by calling strip_offset.
	(offset_cmp, fuse_memset_builtins): New functions.
	(finalize_partitions): Fuse adjacent memset partitions by calling
	above function.
	* tree-ssa-loop-ivopts.c (strip_offset): Delete static declaration.
	Expose the interface.
	* tree-ssa-loop-ivopts.h (strip_offset): New declaration.

	* gcc.dg/tree-ssa/ldist-17.c: Adjust test string.
	* gcc.dg/tree-ssa/ldist-32.c: New test.
	* gcc.dg/tree-ssa/ldist-35.c: New test.
	* gcc.dg/tree-ssa/ldist-36.c: New test.

From-SVN: r253859
2017-10-18 16:04:16 +00:00
Bin Cheng
85aa9ed64b re PR tree-optimization/82574 (wrong code at -O3 on x86_64-linux-gnu)
PR tree-optimization/82574
	* tree-loop-distribution.c (find_single_drs): New parameter.  Check
	that data reference must be executed exactly once per iteration
	against the outermost loop in nest.
	(classify_partition): Update call to above function.

	gcc/testsuite
	* gcc.dg/tree-ssa/pr82574.c: New test.

From-SVN: r253857
2017-10-18 15:56:15 +00:00
Richard Biener
e33507e33c re PR tree-optimization/82591 ([graphite] Compile-time hog w/ -O2 -floop-nest-optimize)
2017-10-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82591
	* graphite.c (graphite_transform_loops): Move code gen message
	printing ...
	* graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
	Here.  Handle scop_to_isl_ast failing.
	(scop_to_isl_ast): Limit the number of ISL operations.

From-SVN: r253856
2017-10-18 14:35:26 +00:00
Richard Biener
30c4440c6a 2017-10-18 Richard Biener <rguenther@suse.de>
* graphite-isl-ast-to-gimple.c
	(translate_isl_ast_to_gimple::set_rename): Simplify.
	(translate_isl_ast_to_gimple::set_rename_for_each_def): Inline...
	(graphite_copy_stmts_from_block): ... here.
	(copy_bb_and_scalar_dependences): Simplify.
	(add_parameters_to_ivs_params): Canonicalize.
	(generate_entry_out_of_ssa_copies): Simplify.
	* graphite-sese-to-poly.c (extract_affine_name): Simplify
	by passing in ISL dimension.
	(parameter_index_in_region_1): Rename to ...
	(parameter_index_in_region): ... this.
	(extract_affine): Adjust assert, pass down parameter index.
	(add_param_constraints): Use range-info when available.
	(build_scop_context): Adjust.
	* sese.c (new_sese_info): Adjust.
	(free_sese_info): Likewise.
	* sese.h (bb_map_t, rename_map_t, phi_rename, init_back_edge_pair_t):
	Remove unused typedefs.
	(struct sese_info_t): Simplify rename_map, remove incomplete_phis.

From-SVN: r253855
2017-10-18 13:34:00 +00:00
Martin Liska
28e2e23607 Fix failing test-case
2017-10-18  Martin Liska  <mliska@suse.cz>

	* gcc.dg/tree-prof/switch-case-2.c: Scan IPA profile dump
	file instead of expand. Reason is that switch statement is
	not yet expanded as decision tree, which also contains a BB
	with count == 2000.

From-SVN: r253854
2017-10-18 12:44:08 +00:00
Martin Liska
368b626f26 Fix -Wimplicit-fallthrough in combine.c
2017-10-18  Martin Liska  <mliska@suse.cz>

	* combine.c (simplify_compare_const): Add gcc_fallthrough.

From-SVN: r253853
2017-10-18 11:23:50 +00:00
Eric Botcazou
c96738e321 misc.c (gnat_tree_size): Move around.
* gcc-interface/misc.c (gnat_tree_size): Move around.

	* gcc-interface/utils.c (max_size): Deal with SSA names.

From-SVN: r253852
2017-10-18 10:41:03 +00:00
Jakub Jelinek
f8049c44b9 re PR lto/82598 (lto debugobj lacks .note.GNU-stack)
PR lto/82598
	* simple-object.c (handle_lto_debug_sections): Copy over also
	.note.GNU-stack section with unchanged name.
	* simple-object-elf.c (SHF_EXECINSTR): Define.
	(simple_object_elf_copy_lto_debug_section): Drop SHF_EXECINSTR bit
	on .note.GNU-stack section.

From-SVN: r253851
2017-10-18 11:20:31 +02:00
Robin Dapp
ac2bb5222b S/390: Do not end groups after fallthru edge.
gcc/ChangeLog:

2017-10-17  Robin Dapp  <rdapp@linux.vnet.ibm.com>

	* config/s390/s390.c (s390_bb_fallthru_entry_likely): New function.
	(s390_sched_init): Do not reset s390_sched_state if we entered the
	current basic block via a fallthru edge and all others are unlikely.

From-SVN: r253850
2017-10-18 09:14:16 +00:00
Robin Dapp
67ba339309 S/390: Handle long-running instructions.
gcc/ChangeLog:

2017-10-18  Robin Dapp  <rdapp@linux.vnet.ibm.com>

	* config/s390/s390.c (NUM_SIDES): New variable.
	(LONGRUNNING_THRESHOLD): New variable.
	(LATENCY_FACTOR): New variable.
	(s390_sched_score): Decrease score for long-running instructions on
	wrong side.
	(s390_sched_variable_issue): Perform bookkeeping for long-running
	instructions.

From-SVN: r253849
2017-10-18 09:10:09 +00:00
Paul Thomas
ee077fcb8c re PR fortran/82550 (program using submodules fails to link)
2017-10-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/82550
	* trans_decl.c (gfc_get_symbol_decl): Procedure symbols that
	have the 'used_in_submodule' attribute should be processed by
	'gfc_get_extern_function_decl'.

2017-10-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/82550
	* gfortran.dg/submodule_30.f08 : New test.

From-SVN: r253848
2017-10-18 08:55:27 +00:00
Richard Biener
04612f7f84 graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id): Simplify with removal of the parameter rename map.
2017-10-18  Richard Biener  <rguenther@suse.de>

	* graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
	Simplify with removal of the parameter rename map.
	(set_rename): Likewise.
	(should_copy_to_new_region): Likewise.
	(graphite_copy_stmts_from_block): Likewise.
	(copy_bb_and_scalar_dependences): Remove initialization of
	unused copied_bb_map.
	(copy_def): Remove.
	(copy_internal_parameters): Likewise.
	(graphite_regenerate_ast_isl): Do not call copy_internal_parameters.
	* graphite-scop-detection.c (scop_detection::stmt_simple_for_scop_p):
	Use INTEGRAL_TYPE_P.
	(parameter_index_in_region_1): Rename to ...
	(assign_parameter_index_in_region): ... this.  Assert we have
	a parameter we handle.
	(scan_tree_for_params): Adjust.
	* sese.h (parameter_rename_map_t): Remove.
	(struct sese_info_t): Remove unused parameter_rename_map and
	copied_bb_map members.
	* sese.c (new_sese_info): Adjust.
	(free_sese_info): Likewise.

From-SVN: r253847
2017-10-18 08:30:45 +00:00
Andreas Krebbel
de57059efa S/390: Fix vec-cmp-2 testcase
The functions all call foo and therefore need a stack frame what makes
them subject to shrink wrapping.  Also all the additional instructions
in the function body makes it fragile wrt instruction scheduling.  Just
set a global variable instead to circumvent this.

gcc/testsuite/ChangeLog:

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

	* gcc.target/s390/zvector/vec-cmp-2.c
	(all_eq_double, all_ne_double, all_gt_double)
	(all_lt_double, all_ge_double, all_le_double)
	(any_eq_double, any_ne_double, any_gt_double)
	(any_lt_double, any_ge_double, any_le_double)
	(all_eq_int, all_ne_int, all_gt_int)
	(all_lt_int, all_ge_int, all_le_int)
	(any_eq_int, any_ne_int, any_gt_int)
	(any_lt_int, any_ge_int, any_le_int): Set global variable instead
	of calling foo().  Fix return type.

From-SVN: r253846
2017-10-18 08:21:45 +00:00
Martin Liska
236ac44204 Do not put gimple stmt on an abnormal edge (PR sanitizer/82545).
2017-10-18  Martin Liska  <mliska@suse.cz>

	PR sanitizer/82545
	* asan.c (asan_expand_poison_ifn): Do not put gimple stmt
	on an abnormal edge.
2017-10-18  Martin Liska  <mliska@suse.cz>

	PR sanitizer/82545
	* gcc.dg/asan/pr82545.c: New test.

From-SVN: r253845
2017-10-18 08:14:47 +00:00
Paolo Carlini
1b2944cbd4 re PR c++/69057 ([C++14] constexpr static variable template assertion segmentation fault)
2017-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/69057
	* g++.dg/cpp1y/auto-fn45.C: New.

From-SVN: r253844
2017-10-18 07:53:27 +00:00
Paolo Carlini
257792c5e2 re PR c++/68884 (template of value template crashes the compiler)
2017-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/68884
	* g++.dg/cpp0x/variadic-crash4.C: New.

From-SVN: r253843
2017-10-18 07:43:06 +00:00
Sebastian Huber
f381d87aa5 Update -ffunction/data-sections documentation
gcc/
	* doc/invoke.texi (ffunction-sections and fdata-sections):
	Update.

From-SVN: r253842
2017-10-18 07:36:38 +00:00
Paolo Carlini
173a960ac9 re PR c++/79474 (Multiple definitions of user-defined conversion operator cause ICE (internal compiler error))
2017-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/79474
	* g++.dg/cpp1y/auto-fn44.C: New.

From-SVN: r253841
2017-10-18 07:24:50 +00:00
GCC Administrator
697fb2ae37 Daily bump.
From-SVN: r253840
2017-10-18 00:16:14 +00:00
Eric Botcazou
8119ebd57d tree-ssa-loop-ivopts.c (add_autoinc_candidates): Bail out only if the use statement can throw internally.
* tree-ssa-loop-ivopts.c (add_autoinc_candidates): Bail out only if
	the use statement can throw internally.

From-SVN: r253834
2017-10-17 21:53:34 +00:00
Eric Botcazou
aca308040b * gcc.dg/attr-alloc_size-11.c: UnXFAIL for visium-*-*.
From-SVN: r253831
2017-10-17 20:34:29 +00:00
Eric Botcazou
34311c5ee6 visium.c (visium_select_cc_mode): Return CCmode for any RTX present on the RHS of a SET.
* config/visium/visium.c (visium_select_cc_mode): Return CCmode
	for any RTX present on the RHS of a SET.
	* compare-elim.c (try_eliminate_compare): Restore comment.

From-SVN: r253830
2017-10-17 20:28:33 +00:00
Jakub Jelinek
8e7014b455 langhooks.h (struct lang_hooks): Document that tree_size langhook may be also called on tcc_type nodes.
* langhooks.h (struct lang_hooks): Document that tree_size langhook
	may be also called on tcc_type nodes.
	* langhooks.c (lhd_tree_size): Likewise.

	* gcc-interface/misc.c (gnat_tree_size): New function.
	(LANG_HOOKS_TREE_SIZE): Redefine.

From-SVN: r253829
2017-10-17 22:11:00 +02:00
Paolo Carlini
eaf95345d3 re PR c++/71821 (ICE on invalid C++11 code (incorrect argument for alignas): unexpected expression ‘f<int>’ of kind template_id_expr)
2017-10-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71821
	* g++.dg/cpp0x/alignas12.C: New.

From-SVN: r253828
2017-10-17 19:49:06 +00:00