Commit Graph

166873 Commits

Author SHA1 Message Date
Jason Merrill 7e574f68fa PR c++/89089 - ICE with [[no_unique_address]].
In 89089, we were never actually setting DECL_SIZE on an empty data member,
because its type is a POD, so we didn't set it in the maybe-overlapping
section.  Fixed by also handling empty types there.

In 88865, we were failing to consider empty data members in
include_empty_classes.  Fixed by making end_of_class always include them.

While looking at these I noticed that the ABI says that a
potentially-overlapping data member makes its class non-layout-POD, and that
an empty data member doesn't prevent its class from being empty, so I've
implemented those points as well.

	PR c++/88865 - wrong layout with [[no_unique_address]].
	* class.c (check_field_decls): A potentially-overlapping field makes
	the class non-layout-POD, but not non-empty.
	(end_of_class): Always consider empty data members.
	(layout_class_type): Set DECL_SIZE for empty fields.

From-SVN: r268368
2019-01-29 10:39:40 -05:00
Ian Lance Taylor 6065f1c588 runtime: fix sigprof frame counting
If sigtramp and sigtrampgo are both on stack, n -= framesToDiscard
    is executed twice, which should actually run only once.
    
    Reviewed-on: https://go-review.googlesource.com/c/159238

From-SVN: r268366
2019-01-29 15:31:10 +00:00
Vineet Gupta fac31afe6a [ARC] Enable init_array support.
gcc's common configure script has a subtle flaw that it only tests
{init,fini.preinit}_array support when NOT cross compiling. This causes
cross builds to erroneously deduce that the feature is not supported by
the target.

| host-gcc-final-ab544139bfee/build/gcc/config.log
|
|configure:22941: checking for .preinit_array/.init_array/.fini_array support
|configure:23106: checking cross compile... guessing
|configure:23111: result: no

The right fix is to enable this for *all* cross setups (and address any
fallouts). However in the short-term to enable ARC glibc port to upstream,
force enable this for ARC.

This has been discussed at length on glibc mailing list [1], [2]

[1] https://sourceware.org/ml/libc-alpha/2018-11/msg00870.html
[2] https://sourceware.org/ml/libc-alpha/2019-01/msg00656.html

gcc/

2019-xx-xx  Vineet Gupta <vgupta@synopsys.com>

	* gcc/config.gcc: Force .init_array for ARC

From-SVN: r268365
2019-01-29 16:08:16 +01:00
Rainer Orth 97b9ebc874 Mark gdc.dg/pr89042?.d as compile tests
* gdc.dg/pr89042a.d: Mark as compile test.
	* gdc.dg/pr89042b.d: Likewise.

From-SVN: r268362
2019-01-29 08:43:37 +00:00
Richard Biener 5ee4178226 re PR debug/87295 ([early debug] ICE with -ffat-lto-objects -fdebug-types-section -g)
2019-01-29  Richard Biener  <rguenther@suse.de>

	PR debug/87295
	* dwarf2out.c (collect_skeleton_dies): New helper.
	(copy_decls_for_unworthy_types): Call it.
	(build_abbrev_table): Assert we do not try to replace
	DW_AT_signature refs with local refs.

	* g++.dg/lto/pr87295_0.C: New testcase.

From-SVN: r268361
2019-01-29 08:12:02 +00:00
Tom de Vries 57f0d30384 [libbacktrace] Don't assign check_PROGRAMS to TESTS
In automake files, the check_PROGRAMS variable lists programs that need to be
build for testing, and TESTS lists the programs that need to be run.

The libbacktrace/Makefile.am uses a shortcut:
...
TESTS = $(check_PROGRAMS)
...
to make sure that each program added with:
...
check_PROGRAMS += foo
...
is both build and run.

However, for the allocfail.sh test, we need allocfail to be build and
allocfail.sh to be run:
...
check_PROGRAMS += allocfail
TESTS += allocfail.sh
...
but the shortcut causes allocfail also to be run, which is not required.

Fix this by removing the short-cut, allowing check_PROGRAMS to retain its
original semantics, and introducing a variable BUILDTESTS for programs that
need to be both build and run.

2019-01-29  Tom de Vries  <tdevries@suse.de>

	* Makefile.am: Replace check_PROGRAMS with BUILDTESTS, except for
	allocfail.
	(TESTS): Don't add check_PROGRAMS. Add BUILDTESTS.
	(check_PROGRAMS): Add BUILDTESTS.
	* Makefile.in: Regenerate.

From-SVN: r268360
2019-01-29 07:22:16 +00:00
Jonathan Wakely 375d59849a Fix tests for complex overloads of std::arg and std::proj
The test for the synopsis of <complex> incorrectly adds constexpr to
two functions in C++2a mode, but the C++2a draft and the <complex>
header do not declare them constexpr.

	* testsuite/26_numerics/headers/complex/synopsis.cc: Remove incorrect
	constexpr specifiers from arg and proj.

From-SVN: r268359
2019-01-29 01:49:36 +00:00
Ian Lance Taylor 053a1f2320 runtime: use the call instruction's PC for panic-in-runtime detection
If a panic happens in the runtime we turn that into a fatal error.
    We use the caller's PC to determine if the panic call is inside
    the runtime. getcallerpc returns the PC immediately after the
    call instruction. If the call is the very last instruction of a
    function, it may not find this PC belong to a runtime function,
    giving false result. We need to back off the PC by 1 to the call
    instruction.
    
    The gc runtime doesn't do this because the gc compiler always
    emit an instruction following a panic call, presumably an UNDEF
    instruction which turns into an architecture-specific illegal
    instruction. Our compiler doesn't do this.
    
    Reviewed-on: https://go-review.googlesource.com/c/159437

From-SVN: r268358
2019-01-29 00:49:23 +00:00
Jonathan Wakely 45e7df858b Add missing exports for symbols used by directory iterators
* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Add missing exports for
	__shared_ptr instantiations used by gcc4-compatible ABI.

From-SVN: r268357
2019-01-29 00:47:43 +00:00
Jonathan Wakely f7f07df5e2 Avoid ambiguity between C++2a std::erase_if and LFTS version
These calls should have been qualified to avoid ADL anyway, but in C++2a
it becomes essential to qualify the calls in experimental::erase because
std::erase_if is also declared and the calls become ambiguous.

	* include/experimental/forward_list (experimental::erase): Qualify
	call to erase_if.
	* include/experimental/list (experimental::erase): Likewise.
	* include/std/forward_list (std::erase): Likewise.
	* include/std/list (std::erase): Likewise.

From-SVN: r268356
2019-01-29 00:47:38 +00:00
Jonathan Wakely 2104ca71da Fix tests that fail in C++2a mode
The nested typedefs in std::reference_wrapper are no longer present in
C++2a mode, so skip the tests that check for them.

The addition of the [[nodiscard]] attribute to a few functions causes
some failures in tests that intentionally ignore the return value.
Casting the result to void suppresses the new warnings.

	* testsuite/20_util/reference_wrapper/result_type.cc: Disable for
	C++2a.
	* testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
	* testsuite/20_util/reference_wrapper/typedefs-3.cc: Likewise.
	* testsuite/20_util/reference_wrapper/typedefs.cc: Likewise.
	* testsuite/30_threads/async/54297.cc: Suppress nodiscard warning.
	* testsuite/ext/array_allocator/26875.cc: Likewise.
	* testsuite/ext/pool_allocator/allocate_chunk.cc: Likewise.
	* testsuite/util/replacement_memory_operators.h: Likewise.
	* testsuite/util/testsuite_allocator.h: Likewise.

From-SVN: r268355
2019-01-29 00:47:32 +00:00
Jonathan Wakely 1f48525ded Ensure pool resources always use normal mode vector
The __pool_resource::_M_unpooled member was declared with type
std::vector, which means that the type depends on whether debug mode is
active or not. Because the non-inline definitions in
src/c++17/memory_resource.cc are never compiled with debug mode, the
type declared in the header doesn't match the type in the library
definitions, leading to undefined behaviour.

The solution is to ensure the header always uses the non-debug vector,
even when debug mode is active. To make this easier a new alias template
is defined: _GLIBCXX_STD_C::pmr::vector.

	* include/std/memory_resource (__pool_resource::_M_unpooled): Use
	normal mode vector, even for debug mode.
	* include/std/vector [_GLIBCXX_DEBUG] (_GLIBCXX_STD_C::pmr::vector):
	Define alias template for normal mode vector.

From-SVN: r268354
2019-01-29 00:47:25 +00:00
GCC Administrator a097ba8abb Daily bump.
From-SVN: r268353
2019-01-29 00:16:42 +00:00
Jonathan Wakely c98f255154 PR libstdc++/68737 Do not use vsnprintf on HPUX
It doesn't conform to the spec, so use vsprintf with a large buffer
instead.

	PR libstdc++/68737
	* config/locale/generic/c_locale.h (__convert_from_v)
	[_GLIBCXX_USE_C99_STDIO]: Also check _GLIBCXX_HAVE_BROKEN_VSNPRINTF.
	* config/os/hpux/os_defines.h: Define _GLIBCXX_HAVE_BROKEN_VSNPRINTF.
	* include/bits/locale_facets.tcc (num_put::_M_insert_float)
	[_GLIBCXX_USE_C99_STDIO]: Also check _GLIBCXX_HAVE_BROKEN_VSNPRINTF.

From-SVN: r268350
2019-01-28 23:58:57 +00:00
Jakub Jelinek f4b7e754cc re PR c/89045 (ICE in get_parm_info, at c/c-decl.c:7518)
PR c/89045
	* c-decl.c (build_compound_literal): Don't pushdecl if in parameter
	scope.

	* gcc.dg/pr89045.c: New test.

From-SVN: r268349
2019-01-29 00:49:51 +01:00
Jakub Jelinek 6a335b9669 re PR c/86125 (missing -Wbuiltin-declaration-mismatch on a mismatched return type)
PR c/86125
	* c-decl.c (last_fileptr_type): Remove.
	(last_structptr_types): New variable.
	(match_builtin_function_types): Compare TYPE_MAIN_VARIANT of
	{old,new}rettype instead of the types themselves.  Assert
	last_structptr_types array has the same number of elements
	as builtin_structptr_types array.  Use TYPE_MAIN_VARIANT for
	argument oldtype and newtype.  Instead of handling
	just fileptr_type_node specially, handle all builtin_structptr_types
	pointer nodes.  Formatting fix.

	* c-common.c (c_common_nodes_and_builtins): Build type variants for
	builtin_structptr_types types even for C.

	* gcc.dg/Wbuiltin-declaration-mismatch-7.c: Guard testcase for
	lp64, ilp32 and llp64 only.
	(fputs): Use unsigned long long instead of size_t for return type.
	(vfprintf, vfscanf): Accept arbitrary target specific type for
	va_list.

From-SVN: r268348
2019-01-29 00:21:10 +01:00
Ian Lance Taylor ab1be99f2b compiler: improve recursive type detection
Detect recursive type definition like
    "type T0 T1; type T1 T2; ...... type Tn T0".
    
    Fixes golang/go#25320.
    
    Reviewed-on: https://go-review.googlesource.com/c/159837

From-SVN: r268347
2019-01-28 22:36:05 +00:00
Jakub Jelinek 52bfbb69e7 re PR middle-end/89002 (ICE in scan_omp_1_op, at omp-low.c:3166)
PR middle-end/89002
	* gimplify.c (gimplify_omp_for): When adding OMP_CLAUSE_*_GIMPLE_SEQ
	for lastprivate/linear IV, push gimplify context around gimplify_assign
	and, if it needed any temporaries, pop it into a gimple bind around the
	sequence.

	* testsuite/libgomp.c/pr89002.c: New test.

From-SVN: r268346
2019-01-28 23:34:32 +01:00
Jakub Jelinek be3a87e7b5 re PR middle-end/89002 (ICE in scan_omp_1_op, at omp-low.c:3166)
PR middle-end/89002
	* gimplify.c (gimplify_omp_for): When adding OMP_CLAUSE_*_GIMPLE_SEQ
	for lastprivate/linear IV, push gimplify context around gimplify_assign
	and, if it needed any temporaries, pop it into a gimple bind around the
	sequence.

	* testsuite/libgomp.c/pr89002.c: New test.

From-SVN: r268345
2019-01-28 23:33:33 +01:00
Tom de Vries 62d4a355b7 [libbacktrace] Fix and simplify xcoff_%.c pattern rule
When generating xcoff_%.c, the last command is a sed command.  In case of a
sed failure, this will leave an incomplete file, which will appear as up to
date to make, so consequently it will not be regenerated.  Fix this by
sedding into a temporary file instead.

Also, use $< to access the prerequisite xcoff.c, instead of spelling out the
file name once more.

2019-01-28  Tom de Vries  <tdevries@suse.de>

	* Makefile.am (xcoff_%.c): Generate sed result into temporary file.
	Use $< to access prerequisite.
	* Makefile.in: Regenerate.

From-SVN: r268344
2019-01-28 22:21:19 +00:00
Marek Polacek b6d0f41ac5 PR c++/88358 - name wrongly treated as type.
* parser.c (cp_parser_direct_declarator): Don't assume a qualified-id
	in parameter-list is a type if the function's declarator-id is not
	qualified.

	* g++.dg/cpp2a/typename1.C: Add dg-error.
	* g++.dg/cpp2a/typename13.C: New test.
	* g++.dg/cpp2a/typename6.C: Make a function name qualified.
	Add typename.

From-SVN: r268343
2019-01-28 22:14:27 +00:00
Uros Bizjak 2c5b392032 Makefile.in: Really regenerate.
* Makefile.in: Really regenerate.

From-SVN: r268342
2019-01-28 23:14:19 +01:00
Marek Polacek cf14208548 * g++.dg/cpp0x/enum37.C: Add dg-error.
From-SVN: r268341
2019-01-28 21:58:36 +00:00
Bernd Edlinger 2a06eba5b7 c-warn.c (check_address_or_pointer_of_packed_member): Handle the case when rhs is of array type correctly.
2019-01-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
        when rhs is of array type correctly.  Fix handling of nested structures.
        Fix handling of indirect_ref together with nop_expr and/or addr_expr.
        (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
        type casts within nested compound expressions.

testsuite:
2019-01-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-c++-common/Waddress-of-packed-member-1.c: Extended test case.
        * c-c++-common/Waddress-of-packed-member-2.c: New test case.

From-SVN: r268337
2019-01-28 13:14:37 +00:00
Bernd Edlinger 5ebfd62be8 common.opt (-Wattribute-alias): Remove "no-" from name.
2019-01-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * common.opt (-Wattribute-alias): Remove "no-" from name.
        Make -Wattribute-alias command line option and
        #pragma GCC diagnostic ignored "-Wattribute-alias" work again.

testsuite:
2019-01-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.dg/Wattribute-alias.c: Add test for #pragma GCC diagnostic ignored
        "-Wattribute-alias".

From-SVN: r268336
2019-01-28 13:10:29 +00:00
Jakub Jelinek 811a671042 re PR target/89073 (x86 __attribute__ ((target("sha"))) not documented)
PR target/89073
	* doc/invoke.texi (-mclwb, -mprfchw, -mrdpid, -mrdseed, -msgx,
	-madx, -mhle, -mavx5124fmaps, -mavx512vnni, -mavx5124vnniw): Document
	x86 ISA options.
	(bmi2): Add missing @opindex.
	* doc/extend.texi (x86 target attribute): Move fma4, lwp, ssse3
	options alphabetically.  Add missing 3dnow, 3dnowa, adx, avx, avx2,
	avx5124fmaps, avx5124vnniw, avx512bitalg, avx512bw, avx512cd,
	avx512dq, avx512er, avx512f, avx512ifma, avx512pf, avx512vbmi,
	avx512vbmi2, avx512vl, avx512vnni, avx512vpopcntdq, bmi, bmi2,
	cldemote, clflushopt, clwb, clzero, crc32, cx16, f16c, fma, fsgsbase,
	fxsr, gfni, hle, lzcnt, movbe, movdir64b, movdiri, mwaitx, pconfig,
	pku, prefetchwt1, prfchw, ptwrite, rdpid, rdrnd, rdseed, rtm, sahf,
	sgx, sha, shstk, tbm, vaes, vpclmulqdq, waitpkg, wbnoinvd, xsave,
	xsavec, xsaveopt and xsaves options.

From-SVN: r268335
2019-01-28 11:38:29 +01:00
Richard Biener 44ed55d52a re PR debug/89076 (gcc/dwarf2out.c:23270:9: warning: duplicated ‘if’ condition)
2019-01-28  Richard Biener  <rguenther@suse.de>

	PR debug/89076
	* dwarf2out.c (gen_subprogram_die): Remove leftover from MPX
	support removal.

From-SVN: r268334
2019-01-28 09:36:50 +00:00
Richard Biener 497ef4d7f5 re PR testsuite/89064 (libgomp.graphite/force-parallel-5.c fails starting with r268257)
2019-01-28  Richard Biener  <rguenther@suse.de>

	PR testsuite/89064
	PR tree-optimization/86865
	* testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.

From-SVN: r268333
2019-01-28 09:07:30 +00:00
Richard Biener ef310a95a9 re PR tree-optimization/88739 (Big-endian union bug)
2019-01-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/88739
	* tree-cfg.c (verify_types_in_gimple_reference): Verify
	BIT_FIELD_REFs only are applied to mode-precision operands
	when they are integral.
	(verify_gimple_assign_ternary): Likewise for BIT_INSERT_EXPR.
	* tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid generating
	BIT_FIELD_REFs of non-mode-precision integral operands.

From-SVN: r268332
2019-01-28 08:15:42 +00:00
Sebastian Huber 92ab6b83cd libgfortran: Use proper gthr.h API
libgfortran/

	* io/async.c (init_adv_cond): Use __GTHREAD_COND_INIT_FUNCTION().

From-SVN: r268331
2019-01-28 06:35:41 +00:00
GCC Administrator 32ed8fa248 Daily bump.
From-SVN: r268330
2019-01-28 00:16:18 +00:00
Uros Bizjak f2b3affbdf re PR fortran/70696 ([Coarray] ICE on EVENT POST of host-associated EVENT_TYPE coarray)
PR fortran/70696
	* gfortran.dg/coarray/event_3.f0: Add save attribue to x.

From-SVN: r268325
2019-01-27 21:44:36 +01:00
Marek Polacek f8ec35c322 PR c++/88815 - narrowing conversion lost in decltype.
PR c++/78244 - narrowing conversion in template not detected.
	* cp-tree.h (CONSTRUCTOR_IS_DEPENDENT): New.
	* pt.c (instantiation_dependent_r): Consider a CONSTRUCTOR with
	CONSTRUCTOR_IS_DEPENDENT instantiation-dependent.
	* semantics.c (finish_compound_literal): When the compound literal
	isn't instantiation-dependent and the type isn't type-dependent,
	fall back to the normal processing.  Set CONSTRUCTOR_IS_DEPENDENT.

	* g++.dg/cpp0x/Wnarrowing15.C: New test.
	* g++.dg/cpp0x/Wnarrowing16.C: New test.
	* g++.dg/cpp0x/constexpr-decltype3.C: New test.
	* g++.dg/cpp1y/Wnarrowing1.C: New test.

From-SVN: r268321
2019-01-27 20:19:41 +00:00
Marek Polacek 73a54a6193 PR c++/89024 - ICE with incomplete enum type.
* call.c (standard_conversion): When converting an
	ARITHMETIC_TYPE_P to an incomplete type, return NULL.
	
	* g++.dg/cpp0x/enum37.C: New test.

From-SVN: r268320
2019-01-27 19:54:29 +00:00
Jerry DeLisle 9faf6e7018 re PR libfortran/89020 (close(status='DELETE') does not remove file)
2019-01-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/89020
	* io/close.c (st_close): Simplify text of error message to not
	presume a specific cause of failure to remove file.

From-SVN: r268319
2019-01-27 19:42:34 +00:00
Eric Botcazou 683ccd0568 repinfo.adb (List_Component_Layout): Remove superfluous space for zero-sized field.
* repinfo.adb (List_Component_Layout): Remove superfluous space for
	zero-sized field.
	* gcc-interface/ada-tree.h (TYPE_IS_EXTRA_SUBTYPE_P): New macro.
	* gcc-interface/gigi.h (create_extra_subtype): Declare.
	* gcc-interface/decl.c (TYPE_ARRAY_SIZE_LIMIT): Likewise.
	(update_n_elem): New function.
	(gnat_to_gnu_entity): Use create_extra_subtype to create extra subtypes
	instead of doing it manually.
	<E_Array_Type>: Use update_n_elem to compute the maximum size.  Use the
 	index type instead of base type for the bounds. Set TYPE_ARRAY_MAX_SIZE
	of the array to the maximum size.
	<E_Array_Subtype>: Create an extra subtype using the index type of the
	base array type for self-referential bounds.  Use update_n_elem to
	compute the maximum size.  Set TYPE_ARRAY_MAX_SIZE of the array to the
	maximum size.
	(gnat_to_gnu_field): Clear DECL_NONADDRESSABLE_P on discriminants.
	* gcc-interface/misc.c (gnat_get_alias_set): Return the alias set of
	the base type for an extra subtype.
	(gnat_type_max_size): Remove obsolete code.
	* gcc-interface/trans.c (Attribute_to_gnu): Minor tweak.
	(can_be_lower_p): Deal with pathological types.
	* gcc-interface/utils.c (create_extra_subtype): New function.
	(create_field_decl): Minor tweak.
	(max_size) <tcc_reference>: Compute a better value by using the extra
 	subtypes on the self-referential bounds.
	<tcc_binary>: Rewrite.  Deal with "negative value" in unsigned types.
	<tcc_expression>: Likewise.
	* gcc-interface/utils2.c (compare_arrays): Retrieve the original bounds
	of the arrays upfront.  Swap only if the second length is not constant.
	Use comparisons on the original bounds consistently for the null tests.
	(build_binary_op): Use TYPE_IS_EXTRA_SUBTYPE_P macro.
	(build_allocator): Minor tweak.

From-SVN: r268318
2019-01-27 19:14:14 +00:00
Eric Botcazou 33731c6661 decl.c (array_type_has_nonaliased_component): Return the same value for every dimension of a multidimensional array type.
* gcc-interface/decl.c (array_type_has_nonaliased_component): Return
	the same value for every dimension of a multidimensional array type.

From-SVN: r268314
2019-01-27 18:05:59 +00:00
Jakub Jelinek b253f94d4f re PR target/87214 (r263772 miscompiled 520.omnetpp_r in SPEC CPU 2017)
PR target/87214
	* config/i386/sse.md
	(<mask_codefor>avx512dq_shuf_<shuffletype>64x2_1<mask_name>,
	avx512f_shuf_<shuffletype>64x2_1<mask_name>): Ensure the
	first constants in pairs are multiples of 2.  Formatting fixes.
	(avx512vl_shuf_<shuffletype>32x4_1<mask_name>,
	avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Ensure the
	first constants in each quadruple are multiples of 4.  Formatting fixes.

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

From-SVN: r268310
2019-01-27 12:56:44 +01:00
Jerry DeLisle 2ee43ae6d6 re PR libfortran/89020 (close(status='DELETE') does not remove file)
2019-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/89020
	* io/close.c (st_close): Fix typo.

From-SVN: r268309
2019-01-27 01:36:40 +00:00
GCC Administrator b8f1882e87 Daily bump.
From-SVN: r268308
2019-01-27 00:16:30 +00:00
Martin Jambor 95a2ed0325 [PR ipa/88933] Careful CFG cleanup in IPA-CP function transformation
2019-01-26  Martin Jambor  <mjambor@suse.cz>

	PR ipa/88933
	* tree-inline.c: Include tree-cfgcleanup.h.
	(delete_unreachable_blocks_update_callgraph): Move...
	* tree-cfgcleanup.c (delete_unreachable_blocks_update_callgraph):
	...here, make externally visible, make second argument bool, adjust
	all callers.
	* tree-cfgcleanup.c: Include cgraph.h.
	* tree-cfgcleanup.h (delete_unreachable_blocks_update_callgraph):
	Declare.
	* ipa-prop.c: Include tree-cfgcleanup.h.
	(ipcp_transform_function): Call
	delete_unreachable_blocks_update_callgraph instead of cleaning uo CFG.

	testsuite/
	* gfortran.dg/gomp/pr88933.f90: New test.

From-SVN: r268305
2019-01-26 23:19:17 +01:00
Iain Buclaw e4e13e2610 Fix ICE when handling void initialized manifest constants.
gcc/d/ChangeLog:

2019-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/89042
	* decl.cc (DeclVisitor::visit(VarDeclaration)): Don't assert if
	handling a void initialized manifest constant.

gcc/testsuite/ChangeLog:

2019-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/89042
	* gdc.dg/pr89042a.d: New test.
	* gdc.dg/pr89042b.d: New test.

From-SVN: r268304
2019-01-26 21:07:15 +00:00
Harald Anlauf 3a55c8e248 re PR fortran/57553 ([F08] Valid use of STORAGE_SIZE rejected, bad error message for invalid use)
2019-01-26  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/57553
	* expr.c (check_inquiry): Add list of inquiry functions allowed in
	constant expressions for F2008+.

2019-01-26  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/57553
	* gfortran.dg/pr57553.f90: New test.

From-SVN: r268303
2019-01-26 20:45:55 +00:00
Jerry DeLisle fac29445ac Fix bug number referenced in previous commit.
From-SVN: r268302
2019-01-26 20:39:33 +00:00
Jerry DeLisle 0e34715e97 re PR libfortran/89020 (close(status='DELETE') does not remove file)
2019-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/88020
	* io/close.c (st_close): Generate error if calls to 'remove' return
	an error.

From-SVN: r268301
2019-01-26 20:27:16 +00:00
Harald Anlauf b4f964c8ed Add myself to MAINTAINERS
From-SVN: r268300
2019-01-26 20:12:45 +00:00
Eric Botcazou 93101d2386 trans.c (Regular_Loop_to_gnu): Use the SLOC of the iteration scheme, if present, throughout the translation.
* gcc-interface/trans.c (Regular_Loop_to_gnu): Use the SLOC of the
	iteration scheme, if present, throughout the translation.

From-SVN: r268299
2019-01-26 16:07:47 +00:00
Eric Botcazou e54b62687a trans.c (gnat_to_gnu): Use DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT for the size to be assigned by a...
* gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Use
	DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT for the size to be assigned
	by a call to memset if the LHS is a DECL.

From-SVN: r268296
2019-01-26 15:59:34 +00:00
Iain Buclaw 685ae5b871 libphobos: Merge phobos and druntime with upstream.
Commits merged from druntime.

    Fix struct tls_index definition on x32
    https://github.com/dlang/druntime/pull/2354

    Update SectionGroup signatures to match on all targets
    https://github.com/dlang/druntime/pull/2401

    Fix issue 19128 - argument to alloca may be too large
    https://github.com/dlang/druntime/pull/2409

    Define some common filesystem limits in core.stdc.limits
    https://github.com/dlang/druntime/pull/2460

    Use version Darwin instead of OSX in core.sys.posix.aio
    https://github.com/dlang/druntime/pull/2470

Commits merged from phobos.

    Don't run HardFloat tests on SoftFloat systems
    https://github.com/dlang/phobos/pull/5358

    Remove reliance on stdin, stdout, stderr being aliasable
    https://github.com/dlang/phobos/pull/5718

    Solaris: add import clock_gettime to currStdTime
    https://github.com/dlang/phobos/pull/5807

    Don't print debug messages when building unittests
    https://github.com/dlang/phobos/pull/6827

    Add HPPA support to phobos
    Fixes https://gcc.gnu.org/PR89054
    https://github.com/dlang/phobos/pull/6836

From-SVN: r268293
2019-01-26 13:41:26 +00:00
Eric Botcazou 8f915edbe1 trans.c (struct loop_info_d): Remove artificial field.
* gcc-interface/trans.c (struct loop_info_d): Remove artificial field.
	(Loop_Statement_to_gnu): Do not set it.

From-SVN: r268290
2019-01-26 12:02:51 +00:00