Commit Graph

166012 Commits

Author SHA1 Message Date
Dominique d'Humieres
db304b55fb re PR tree-optimization/68356 (FAIL: gcc.dg/torture/pr68264.c -O* execution test on x86_64-apple-darwin1(0|4))
2018-12-29  Dominique d'Humieres  <dominiq@gcc.gnu.org>

	PR tree-optimization/68356
	PR target/81210
	PR target/81693
	* gcc.dg/torture/pr68264.c: Skip on darwin.
	* gcc.dg/torture/pr68037-1.c: Likewise.
	* gcc.dg/torture/pr68037-2.c: Likewise.
	* gcc.dg/torture/pr68037-3.c: Likewise.
	* gcc.dg/torture/pr25967-1.c: Likewise.
	* gcc.dg/torture/pr25967-2.c: Likewise.


M    ChangeLog
M    gcc.dg/torture/pr25967-1.c
M    gcc.dg/torture/pr25967-2.c
M    gcc.dg/torture/pr68037-1.c
M    gcc.dg/torture/pr68037-2.c
M    gcc.dg/torture/pr68037-3.c
M    gcc.dg/torture/pr68264.c

From-SVN: r267462
2018-12-29 16:05:55 +01:00
Jakub Jelinek
a4983b7ad8 re PR ipa/88586 (ICE: Segmentation fault (in free_lang_data_in_decl))
PR ipa/88586
	* omp-low.c (lower_omp_task_reductions): Set DECL_CONTEXT on field
	and ifield.  Update TYPE_ALIGN from alignment of field, ifield or
	bfield.

	* g++.dg/gomp/pr88586.C: New test.

From-SVN: r267461
2018-12-29 11:53:36 +01:00
GCC Administrator
2fda71537b Daily bump.
From-SVN: r267460
2018-12-29 00:16:30 +00:00
Ian Lance Taylor
e20bfbd18e runtime: prevent deadlock when profiling signal arrives in stack scan
Precise stack scan needs to unwind the stack. When it is
    unwinding the stack, if a profiling signal arrives, which also
    does a traceback, it may deadlock in dl_iterate_phdr. Prevent
    this deadlock by setting up runtime_in_callers before traceback.
    
    Reviewed-on: https://go-review.googlesource.com/c/155766

From-SVN: r267457
2018-12-29 00:07:06 +00:00
Uros Bizjak
50bec22834 i386.h (ADDITIONAL_REGISTER_NAMES): Add sil, dil, bpl and spl aliases.
* config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
	sil, dil, bpl and spl aliases.

From-SVN: r267456
2018-12-28 23:50:12 +01:00
Ian Lance Taylor
03f0fa9538 compiler: remove escapes_ field from Variable and Result_variable
The fields were set to true initially and never set to false.
    These were left over from an earlier attempt at escape analysis.
    
    Reviewed-on: https://go-review.googlesource.com/c/155750

From-SVN: r267455
2018-12-28 21:10:33 +00:00
Martin Sebor
3a03bffd48 tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Avoid undesirable warning.
* tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Avoid
	undesirable warning.

From-SVN: r267454
2018-12-28 12:26:14 -07:00
David Edelsohn
766d4a5925 ident-1b.c: XFAIL AIX and Darwin.
* c-c++-common/ident-1b.c: XFAIL AIX and Darwin.
        * c-c++-common/ident-2b.c: Likewise.

From-SVN: r267453
2018-12-28 14:14:51 -05:00
Steven G. Kargl
07b700ead5 re PR libfortran/81984 (NULL string pointer dereferencing forces undefined behaviour in libgfortran)
2018-12-28  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/81984
	* intrinsics/string_intrinsics_inc.c: Placate the sanitizer.

From-SVN: r267452
2018-12-28 18:26:09 +00:00
H.J. Lu
691adeb097 x86-64: Remove .file directive from snapshot source
* gcc.target/x86_64/abi/avx/asm-support-darwin.s: Remove .file
	directive.
	* gcc.target/x86_64/abi/avx/asm-support.S: Likewise.
	* gcc.target/x86_64/abi/avx512f/asm-support.S: Likewise.

From-SVN: r267451
2018-12-28 07:13:14 -08:00
H.J. Lu
ba7b6836f5 x86-64: Remove .file directive from snapshot source
Since snapshot() is implemented in assembly code, .file directive should
be removed.  Otherwise, debugger can't find the snapshot source.

	* gcc.target/x86_64/abi/asm-support-darwin.s: Remove .file
	directive.
	* gcc.target/x86_64/abi/asm-support.S: Likewise.

From-SVN: r267450
2018-12-28 06:40:27 -08:00
Thomas Schwinge
59d5960cdb For libgomp OpenACC entry points, redefine the "device" argument to "flags"
... so that we're then able to use this for other flags in addition to
"GOACC_FLAG_HOST_FALLBACK".

	gcc/
	* omp-expand.c (expand_omp_target): Restructure OpenACC vs. OpenMP
	code paths.  Update for libgomp OpenACC entry points change.
	include/
	* gomp-constants.h (GOACC_FLAG_HOST_FALLBACK)
	(GOACC_FLAGS_MARSHAL_OP, GOACC_FLAGS_UNMARSHAL): Define.
	libgomp/
	* oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
	(GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
	(GOACC_declare): Redefine the "device" argument to "flags".

From-SVN: r267448
2018-12-28 12:34:14 +01:00
Thomas Schwinge
5a12987e79 poly_int: get_inner_reference & co.: fix known_eq typo/bug
gcc/
	* gimplify.c (gimplify_scan_omp_clauses): Fix known_eq typo/bug.

Co-Authored-By: Julian Brown <julian@codesourcery.com>

From-SVN: r267447
2018-12-28 12:34:03 +01:00
Thomas Schwinge
a44c17909a Cleanup libgomp's coalesce chunk data structures
libgomp/
	* target.c (struct gomp_coalesce_chunk): New structure.
	(struct gomp_coalesce_buf): Update the chunks member to use that
	type.  Adjust all users.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>

From-SVN: r267446
2018-12-28 12:33:54 +01:00
Tom de Vries
eb33bf0a0a [libbacktrace] Reduce memory usage in build_address_map
In build_address_map we allocate a unit, and then look for addresses in the
unit, which we store in the addrs vector, with the elements pointing to the
unit.  However, if we cannot find addresses in the unit, the allocated unit is
not used.

Fix this by detecting if the allocated unit has been used, and reusing it
otherwise.

Bootstrapped and reg-tested on x86_64.

2018-12-28  Tom de Vries  <tdevries@suse.de>

	* dwarf.c (build_address_map): Reuse unused units.

From-SVN: r267445
2018-12-28 03:43:56 +00:00
Tom de Vries
d9aa0961ea [libbacktrace] Simplify memory management in build_address_map
In the main loop in build_address_map, we first read the abbrevs into a local
variable abbrevs, and then allocate the corresponding unit, after which we assign
the abbrevs to the unit.  This results in dedicated free-upon-failure
handling for the variable, and extra code to make sure that free-upon-failure
doesn't trigger once the unit has taken ownership of the abbrevs.

Simplify this by reversing the order of abbrev reading and unit allocation,
and eliminating the abbrevs local variable.

Bootstrapped and reg-tested on x86_64.

2018-12-28  Tom de Vries  <tdevries@suse.de>

	* dwarf.c (build_address_map): Simplify by removing local variable
	abbrevs.

From-SVN: r267444
2018-12-28 03:43:41 +00:00
Ian Lance Taylor
40b8d3b253 [libbacktrace] Fix memory leak in loop in build_address_map
When failing in build_address_map, we free the unit that's currently being
handled in the loop, but the ones that already have been allocated are leaked.

Fix this by keeping track of allocated units in a vector, and releasing them
upon failure.

Also, now that we have a vector of allocated units, move the freeing upon
failure of the abbrevs associated with each unit to build_address_map, and
remove the now redundant call to free_unit_addrs_vector.

Bootstrapped and reg-tested on x86_64.

2018-12-28  Ian Lance Taylor  <iant@golang.org>
	    Tom de Vries  <tdevries@suse.de>

	PR libbacktrace/88063
	* dwarf.c (free_unit_addrs_vector): Remove.
	(build_address_map): Keep track of allocated units in vector.  Free
	allocated units and corresponding abbrevs upon failure.  Remove now
	redundant call to free_unit_addrs_vector.  Free addrs vector upon
	failure.  Free allocated unit vector.

Co-Authored-By: Tom de Vries <tdevries@suse.de>

From-SVN: r267443
2018-12-28 03:43:26 +00:00
Tom de Vries
53a52133a5 [libbacktrace] Fix memory leak in build_address_map
While upon failure in build_address_map we call free_unit_addrs_vector, this
does not actually free the addrs vector, but merely the abbrevs of the units
pointed at by the elements of the addrs vector.

Fix this by adding code to build_address_map to make sure that the addrs vector
is freed upon failure.

Bootstrapped and reg-tested on x86_64.

2018-12-28  Tom de Vries  <tdevries@suse.de>

	* dwarf.c (build_address_map): Free addrs vector upon failure.

From-SVN: r267442
2018-12-28 03:43:15 +00:00
GCC Administrator
f143030908 Daily bump.
From-SVN: r267441
2018-12-28 00:16:12 +00:00
Jan Hubicka
f7293b9dfa ipa-devirt.c (polymorphic_call_target_d): Add n_odr_types.
* ipa-devirt.c (polymorphic_call_target_d): Add n_odr_types.
	(polymorphic_call_target_hasher::hash): Hash it.
	(polymorphic_call_target_hasher::equal): Compare it.
	(possible_polymorphic_call_targets): Set it.
	* tree.c (free_lang_data): Rebuild type inheritance graph even on
	non-LTO path.

	* g++.dg/ipa/devirt-53.C: New testcase.

From-SVN: r267438
2018-12-27 21:23:30 +00:00
Steven G. Kargl
03b2d3defa re PR fortran/81027 (Assumed-shape array reported as deferred.)
2018-12-27  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/81027
	* expr.c (gfc_check_init_expr): Distinguish assumed-shape versus
	deferred-shape dummy arguments in an error message.

2018-12-27  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/81027
	* gfortran.dg/pr81027.f90: New test.
	* gfortran.dg/initialization_7.f90: Update error message.

From-SVN: r267437
2018-12-27 21:13:53 +00:00
Steven G. Kargl
b3c64ed0b0 aligned1.f03: Fix invalid code that now causes an error after r267415.
2018-12-27  Steven G. Kargl  <kargl@gcc.gnu.org>

	* libgomp.fortran/aligned1.f03: Fix invalid code that now causes
	an error after r267415.

From-SVN: r267436
2018-12-27 20:57:12 +00:00
Ian Lance Taylor
dc65168eb6 runtime: delete export_arm_test.go
The only thing export_arm_test.go does is to export usplit,
    which does not exist in gccgo.
    
    Reviewed-on: https://go-review.googlesource.com/c/155760

From-SVN: r267435
2018-12-27 16:34:50 +00:00
Ian Lance Taylor
f1410e7e2e runtime: let ARM32 EABI personality function continue unwind when called from traceback
On ARM32 EABI, unlike other platforms, the personality function is
    called during _Unwind_Backtrace (libgcc/unwind-arm-common.inc:581).
    In this case, simply unwind the frame without returning any
    handlers. Otherwise traceback will loop if there is a frame with
    a defer on stack.
    
    Reviewed-on: https://go-review.googlesource.com/c/155759

From-SVN: r267434
2018-12-27 16:31:50 +00:00
Martin Liska
96051ee57b Cherry pick libsanitizer patch (https://reviews.llvm.org/D54856).
2018-12-27  Martin Liska  <mliska@suse.cz>

  PR sanitizer/86229
	* asan/asan_errors.cc (ErrorAllocTypeMismatch::Print): Cherry
	pick rL350085.
	* asan/asan_errors.h (struct ErrorAllocTypeMismatch): Likewise.

From-SVN: r267432
2018-12-27 09:47:20 +00:00
Martin Liska
596883039a Fix slowness in gcov (PR gcov-profile/88225).
2018-12-27  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/88225
	* gcov.c(source_info::get_functions_at_location):
	Use newly added line_to_function_map.
	(source_info::add_function): New.
	(output_json_intermediate_file): Use a pointer return
	type for get_functions_at_location.
	(process_all_functions): Use add_function instead
	of direct push to a s->functions container.
	(release_structures): Release ident_to_fn.
	(read_graph_file): Register function into ident_to_fn.
	(read_count_file): Use the map.
	(output_lines): Handle pointer return type of
	get_functions_at_location.

From-SVN: r267431
2018-12-27 08:59:35 +00:00
Martin Liska
42bdb8f249 Comparison with an enum should mention enum value.
2018-12-27  Martin Liska  <mliska@suse.cz>

	* builtins.c (expand_movstr): Compare with RETURN_BEGIN.
	* expr.c (move_by_pieces): Likewise.
	(store_by_pieces): Likewise.
	(store_expr): Fix GNU coding style.

From-SVN: r267430
2018-12-27 08:51:14 +00:00
Martin Liska
44787584de Use proper location for tls_init function (PR c++/88263).
2018-12-27  Martin Liska  <mliska@suse.cz>

	PR c++/88263
	* decl2.c (get_local_tls_init_fn): Add location_t argument and
	use it.
	(get_tls_init_fn): Call it with location of variable for which
	we'll need to create tls_init function.
	(handle_tls_init): Likewise.
2018-12-27  Martin Liska  <mliska@suse.cz>

	PR c++/88263
	* g++.dg/gcov/pr88263.C: New test.

From-SVN: r267429
2018-12-27 08:46:13 +00:00
Ian Lance Taylor
75e479a8b5 runtime: on ARM32 EABI, don't get LSDA if compact model is used
On ARM32 EABI, when the "compact" unwinding model is used, it
    does not have standard LSDA and _Unwind_GetLanguageSpecificData
    will not return data that is parseable by us. Check this
    conditon before calling _Unwind_GetLanguageSpecificData.
    
    Fix ARM32 build.
    
    Reviewed-on: https://go-review.googlesource.com/c/155758

From-SVN: r267428
2018-12-27 03:13:11 +00:00
Andrew Pinski
257992db89 aarch64-cores.def (octeontx): New.
2018-12-26  Andrew Pinski  <apinski@marvell.com>

        * config/aarch64/aarch64-cores.def (octeontx): New.
        (octeontx81): Likewise.
        (octeontx83): Likewise.
        * config/aarch64/aarch64-tune.md: Regenerate.
        * doc/invoke.texi (AArch64 Options) [mtune]: Add octeontx, octeontx81
        and octeontx83.

From-SVN: r267427
2018-12-26 17:07:43 -08:00
GCC Administrator
fea0709e35 Daily bump.
From-SVN: r267426
2018-12-27 00:16:33 +00:00
Steven G. Kargl
c673c52c20 re PR fortran/85357 (ICE on invalid code with equal procedure names)
2018-12-26  Steven G. Kargl  <kargl@gcc.gnu.org>

        PR fortran/85357
        * gfortran.df/pr85357.f90: New test.

From-SVN: r267423
2018-12-26 21:08:53 +00:00
Harald Anlauf
2b8c2e7fb1 re PR fortran/85407 (Replace gcc_assert in module.c:read_module by more helpful diagnostics)
2018-12-26  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/85407
	* module.c (read_module): Convert assert to fatal error to give 
	user a sensible error message.

From-SVN: r267422
2018-12-26 20:37:28 +00:00
GCC Administrator
65accd28dd Daily bump.
From-SVN: r267421
2018-12-26 00:16:25 +00:00
GCC Administrator
da9f30142f Daily bump.
From-SVN: r267418
2018-12-25 00:16:35 +00:00
Steven G. Kargl
89c1cf2695 re PR fortran/45513 (BOZ kinds differently handled, F2008: BOZ in bit intrinsics)
2018-12-24  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/45513
	PR fortran/81509
	* check.c: Rename function gfc_check_iand to gfc_check_iand_ieor_ior.
	* check.c (boz_args_check): New function.  Check I and J not both BOZ.
	(gfc_check_dshift,gfc_check_iand_ieor_ior, gfc_check_ishft,
	 gfc_check_and, gfc_check_merge_bits): Use it.
	* check.c (gfc_check_iand_ieor_ior): Force conversion of BOZ to kind
	type of other agrument.  Remove silly GNU extension.
	(gfc_check_ieor, gfc_check_ior): Delete now unused functions.
	* intrinsic.c (add_functions): Use gfc_check_iand_ieor_ior. Wrap long
	line.
	* intrinsic.h: Rename gfc_check_iand to gfc_check_iand_ieor_ior.
	Delete prototype for bool gfc_check_ieor and gfc_check_ior
	* intrinsic.texi: Update documentation for boz-literal-constant.

2018-12-24  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/45513
	PR fortran/81509
	* gfortran.dg/graphite/id-26.f03: Fix non-conforming use of IAND.
	* gfortran.dg/pr81509_1.f90: New test.
	* gfortran.dg/pr81509_2.f90: New test.

From-SVN: r267415
2018-12-24 18:26:25 +00:00
Steven G. Kargl
a8ed2b4f64 ieee_9.f90: XFAIL on arm*-*-gnueabi[hf].
2018-12-24  Steven G. Kargl  <kargl@gcc.gnu.org>

	* gfortran.dg/ieee/ieee_9.f90:  XFAIL on arm*-*-gnueabi[hf].

From-SVN: r267414
2018-12-24 18:03:49 +00:00
Martin Sebor
fb471a1305 gimple-fold.c (get_range_strlen_tree): Factored out of get_range_strlen.
* gimple-fold.c (get_range_strlen_tree): Factored out of
	get_range_strlen.  Minor comment updates/additions.  Assert
	argument is not a simple SSA_NAME.
	(get_range_strlen): Call get_range_strlen_tree as appropriate.
	Minor comment updates/additions.

From-SVN: r267412
2018-12-24 08:32:11 -07:00
Jan Hubicka
c1dd347cbd ipa-devirt.c (dump_targets): Cap number of targets printed.
* ipa-devirt.c (dump_targets): Cap number of targets printed.
	(dump_possible_polymorphic_call_targets): Add verbose parameter.
	(ipa_devirt): Use it.
	* ipa-utils.h (dump_possible_polymorphic_call_targets): Add verbose
	parametrs.

From-SVN: r267400
2018-12-24 11:26:15 +00:00
Jan Hubicka
3d7bef8def Fix double-application of patch.
From-SVN: r267399
2018-12-24 11:23:57 +00:00
Jan Hubicka
77e9f49535 tree.c (fld_simplified_type): Temporarily disable array simplification.
* tree.c (fld_simplified_type): Temporarily disable array
	simplification.

	* gcc.c-torture/pr88140.c: New testcase.

From-SVN: r267398
2018-12-24 11:21:25 +00:00
Jan Hubicka
d840d7a2bb lto-symtab.c (lto_symtab_merge_decls_2): Do not report ODR violations for method whose basetype was already reported.
* lto-symtab.c (lto_symtab_merge_decls_2): Do not report ODR violations
	for method whose basetype was already reported.

	* ipa-devirt.c (odr_type_violation_reported_p): New.
	* ipa-utils.h (odr_type_violation_reported_p): Declare.

From-SVN: r267397
2018-12-24 11:12:42 +00:00
Iain Sandoe
c23f39f848 Fix PR67974 for Darwin by adding an asm shim for AVX.
The PR is about a set of tests that were not executed because of
missing asm support.  

However, the assembler can handle the insns now, so the tests are
attempted (but with a missing asm shim they fail).

This adds the shim.

In principle (bugs notwithstanding) Darwin’s x86_64 ABI is supposed
to follow the sysv psABI so we can have essentially a copy of the
Linux one.

2018-12-24  Iain Sandoe  <iain@sandoe.co.uk>

	PR testsuite/67974
	* gcc.target/x86_64/abi/avx/asm-support-darwin.s: New.

From-SVN: r267395
2018-12-24 09:02:03 +00:00
Iain Sandoe
224246175f powerpc-darwin, skip ident tests.
The c-c++-common tests fail (or XPASS depending on which) on
powerpc Darwin because it doesn't currently emit .ident marker. 

Since there's no support for .ident in the assembler, we can't
enable the output and therefore these tests should be skipped.

2018-12-24  Iain Sandoe  <iain@sandoe.co.uk>

	* c-c++-common/ident-0a.c: Skip for powerpc-darwin.
	* c-c++-common/ident-0b.c: Likewise.
	* c-c++-common/ident-1a.c: Likewise.
	* c-c++-common/ident-1b.c: Likewise.
	* c-c++-common/ident-2a.c: Likewise.
	* c-c++-common/ident-2b.c: Likewise.

From-SVN: r267394
2018-12-24 08:55:01 +00:00
Iain Sandoe
f1b2727feb darwin, configuration, check properly for dwarf2 debug line support
This corrects a long-standing misconfiguration for Darwin.
The assembler supports the “.file” and “.loc” directives, but
the GCC configury was not detecting this because it was 
using objdump, which does not exist on most Darwin installations.

We added support for “otool” to GCC and now we can use that to
make the check that’s done with objdump on ELF targets.

2018-12-24  Iain Sandoe  <iain@sandoe.co.uk>

	* configure.ac (dwarf2_debug_line): Check for the debug_line
	section using otool when there’s no objdump available.
	* configure: Regenerate.

From-SVN: r267393
2018-12-24 08:43:20 +00:00
Jan Hubicka
959b8c8257 ipa-utils.c (ipa_merge_profiles): Fix updating of fnsummary; also handle rescaling of mismatched profiles.
* ipa-utils.c (ipa_merge_profiles): Fix updating of fnsummary;
	also handle rescaling of mismatched profiles.
	* ipa-fnsummary.c (analyze_function): Handle speculative edges.

From-SVN: r267392
2018-12-24 01:37:44 +00:00
GCC Administrator
d0a6fcf589 Daily bump.
From-SVN: r267391
2018-12-24 00:16:20 +00:00
François Dumont
4483dd3fa3 2018-12-23 François Dumont <fdumont@gcc.gnu.org>
* libstdc++-v3/testsuite/util/testsuite_allocator.h
	(CustomPointerAlloc<>::allocate(size_t, pointer)): Replace by...
	(CustomPointerAlloc<>::allocate(size_t, const_void_pointer)): ...this.

From-SVN: r267381
2018-12-23 18:11:38 +00:00
François Dumont
23d5fd6cd6 Respect pointer_traits on node deallocation in _ReuseOrAllocNode parenthesis operator.
2018-12-23  François Dumont  <fdumont@gcc.gnu.org>

	Respect pointer_traits on node deallocation in _ReuseOrAllocNode
	parenthesis operator.

	* include/bits/hashtable_policy.h
	(_Hashtable_alloc<>::_M_deallocate_node_ptr(__node_type*)): New.
	(_Hashtable_alloc<>::_M_deallocate_node(__node_type*)): Use latter.
	(_ReuseOrAllocNode<>::operator<_Arg>()(_Arg&&)): Likewise.

From-SVN: r267380
2018-12-23 18:05:23 +00:00
Paul Thomas
18246c420f re PR fortran/77703 (ICE on assignment to pointer function)
2018-12-23  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/77703
	* resolve.c (get_temp_from_expr): Use the string length of
	constant character expressions.

2018-12-23  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/77703
	* gfortran.dg/ptr_func_assign_5.f08 : New test.

From-SVN: r267379
2018-12-23 17:35:13 +00:00