Commit Graph

168187 Commits

Author SHA1 Message Date
Thomas Rodgers 71905b8a44 Uglify identifiers missed in previous commit(s)
* include/pstl/algorithm_impl.h: Uglify identfiers.
       * include/pstl/numeric_impl.h:  Uglify identfiers.
       * include/pstl/parallel_backend_tbb.h: Uglify identfiers.

From-SVN: r270332
2019-04-13 00:13:46 +00:00
Martin Sebor 377c9e4611 Commit a change missed in r270326:
gcc/c-family/ChangeLog:

	PR c/88383
	PR c/89288
	PR c/89798
	PR c/89797
	* c-attribs.c (type_valid_for_vector_size): Detect excessively
	large sizes.
	(validate_attribute): Handle DECLs and expressions.
	(has_attribute): Handle types referenced by expressions.
	Avoid considering array attributes in ARRAY_REF expressions .

From-SVN: r270331
2019-04-12 16:37:12 -06:00
Iain Buclaw d7e418a1d8 libphobos: Add subdir-objects to configure script.
Running autoreconf regenerates all files cleanly with autoconf2.69.

libphobos/ChangeLog:

2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>

	* configure.ac (AM_INIT_AUTOMAKE): Add subdir-objects.
	* configure: Regenerate.
	* libdruntime/Makefile.in: Regenerate.

From-SVN: r270330
2019-04-12 21:50:42 +00:00
Jakub Jelinek 60a2c64519 re PR c/89933 (ICE in merge_decls, at c/c-decl.c:2517)
PR c/89933
c/
	* c-decl.c (merge_decls): When newdecl's type is its main variant,
	don't try to remove it from the variant list, but instead assert
	it has no variants.
cp/
	* decl.c (duplicate_decls): When newdecl's type is its main variant,
	don't try to remove it from the variant list, but instead assert
	it has no variants.
testsuite/
	* c-c++-common/pr89933.c: New test.

From-SVN: r270329
2019-04-12 23:45:54 +02:00
Iain Buclaw bb50312e02 libphobos: Add target-zlib to top-level configure
Removes the building of zlib from within libphobos, using instead the
libz_convenience.a library.

ChangeLog:

2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>

	* configure.ac: Add target-zlib to target_libraries.
	* configure: Regenerate.

gcc/ChangeLog:

2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>

	* doc/install.texi: Document --with-target-system-zlib.

libphobos/ChangeLog:

2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>

	* m4/druntime/libraries.m4 (DRUNTIME_LIBRARIES_ZLIB): Use
	libz_convenience.a if not using system zlib.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* libdruntime/Makefile.in: Regenerate.
	* src/Makefile.am: Remove ZLIB_CSOURCES and AM_CFLAGS.
	* src/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r270328
2019-04-12 20:13:34 +00:00
Martin Sebor 41fe51dd06 extend.texi (__builtin_has_attribute): Add a clarifying note.
gcc/ChangeLog:
	* doc/extend.texi (__builtin_has_attribute): Add a clarifying note.

From-SVN: r270327
2019-04-12 13:11:59 -06:00
Martin Sebor 3fb82380dc PR c/88383 - ICE calling __builtin_has_attribute on a reference
PR c/88383 - ICE calling __builtin_has_attribute on a reference
PR c/89288 - ICE in tree_code_size, at tree.c:865
PR c/89798 - excessive vector_size silently accepted and truncated
PR c/89797 - ICE on a vector_size (1LU << 33) int variable

gcc/ChangeLog:

	PR c/89797
	* targhooks.c (default_vector_alignment): Avoid assuming
	argument fits in SHWI.
	* tree.h (TYPE_VECTOR_SUBPARTS): Avoid sign overflow in
	a shift expression.
	* doc/extend.texi (__builtin_has_attribute): Add a clarifying note.

gcc/c-family/ChangeLog:

	PR c/88383
	PR c/89288
	PR c/89798
	PR c/89797
	* c-attribs.c (type_valid_for_vector_size): Detect excessively
	large sizes.
	(validate_attribute): Handle DECLs and expressions.
	(has_attribute): Handle types referenced by expressions.
	Avoid considering array attributes in ARRAY_REF expressions .

gcc/cp/ChangeLog:

	PR c/88383
	PR c/89288
	* parser.c (cp_parser_has_attribute_expression): Handle assignment
	expressions.

gcc/testsuite/ChangeLog:

	PR c/88383
	PR c/89288
	PR c/89798
	PR c/89797
	* c-c++-common/attributes-1.c: Adjust.
	* c-c++-common/builtin-has-attribute-6.c: New test.
	* c-c++-common/builtin-has-attribute-7.c: New test.
	* c-c++-common/builtin-has-attribute-4.c: Adjust expectations.
	* c-c++-common/builtin-has-attribute-6.c: New test.
	* c-c++-common/pr71574.c: Adjust.
	* gcc.dg/pr25559.c: Adjust.
	* gcc.dg/attr-vector_size.c: New test.

From-SVN: r270326
2019-04-12 13:01:17 -06:00
Jason Merrill 3d8695f529 Avoid ICE on pmf{} in template.
Now that we return the original CONSTRUCTOR from finish_compound_literal,
the call to null_member_pointer_value_p in tsubst_copy_and_build was getting
confused because the CONSTRUCTOR was still empty rather than a valid PMF
value.

	* call.c (null_member_pointer_value_p): Handle an empty CONSTRUCTOR
	of PMF type.

From-SVN: r270324
2019-04-12 12:25:59 -04:00
Jakub Jelinek 76416d899c re PR rtl-optimization/89965 (wrong code with -O -mtune=nano-x2 -fcaller-saves -fexpensive-optimizations -fno-tree-dce -fno-tree-ter)
PR rtl-optimization/89965
	* dce.c: Include rtl-iter.h.
	(struct check_argument_load_data): New type.
	(check_argument_load): New function.
	(find_call_stack_args): Check for loads from stack slots still tracked
	in sp_bytes and punt if any is found.

	* gcc.target/i386/pr89965.c: New test.

From-SVN: r270323
2019-04-12 18:20:21 +02:00
Jakub Jelinek b2e77a37a2 * config/mips/loongson-mmiintrin.h: Fix up #error message.
From-SVN: r270322
2019-04-12 18:16:35 +02:00
Jakub Jelinek 63b8a1665a re PR translation/90041 (Command line option without proper quoting in translation message)
PR translation/90041
	* exgettext: Print MissingArgError, UnknownError or Warn
	*.opt argument using error or warning instead of _ to mark it
	as gcc-internal-format.

	* c.opt (-fhandle-exceptions): Use %< and %> around option names
	in the Warn diagnostics.

From-SVN: r270321
2019-04-12 18:12:49 +02:00
Marek Polacek c46f1a1791 PR c++/87603 - constexpr functions are no longer noexcept.
* constexpr.c (is_sub_constant_expr): Remove unused function.
	* cp-tree.h (is_sub_constant_expr): Remove declaration.
	* except.c (check_noexcept_r): Don't consider a call to a constexpr
	function noexcept.

	* g++.dg/cpp0x/constexpr-noexcept.C: Adjust the expected result.
	* g++.dg/cpp0x/constexpr-noexcept3.C: Likewise.
	* g++.dg/cpp0x/constexpr-noexcept4.C: Likewise.
	* g++.dg/cpp0x/constexpr-noexcept8.C: New test.
	* g++.dg/cpp0x/inh-ctor32.C: Remove dg-message.
	* g++.dg/cpp1y/constexpr-noexcept1.C: New test.

From-SVN: r270320
2019-04-12 15:29:03 +00:00
Marek Polacek cc3bae3dc2 except.c (build_noexcept_spec): Use build_converted_constant_bool_expr instead of perform_implicit_conversion_flags.
* except.c (build_noexcept_spec): Use build_converted_constant_bool_expr
	instead of perform_implicit_conversion_flags.

	* g++.dg/cpp0x/noexcept30.C: Tweak dg-error.
	* g++.dg/cpp0x/pr86397-1.C: Likewise.
	* g++.dg/cpp0x/pr86397-2.C: Likewise.

From-SVN: r270319
2019-04-12 15:26:16 +00:00
Jan Hubicka 01c9d99949 invoke.texi (max-lto-streaming-paralellism): New --param.
* doc/invoke.texi (max-lto-streaming-paralellism): New --param.

From-SVN: r270318
2019-04-12 14:36:26 +00:00
Jan Hubicka 0c7f51e401 params.def (PARAM_MAX_LTO_STREAMING_PARALLELISM): New parameter.
* params.def (PARAM_MAX_LTO_STREAMING_PARALLELISM): New parameter.
	* lto.c (do_stream_out): rename to ...
	(stream_out): ... this one; move original code to ...
	(stream_out_partitions_1, stream_out_partitions): ... these new
	functions.
	(lto_wpa_write_files): Honnor lto_parallelism

From-SVN: r270317
2019-04-12 14:35:48 +00:00
Matthew Malcomson 22de32a1a5 [testsuite][arm] Update warning prune regex
r269586 changed the format of some warning messages.

Each switch in the warning message is now surrounded by single quotes.

This commit updates the regex's in arm.exp dejagnu files to match the
new format and remove the extra 20+ FAILs on excess errors that are
introduced on certain variations (e.g.
arm-eabi-aem/-marm/-march=armv7-a/-mfpu=vfpv3-d16/-mfloat-abi=softfp).

Regtested arm.exp with cross-compiler arm-none-eabi

gcc/testsuite/ChangeLog:

2019-04-12  Matthew Malcomson  <matthew.malcomson@arm.com>

	* g++.target/arm/arm.exp: Change format of default prune regex.
	* gcc.target/arm/arm.exp: Change format of default prune regex.

From-SVN: r270316
2019-04-12 13:15:52 +00:00
Martin Liska a164374ef1 Handle multiple 'default' in target attribute (PR middle-end/89970).
2019-04-12  Martin Liska  <mliska@suse.cz>

	PR middle-end/89970
	* multiple_target.c (create_dispatcher_calls): Wrap ifunc
	in error message.
	(separate_attrs): Handle multiple 'default's.
	(expand_target_clones): Rework error handling code.
2019-04-12  Martin Liska  <mliska@suse.cz>

	PR middle-end/89970
	* gcc.target/i386/mvc15.c: New test.
	* gcc.target/i386/mvc3.c: Quote target in error pattern.
	* gcc.target/i386/mvc4.c: Remove duplicit 'default'.

From-SVN: r270314
2019-04-12 12:54:00 +00:00
Kelvin Nilsen 34f02c07fb re PR target/87532 (bad results from vec_extract(unsigned char, foo) dependent upon function inline)
gcc/ChangeLog:

2019-04-12  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	PR target/87532
	* config/rs6000/rs6000.c (rs6000_split_vec_extract_var): Use inner
	mode of vector rather than mode of destination for move instruction.
	* config/rs6000/vsx.md (*vsx_extract_<mode>_<VS_scalar>mode_var):
	Use QI inner mode with V16QI vector mode.

gcc/testsuite/ChangeLog:

2019-04-12  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	PR target/87532
	* gcc.target/powerpc/fold-vec-extract-char.p8.c: Adjust expected
	instruction counts.
	* gcc.target/powerpc/fold-vec-extract-int.p8.c: Likewise.
	* gcc.target/powerpc/fold-vec-extract-short.p8.c: Likewise.

From-SVN: r270313
2019-04-12 12:51:58 +00:00
Jakub Jelinek a847875139 * de.po, sv.po: Update.
From-SVN: r270309
2019-04-12 11:07:37 +02:00
Jakub Jelinek 0ef88b2031 re PR target/52726 (Composed error message will not get translated)
PR target/52726
	* config/tilepro/tilepro.c (tilepro_print_operand): Use just
	"invalid %%t operand" in output_operand_lossage message.

From-SVN: r270308
2019-04-12 10:10:51 +02:00
Jonathan Wakely ab54102445 Remove spurious empty line from ChangeLog
From-SVN: r270307
2019-04-12 09:04:56 +01:00
Andreas Krebbel 2541c40f06 S/390: Fix a problem with the bswap vector pattern
arch13 introduced instructions to perform vector element-wise byte
swaps on the way from or to memory.  For a byte swap between vector
registers the vector permute instruction is required which needs a
permute pattern to be loaded into a vector register first.

With the current implementation there is a potential problem when the
decision for the reg-reg variant is made very late.  This patch is
supposed to fix that.

With the patch the required permute pattern is generated already in
the expander and attached to the bswap pattern as USE operand.  The
predicate in the insn_and_split pattern accepts it although the
permute constant as such is not a valid constant.  For the reg-reg
variant only the vector register constraint is used for the permute
constant forcing LRA to a) push the constant into literal pool and b)
load the literal pool constant into a vector register.

gcc/ChangeLog:

2019-04-12  Andreas Krebbel  <krebbel@linux.ibm.com>

	* config/s390/predicates.md (permute_pattern_operand): New
	predicate.
	* config/s390/vector.md ("*vec_splats_bswap_vec<mode>"): Add USE
	operand for the permute pattern.
	("*vec_perm<mode>"): New insn definition.
	("bswap<mode>"): Generate the permute pattern operand in the
	expander and perform the operand reloads for pre arch13 level
	already.
	("*bswap<mode>_emu"): Rename to ...
	("*bswap<mode>"): ... this. And make the splitter vxe2 only.
	* config/s390/vx-builtins.md ("*vec_insert_and_zero_bswap<mode>"):
	Add the USE operand for the permute pattern.
	("*vec_set_bswap_vec<mode>"): Likewise.

From-SVN: r270306
2019-04-12 07:41:51 +00:00
Jakub Jelinek 8e8225e69d re PR c/89946 (ICE in assemble_start_function, at varasm.c:1871)
PR c/89946
	* varasm.c (assemble_start_function): Don't use tree_fits_uhwi_p
	and gcc_unreachable if it fails, just call tree_to_uhwi which
	verifies that too.  Test TREE_CHAIN instead of list_length > 1.
	Start warning message with a lower-case letter.  Formatting fixes.
c-family/
	* c-attribs.c (handle_patchable_function_entry_attribute): Add
	function comment.  Warn if arguments of the attribute are not positive
	integer constants.
testsuite/
	* c-c++-common/pr89946.c: New test.

From-SVN: r270305
2019-04-12 09:28:35 +02:00
Jakub Jelinek c758576acc re PR rtl-optimization/90026 (ICE: verify_flow_info failed (error: missing barrier after block 2))
PR rtl-optimization/90026
	* cfgcleanup.c (try_optimize_cfg): When removing empty bb with no
	successors, look for BARRIERs inside of the whole BB_FOOTER chain
	rather than just at the start of it.  If e->src BB_FOOTER is not NULL
	in cfglayout mode, use emit_barrier_after_bb.

	* g++.dg/opt/pr90026.C: New test.

From-SVN: r270304
2019-04-12 09:27:25 +02:00
Iain Buclaw df63d1b7f7 libphobos: Parallelize the libphobos testsuite
The removal of the check programs in libphobos means that all tests
will now be compiled one at a time, causing a notable slowdown in
comparison with the previous method of testing.

libphobos/ChangeLog:

2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>

	* testsuite/Makefile.am:
	* testsuite/Makefile.am (AUTOMAKE_OPTIONS): Remove dejagnu.
	(RUNTEST): Remove variable.
	(RUNTESTDEFAULTFLAGS, check_p_subno, check_p_numbers0,
	check_p_numbers1, check_p_numbers2, check_p_numbers3,
	check_p_numbers4, check_p_numbers5, check_p_numbers6, check_p_numbers,
	check_p_subdirs, check_DEJAGNU_libphobos_targets): New variables.
	(site.exp, %/site.exp, check-DEJAGNU, check-am, clean-local): New
	rules written so that all the *.exp files are ran parallelized.
	(CLEANFILES): Add *.exe, *.o, and site.exp.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r270303
2019-04-12 06:25:34 +00:00
Iain Buclaw 0d6aae249d libphobos: Replace library check programs with dg-runtest
Fixes multilib handling when running the libphobos testsuite.

libphobos/ChangeLog:

2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/89255
	* configure.ac (ENABLE_SHARED, ENABLE_STATIC): Remove conditionals.
	* configure: Regenerate.
	* d_rules.am (%.t.lo, %.t.o): Remove rules.
	(unittest_static_LINK, unittest_LINK, libgdruntime_t_la_LINK,
	libgphobos_t_la_LINK): Remove variables.
	* libdruntime/Makefile.am (DRUNTIME_TEST_LOBJECTS,
	DRUNTIME_TEST_OBJECTS, check_PROGRAMS, check_LTLIBRARIES,
	unittest_static_SOURCES, unittest_static_LIBTOOLFLAGS,
	unittest_static_LDFLAGS, unittest_static_LDADD,
	EXTRA_unittest_static_DEPENDENCIES, libgdruntime_t_la_SOURCES,
	libgdruntime_t_la_LIBTOOLFLAGS, libgdruntime_t_la_LDFLAGS,
	libgdruntime_t_la_LIBADD, EXTRA_libgdruntime_t_la_DEPENDENCIES,
	unittest_SOURCES, unittest_LIBTOOLFLAGS, unittest_LDFLAGS,
	unittest_LDADD): Remove variables.
	(clean-local): Remove rule.
	* libdruntime/Makefile.in: Regenerate.
	* src/Makefile.am (PHOBOS_TEST_LOBJECTS,
	PHOBOS_TEST_OBJECTS, check_PROGRAMS, check_LTLIBRARIES,
	unittest_static_SOURCES, unittest_static_LIBTOOLFLAGS,
	unittest_static_LDFLAGS, unittest_static_LDADD,
	EXTRA_unittest_static_DEPENDENCIES, libgdruntime_t_la_SOURCES,
	libgdruntime_t_la_LIBTOOLFLAGS, libgdruntime_t_la_LDFLAGS,
	libgdruntime_t_la_LIBADD, EXTRA_libgdruntime_t_la_DEPENDENCIES,
	unittest_SOURCES, unittest_LIBTOOLFLAGS, unittest_LDFLAGS,
	unittest_LDADD): Remove variables.
	(clean-local): Remove rule.
	* src/Makefile.in: Regenerate.
	* testsuite/lib/libphobos.exp (libphobos_test_name): New global.
	(libphobos_init): Set libphobos_test_name.
	(libphobos-dg-test): Override name if libphobos_test_name is set.
	(filter_libphobos_unittests): New proc.
	* testsuite/libphobos.aa/aa.exp: Don't load libphobos-dg.exp.
	* testsuite/libphobos.cycles/cycles.exp: Set libphobos_test_name.
	* testsuite/libphobos.druntime/druntime.exp: New file.
	* testsuite/libphobos.druntime_shared/druntime_shared.exp: New file.
	* testsuite/libphobos.phobos/phobos.exp: New file.
	* testsuite/libphobos.phobos_shared/phobos_shared.exp: New file.
	* testsuite/libphobos.shared/shared.exp: Use dg-runtest to run tests.
	* testsuite/libphobos.hash/hash.exp: Don't load libphobos-dg.exp
	* testsuite/libphobos.init_fini/init_fini.exp: Likewise.
	* testsuite/libphobos.thread/thread.exp: Likewise.
	* testsuite/libphobos.typeinfo/typeinfo.exp: Likewise.
	* testsuite/libphobos.unittests/unittests.exp: Remove.
	* testsuite/test_runner.d: Remove.
	* testsuite/testsuite_flags.in: Add phobos to --gdcpaths.

From-SVN: r270302
2019-04-12 06:25:17 +00:00
Iain Buclaw c50eadba26 d: Add -fbuilding-libphobos-tests option
Currently, the druntime and phobos unittests are compiled as a separate
check program, then ran by the libphobos.unittest/unittest.exp script.
As PR d/89255 notes, this process lacks proper multilib handling.

As a first step, a new internal option that instructs the compiler to
put the reference to all unittest functions in another symbol has been
added.  This will allow each module to be compiled separately as a
standalone program using dg-runtest without running into collisions in
the D runtime module registry.

gcc/d/ChangeLog:

2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-tree.h (DECL_IN_UNITTEST_CONDITION_P): Define.
	* decl.cc (DeclVisitor): Add in_version_unittest_ field.
	(DeclVisitor::visit(ConditionalDeclaration)): New override.
	(DeclVisitor::visit(FuncDeclaration)): Set
	DECL_IN_UNITTEST_CONDITION_P.
	* lang.opt (-fbuilding-libphobos-tests): Add option.
	* modules.cc (current_testing_module): New static variable.
	(build_module_tree): Generate second moduleinfo symbol to hold
	reference to unittests if flag_building_libphobos_tests.
	(register_module_decl): Check DECL_IN_UNITTEST_CONDITION_P to decide
	which moduleinfo the decl should be registered against.

From-SVN: r270301
2019-04-12 06:25:04 +00:00
Iain Buclaw 77f4fb5766 d/dmd: Merge upstream dmd c185f9df1
Adds new virtual isVersionCondition, this is so that in the code
generation pass, a ConditionDeclaration's condition can be identified
without requiring a Visitor function.

Reviewed-on: https://github.com/dlang/dmd/pull/9591

From-SVN: r270300
2019-04-12 06:24:53 +00:00
GCC Administrator f75c823e89 Daily bump.
From-SVN: r270299
2019-04-12 00:16:31 +00:00
Iain Buclaw c8bf6646ed libphobos: Merge upstream phobos cf95639ff
Backports ports committed to upstream phobos since the last sync.

Reviewed-on: https://github.com/dlang/phobos/pull/6947

From-SVN: r270296
2019-04-11 21:11:15 +00:00
Iain Buclaw 9607e404a5 libphobos: Merge upstream druntime 175bf5fc
Backports extern(C) bindings committed to upstream druntime since the
last sync.

Reviewed-on: https://github.com/dlang/druntime/pull/2552

From-SVN: r270295
2019-04-11 21:11:03 +00:00
Iain Buclaw 258ad81197 d/dmd: Merge upstream dmd d7ed327ed
Fixes ICE when accessing empty array in CTFE.

Reviewed-on: https://github.com/dlang/dmd/pull/9563

From-SVN: r270294
2019-04-11 21:10:49 +00:00
Thomas Rodgers 9eda9f9231 Replace direct PSTL uses of assert() with a macro
This also replaces calls to __TBB_ASSERT so that there are two macro
definitions provided by c++config -
	    __PSTL_ASSERT(_Condition)
	    __PSTL_ASSERT_MSG(_Condition, _Message)

	    * include/bits/c++config:
	    Add definition for __PSTL_ASSERT.
	    Add definition for __PSTL_ASSERT_MSG.
	    * include/pstl/algorithm_impl.h: Replace use of assert().
	    * include/pstl/numeric_impl.h: Replace use of assert().
	    * include/pstl/parallel_backend_tbb.h:
	    Replace use of assert().
	    Replace use of __TBB_ASSERT().

	    * include/pstl/parallel_backend_utils.h: Replace use of assert().

From-SVN: r270293
2019-04-11 20:40:40 +00:00
Thomas Koenig c00d68e89e re PR translation/89939 (messages for translation must not contain embedded macro parameters)
2019-04-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR translation/89939
	* frontend-passes.c (B_ERROR): Delete macro.
	(C_ERROR): Delete macro.
	(B_ERROR_1): New macro.
	(C_ERROR_1): New macro.
	(C_ERROR_2): New macro.
	(inline_matmul_assign): Use new macros.
	(call_external_blas): Likewise.

From-SVN: r270292
2019-04-11 20:14:27 +00:00
Jonathan Wakely 2c390a483b PR libstdc++/90046 fix build failure on epiphany-elf
The epiphany-elf target aligns structs to 8 bytes, which causes the
static_assert(alignof(_Chunk) == 1) to fail.

Instead of requiring _Chunks to be positionable at any alignment, ensure
new buffers are aligned to alignof(_Chunk). Because the buffer size is a
power of two, we know that both the buffer size and sizeof(_Chunk) are
multiples of alignof(_Chunk). So is p is aligned to alignof(_Chunk) then
so is (p + size - sizeof(_Chunk)). So just ensure the new buffer is
aligned to at least alignof(_Chunk), which should already be true
because the caller requests at least alignof(max_align_t).

	PR libstdc++/90046
	* src/c++17/memory_resource.cc
	(monotonic_buffer_resource::_Chunk::allocate): Increase alignment if
	needed to allow placing a _Chunk at the end of the buffer.
	(monotonic_buffer_resource::_M_new_buffer): Remove static_assert.

From-SVN: r270291
2019-04-11 20:58:14 +01:00
Steve Ellcey 76d7e3f024 re PR rtl-optimization/87763 (aarch64 target testcases fail after r265398)
2018-04-11  Steve Ellcey  <sellcey@marvell.com>

	PR rtl-optimization/87763
	* gcc.target/aarch64/combine_bfxil.c: Change some bfxil checks
	to bfi.

From-SVN: r270289
2019-04-11 18:03:49 +00:00
Steve Ellcey f0a8f6bcb0 re PR rtl-optimization/87763 (aarch64 target testcases fail after r265398)
2018-04-11  Steve Ellcey  <sellcey@marvell.com>

	PR rtl-optimization/87763
	* config/aarch64/aarch64.md (*aarch64_bfi<GPI:mode>4_noshift_alt):
	New Instruction.

From-SVN: r270288
2019-04-11 18:02:41 +00:00
Tom de Vries cd7ffd8a93 [doc] Note variable shadowing at max macro using statement expression
When suggesting to rewrite the unsafe (with respect to multiple evaluation of
arguments) macro definition:
...
  #define max(a,b) ((a) > (b) ? (a) : (b))
...
into the safe macro definition:
...
  #define maxint(a,b) \
    ({int _a = (a), _b = (b); _a > _b ? _a : _b; })
...
mention the variable shadowing problem for:
...
  #define maxint3(a, b, c) \
    ({int _a = (a), _b = (b), _c = (c); maxint (maxint (_a, _b), _c); })
...

2019-04-11  Tom de Vries  <tdevries@suse.de>

	* doc/extend.texi (@node Statement Exprs): Note variable shadowing at
	max macro using statement expression.

From-SVN: r270287
2019-04-11 15:36:59 +00:00
Jakub Jelinek 657184d086 re PR translation/90035 (Non-translatable C++ parser diagnostics)
PR translation/90035
	* parser.h (struct cp_parser): Add
	type_definition_forbidden_message_arg member.
	* parser.c (cp_debug_parser): Print it.
	(cp_parser_check_type_definition): Pass
	parser->type_definition_forbidden_message_arg as second argument to
	error.
	(cp_parser_has_attribute_expression, cp_parser_sizeof_operand): Set
	parser->type_definition_forbidden_message_arg and use G_() with
	%qs for parser->type_definition_forbidden_message instead of
	building untranslatable message using concat.

From-SVN: r270286
2019-04-11 17:28:18 +02:00
David Edelsohn 8f1d8deb29 xcoffout.h (xcoff_private_rodata_section_name): Declare.
* xcoffout.h (xcoff_private_rodata_section_name): Declare.
        * xcoffout.c (xcoff_private_rodata_section_name): Define.
        * config/rs6000/rs6000.c (rs6000_xcoff_asm_init_sections): Create
        read_only_private_data_section using xcoff_private_rodata_section_name.
        (rs6000_xcoff_file_start): Generate xcoff_private_rodata_section_name.

From-SVN: r270284
2019-04-11 10:14:35 -04:00
Christophe Lyon f499726a00 [aarch64] PR90016 - aarch64: reference to undeclared N in help for command line option
2019-04-11  Christophe Lyon  <christophe.lyon@linaro.org>

	PR target/90016
	* config/aarch64/aarch64.opt (msve-vector-bits): Add missing final '.'.

From-SVN: r270280
2019-04-11 12:56:08 +02:00
Jakub Jelinek 1b4d15e855 re PR rtl-optimization/89965 (wrong code with -O -mtune=nano-x2 -fcaller-saves -fexpensive-optimizations -fno-tree-dce -fno-tree-ter)
PR rtl-optimization/89965
	* dce.c (sp_based_mem_offset): New function.
	(find_call_stack_args): Use sp_based_mem_offset.

From-SVN: r270278
2019-04-11 11:02:47 +02:00
Jonathan Wakely ecb3e9a46e Clarify documentation for -flive-patching
* doc/invoke.texi (Optimize Options): Clarify -flive-patching docs.

From-SVN: r270276
2019-04-11 09:52:22 +01:00
Richard Biener 3bab738598 re PR tree-optimization/90020 (-O2 -Os x86-64 wrong code generated for GNU Emacs)
2019-04-11  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/90020
	* tree-ssa-sccvn.c (vn_reference_may_trap): New function.
	* tree-ssa-sccvn.h (vn_reference_may_trap): Declare.
	* tree-ssa-pre.c (compute_avail): Use it to not put
	possibly trapping references after a call that might not
	return into EXP_GEN.
	* gcse.c (compute_hash_table_work): Do not elide
	marking a block containing a call if the call might not
	return.

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

From-SVN: r270275
2019-04-11 07:34:20 +00:00
Richard Biener 2fd579ab53 re PR tree-optimization/90018 (r265453 miscompiled 527.cam4_r in SPEC CPU 2017)
2019-04-11  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/90018
	* tree-vect-data-refs.c (vect_preserves_scalar_order_p):
	Test both SLP and interleaving variants.

	* gcc.dg/vect/pr90018.c: New testcase.

From-SVN: r270273
2019-04-11 07:30:59 +00:00
Robin Dapp 375a6bc674 S/390: Add arch13 pipeline and model number
This patch adds the pipeline description and the CPU model number for
arch13.

From-SVN: r270272
2019-04-11 07:04:03 +00:00
GCC Administrator c15ec5df62 Daily bump.
From-SVN: r270271
2019-04-11 00:16:32 +00:00
Steve Ellcey 31f06cac29 re PR rtl-optimization/87763 (aarch64 target testcases fail after r265398)
2018-04-10  Steve Ellcey  <sellcey@marvell.com>

	PR rtl-optimization/87763
	* gcc.target/aarch64/combine_bfxil.c: Change some bfxil checks
	to bfi.
	* gcc.target/aarch64/combine_bfi_2.c: New test.

From-SVN: r270267
2019-04-10 20:29:57 +00:00
Steve Ellcey 6a0d393901 re PR rtl-optimization/87763 (aarch64 target testcases fail after r265398)
2018-04-10  Steve Ellcey  <sellcey@marvell.com>

	PR rtl-optimization/87763
	* config/aarch64/aarch64-protos.h (aarch64_masks_and_shift_for_bfi_p):
	New prototype.
	* config/aarch64/aarch64.c (aarch64_masks_and_shift_for_bfi_p):
	New function.
	* config/aarch64/aarch64.md (*aarch64_bfi<GPI:mode>5_shift):
	New instruction.
	(*aarch64_bfi<GPI:mode>5_shift_alt): Ditto.
	(*aarch64_bfi<GPI:mode>4_noand): Ditto.
	(*aarch64_bfi<GPI:mode>4_noand_alt): Ditto.
	(*aarch64_bfi<GPI:mode>4_noshift): Ditto.

From-SVN: r270266
2019-04-10 20:28:19 +00:00
Jonathan Wakely 51d3c11a7c Update documentation regarding bogus memory leaks in libstdc++
* doc/xml/faq.xml: Add information about emergency EH pool.
	* doc/xml/manual/debug.xml: Update list of memory debugging tools.
	Move outdated information on mt_allocator to a separate section.
	* doc/xml/manual/evolution.xml: Clarify that GLIBCXX_FORCE_NEW
	doesn't affect the default allocator.

From-SVN: r270264
2019-04-10 20:24:04 +01:00