Commit Graph

168077 Commits

Author SHA1 Message Date
Jakub Jelinek
c280b7ee5c re PR c/89888 (When switch controlling expression is promoted from type narrower than int, GCC does not diagnose identical cases)
PR c/89888
	* c-common.h (c_add_case_label): Remove orig_type and outside_range_p
	arguments.
	(c_do_switch_warnings): Remove outside_range_p argument.
	* c-common.c (check_case_bounds): Removed.
	(c_add_case_label): Remove orig_type and outside_range_p arguments.
	Don't call check_case_bounds.  Fold low_value as well as high_value.
	* c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
	Check for case labels outside of range of original type here and
	adjust them.
c/
	* c-typeck.c (struct c_switch): Remove outside_range_p member.
	(c_start_case): Don't clear it.
	(do_case): Adjust c_add_case_label caller.
	(c_finish_case): Adjust c_do_switch_warnings caller.
cp/
	* decl.c (struct cp_switch): Remove outside_range_p member.
	(push_switch): Don't clear it.
	(pop_switch): Adjust c_do_switch_warnings caller.
	(finish_case_label): Adjust c_add_case_label caller.
testsuite/
	* c-c++-common/pr89888.c: New test.
	* g++.dg/torture/pr40335.C: Change dg-bogus into dg-warning.
	Don't expect -Wswitch-unreachable warning.

From-SVN: r270455
2019-04-19 13:56:07 +02:00
Christophe Lyon
4180490732 PR translation/90118 Missing space between words
2019-04-19  Christophe Lyon  <christophe.lyon@linaro.org>

	PR translation/90118

	contrib/
	* check-internal-format-escaping.py: Check that %< is not next to
	a word.

	gcc/
	* config/aarch64/aarch64.c (aarch64_override_options_internal):
	Add missing space before %<.

From-SVN: r270454
2019-04-19 11:08:49 +02:00
Jakub Jelinek
e7178413f4 re PR c++/90108 (ICE: Segmentation fault (in c_tree_chain_next))
PR c++/90108
	* c-decl.c (merge_decls): If remove is main variant and
	DECL_ORIGINAL_TYPE is some other type, remove a DECL_ORIGINAL_TYPE
	variant that has newdecl as TYPE_NAME if any.

	* decl.c (duplicate_decls): If remove is main variant and
	DECL_ORIGINAL_TYPE is some other type, remove a DECL_ORIGINAL_TYPE
	variant that has newdecl as TYPE_NAME if any.

	* c-c++-common/pr90108.c: New test.

From-SVN: r270453
2019-04-19 10:24:05 +02:00
GCC Administrator
1ad6b21051 Daily bump.
From-SVN: r270451
2019-04-19 00:16:19 +00:00
Peter Bergner
8503f963b0 re PR rtl-optimization/87871 (testcases fail after r265398 on arm)
PR rtl-optimization/87871
	* ira-lives.c (make_object_dead): Don't add conflicts to
	TOTAL_CONFLICT_HARD_REGS for register ignore_reg_for_conflicts.

From-SVN: r270448
2019-04-18 17:14:17 -05:00
Martin Sebor
6c76c0e408 PR middle-end/89797 - ICE on a vector_size (1LU << 33) int variable
gcc/ChangeLog:
	* tree.h (TYPE_VECTOR_SUBPARTS): Use HOST_WIDE_INT_1U.
	* config/aarch64/aarch64.c (aarch64_simd_vector_alignment): Avoid
	assuming type size fits in SHWI.

From-SVN: r270447
2019-04-18 14:26:07 -06:00
Jan Hubicka
f6e809c849 re PR ipa/85051 (ICE: in edge_badness, at ipa-inline.c:1035 with flattening recursive calls)
PR ipa/85051
	* ipa-inline.c (flatten_function): New parameter UPDATE.
	(ipa_inline, early_inliner): Use it.

From-SVN: r270446
2019-04-18 17:03:00 +00:00
Jason Merrill
7f0964e6f1 PR c++/87554 - ICE with extern template and reference member.
The removed code ended up setting DECL_INITIAL to the INIT_EXPR returned by
split_nonconstant_init, which makes no sense.  This code was added back in
1996, so any rationale is long lost.

	* decl.c (cp_finish_decl): Don't set DECL_INITIAL of external vars.

From-SVN: r270445
2019-04-18 12:50:10 -04:00
Segher Boessenkool
5f864b980a move ChangeLog entry to the correct file
From-SVN: r270444
2019-04-18 15:38:55 +02:00
Richard Sandiford
714996e2c2 Fix UB in int_const_binop
When testing PR 85164, the baseline bootstrap-ubsan results had
a lot of failures from int_const_binop.  This is because with the
new overflow handling we can sometimes do:

      poly_res = res;

on an uninitialised res.

2019-04-18  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* fold-const.c (int_const_binop): Return early on failure.

From-SVN: r270443
2019-04-18 12:30:36 +00:00
Richard Sandiford
cd7f7c54a4 Fix two ubsan failures (PR85164)
Two fixes for UB when handling very large offsets.  The calculation in
force_int_to_mode would have been correct if signed integers used modulo
arithmetic, so just switch to unsigned types.  The calculation in
rtx_addr_can_trap_p_1 didn't handle overflow properly, so switch to
known_subrange_p instead (which is supposed to handle all cases).

2019-04-18  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	PR middle-end/85164
	* combine.c (force_int_to_mode): Cast the argument rather than
	the result of known_alignment.
	* rtlanal.c (rtx_addr_can_trap_p_1): Use known_subrange_p.

gcc/testsuite/
	PR middle-end/85164
	* gcc.dg/pr85164-1.c, gcc.dg/pr85164-2.c: New tests.

From-SVN: r270442
2019-04-18 12:29:56 +00:00
Richard Biener
e62817edae re PR debug/90131 (wrong debug info at -O3)
2019-04-18  Richard Biener  <rguenther@suse.de>

	PR debug/90131
	* tree-cfgcleanup.c (move_debug_stmts_from_forwarder): Split
	out from ...
	(remove_forwarder_block): ... here.
	(remove_forwarder_block_with_phi): Also move debug stmts here.

	* gcc.dg/guality/pr90131.c: New testcase.

From-SVN: r270441
2019-04-18 12:02:40 +00:00
Jakub Jelinek
9574af76fa Reverted unintended part of previous commit.
From-SVN: r270439
2019-04-18 12:34:06 +02:00
Jakub Jelinek
ff146a59dd re PR translation/79183 (Hard coded plurals in gimple-ssa-sprintf.c:2050)
PR translation/79183
	* gimple-ssa-sprintf.c (format_directive): Use inform_n instead of
	inform where appropriate.

From-SVN: r270438
2019-04-18 12:28:21 +02:00
Richard Biener
1b73c7ef7c tree.c (get_qualified_type): Put found type variants at the head of the variant list.
2019-04-18  Richard Biener  <rguenther@suse.de>

	* tree.c (get_qualified_type): Put found type variants at the
	head of the variant list.

From-SVN: r270437
2019-04-18 07:40:35 +00:00
Iain Sandoe
3d52462c8c MAINTAINERS: Update email address
2019-04-18  Iain Sandoe  <iain@sandoe.co.uk>

	* MAINTAINERS: Update my email address.

From-SVN: r270436
2019-04-18 07:40:08 +00:00
Erik Schnetter
8e6759aafd re PR bootstrap/89864 (gcc fails to build/bootstrap with XCode 10.2)
fix PR89864

      2019-04-18  Erik Schnetter  <schnetter@gmail.com>
	  Jakub Jelinek  <jakub@redhat.com>
	  Iain Sandoe  <iain@sandoe.co.uk>

	PR bootstrap/89864
	* inclhack.def (darwin_ucred__Atomic): New, work around _Atomic keyword
	use in headers included by C++.
	* fixincl.x: Regenerated.


Co-Authored-By: Iain Sandoe <iain@sandoe.co.uk>
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r270435
2019-04-18 06:53:21 +00:00
Ian Lance Taylor
5c727cf625 re PR go/90110 (libgo fails to build against glibc 2.19)
PR go/90110
    compiler: use temporary to avoid early destruction
    
    The code was passing a substr directly to strtol, and then checking
    the *end value returned by strtol.  But the substr could be destroyed
    as soon as strtol returns, making the test of *end invalid.
    
    Also fix an incorrect test of the string index rather than the value.
    
    Fixes https://gcc.gnu.org/PR90110
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/172663

From-SVN: r270434
2019-04-18 04:11:22 +00:00
Jason Merrill
5a58e967b5 PR c++/90047 - ICE with enable_if alias template.
In order to make alias templates useful for SFINAE we instantiate them under
the prevailing 'complain' argument, so an error encountered while
instantiating during SFINAE context is silent.  The problem in this PR comes
when we later look up the erroneous instantiation and don't give an error at
that point.  Fixed by not adding an erroneous instantiation to the hash
table, so we instantiate it again when needed and get the error.  This
required changes to a number of tests, which previously said "substitution
failed:" with no explanation of what the failure was; now we properly
explain.

	* pt.c (tsubst_decl) [TYPE_DECL]: Don't put an erroneous decl in the
	hash table when we're in SFINAE context.

From-SVN: r270433
2019-04-17 23:32:24 -04:00
GCC Administrator
19caab83ca Daily bump.
From-SVN: r270430
2019-04-18 00:16:20 +00:00
Jonathan Wakely
8c7100650e PR libstdc++/90105 make forward_list::sort stable
While testing the fix I also discovered that operator== assumes the
elements are comparable with operator!= which is not required.

	PR libstdc++/90105
	* include/bits/forward_list.h (operator==): Do not use operator!= to
	compare elements.
	(forward_list<T, A>::sort(Comp)): When elements are equal take the one
	earlier in the list, so that sort is stable.
	* testsuite/23_containers/forward_list/operations/90105.cc: New test.
	* testsuite/23_containers/forward_list/comparable.cc: Test with
	types that meet the minimum EqualityComparable and LessThanComparable
	requirements. Remove irrelevant comment.

From-SVN: r270427
2019-04-17 22:47:20 +01:00
Segher Boessenkool
2ad37a09fa rs6000: Remove a comma in a debug string
It is a bit confusing, it looks as if the compiler tried to print
something there.


	* config/rs6000/rs6000.c (rs6000_register_move_cost): Fix typo.

From-SVN: r270426
2019-04-17 23:11:00 +02:00
Jonathan Wakely
5f00d0d5c2 Fix condition for std::variant to be copy constructible
The standard says the std::variant copy constructor is defined as
deleted unless all alternative types are copy constructible, but we were
making it also depend on move constructible. Fix the condition and
enhance the tests to check the semantics with pathological copy-only
types (i.e. supporting copying but having deleted moves).

The enhanced tests revealed a regression in copy assignment for
non-trivial alternative types, where the assignment would not be
performed because the condition in the _Copy_assign_base visitor is
false: is_same_v<remove_reference_t<T&>, remove_reference_t<const T&>>.

	* include/std/variant (__detail::__variant::_Traits::_S_copy_assign):
	Do not depend on whether all alternative types are move constructible.
	(__detail::__variant::_Copy_assign_base::operator=): Remove cv-quals
	from the operand when deciding whether to perform the assignment.
	* testsuite/20_util/variant/compile.cc (DeletedMoves): Define type
	with deleted move constructor and deleted move assignment operator.
	(default_ctor, copy_ctor, move_ctor, copy_assign, move_assign): Check
	behaviour of variants with DeletedMoves as an alternative.
	* testsuite/20_util/variant/run.cc (DeletedMoves): Define same type.
	(move_ctor, move_assign): Check that moving a variant with a
	DeletedMoves alternative falls back to copying instead of moving.

From-SVN: r270425
2019-04-17 20:27:27 +01:00
Jonathan Wakely
990666d05a Remove unnecessary string literals from static_assert in C++17 tests
The string literal is optional in C++17 and all these are empty so add
no value.

	* testsuite/20_util/variant/compile.cc: Remove empty string literals
	from static_assert declarations.

From-SVN: r270424
2019-04-17 20:27:23 +01:00
Jonathan Wakely
9d3e662d29 Fix tests for std::variant to match original intention
* testsuite/20_util/variant/compile.cc (MoveCtorOnly): Fix type to
	actually match its name.
	(MoveCtorAndSwapOnly): Define new type that adds swap to MoveCtorOnly.
	(test_swap()): Fix result for MoveCtorOnly and check
	MoveCtorAndSwapOnly.

From-SVN: r270423
2019-04-17 20:27:19 +01:00
Jakub Jelinek
747742f6f3 re PR c++/89325 (False warnings about "optimization attribute" on operators when -fno-ipa-cp-clone)
PR c++/89325
	* g++.dg/ext/attrib58.C: New test.
	* g++.dg/ext/attrib59.C: New test.
	* g++.dg/ext/attrib60.C: New test.

From-SVN: r270422
2019-04-17 21:24:55 +02:00
Jakub Jelinek
aadd9a6e26 re PR target/90125 (Typo of AVX512 intrinsics)
PR target/90125
	* config/i386/avx512fintrin.h (_mm_maskz_fmadd_round_sd,
	_mm_maskz_fmadd_round_ss, _mm_maskz_fmsub_round_sd,
	_mm_maskz_fmsub_round_ss, _mm_maskz_fnmadd_round_sd,
	_mm_maskz_fnmadd_round_ss, _mm_maskz_fnmsub_round_sd,
	_mm_maskz_fnmsub_round_ss): Use _maskz builtin instead of _mask3.

	PR target/90125
	* gcc.target/i386/avx512f-vfmsubXXXss-2.c (avx512f_test): Adjust
	constants to ensure precise result even when not using fma.
	* gcc.target/i386/avx512f-vfnmaddXXXss-2.c (avx512f_test): Likewise.
	* gcc.target/i386/avx512f-vfmaddXXXsd-3.c: New test.
	* gcc.target/i386/avx512f-vfmaddXXXss-3.c: New test.
	* gcc.target/i386/avx512f-vfmsubXXXsd-3.c: New test.
	* gcc.target/i386/avx512f-vfmsubXXXss-3.c: New test.
	* gcc.target/i386/avx512f-vfnmaddXXXsd-3.c: New test.
	* gcc.target/i386/avx512f-vfnmaddXXXss-3.c: New test.
	* gcc.target/i386/avx512f-vfnmsubXXXsd-3.c: New test.
	* gcc.target/i386/avx512f-vfnmsubXXXss-3.c: New test.

From-SVN: r270421
2019-04-17 21:23:45 +02:00
Peter Bergner
38de8b39ef ira-conflicts.c (print_allocno_conflicts): Always print something, even for allocno's with no conflicts.
gcc/
	* ira-conflicts.c (print_allocno_conflicts): Always print something,
	even for allocno's with no conflicts.
	(print_conflicts): Print an extra newline.

From-SVN: r270420
2019-04-17 14:22:15 -05:00
Segher Boessenkool
46786144dd auto-inc-dec: Set alignment properly
When auto-inc-dec creates a new mem to compute the cost of doing some
transform, it forgets to copy over the alignment of the original mem.
This gives wrong costs, for example, for rs6000 a floating point load
or store is hugely expensive if unaligned.  This patch fixes it.


	* auto-inc-dec.c (attempt_change): Set the alignment of the
	temporary memory to that of the original.

From-SVN: r270419
2019-04-17 20:49:50 +02:00
Marek Polacek
f64e89775f PR c++/90124 - bogus error with incomplete type in decltype.
* typeck.c (build_class_member_access_expr): Check
	cp_unevaluated_operand.

	* g++.dg/cpp0x/decltype70.C: New test.

From-SVN: r270418
2019-04-17 18:26:42 +00:00
Joao Moreira
62a64d0af1 targhooks.c (default_print_patchable_function_entry): Emit __patchable_function_entries section with writable flags to allow...
* targhooks.c (default_print_patchable_function_entry): Emit
	__patchable_function_entries section with writable flags to allow
	relocation resolution.

From-SVN: r270417
2019-04-17 12:24:23 -06:00
Jonny Grant
e050689bb8 * collect2.c (main): Change gcc.gnu.org URL to HTTPS.
From-SVN: r270416
2019-04-17 12:11:06 -06:00
Jakub Jelinek
ec60715d39 dg-extract-results.sh: Only handle WARNING: program timed out lines specially in "$MODE" == "sum".
* dg-extract-results.sh: Only handle WARNING: program timed out
	lines specially in "$MODE" == "sum".  Restore previous behavior
	for "$MODE" != "sum".  Clear has_timeout and timeout_cnt if in
	a different variant or curfile is empty.
	* dg-extract-results.py: Fix a typo.

From-SVN: r270415
2019-04-17 19:57:02 +02:00
Jakub Jelinek
0764a0d275 re PR middle-end/90095 (wrong code with -Os -fno-tree-bit-ccp)
PR middle-end/90095
	* internal-fn.c (expand_mul_overflow): Don't set SUBREG_PROMOTED_VAR_P
	on lowpart SUBREGs.

	* gcc.dg/pr90095-1.c: New test.
	* gcc.dg/pr90095-2.c: New test.

From-SVN: r270410
2019-04-17 15:28:39 +02:00
Jonathan Wakely
02c9b9ccff Add constexpr to std::optional::value_or(U&&)&&
In C++1z drafts up to N4606 the constexpr keyword was missing from the
detailed description of this function, despite being shown in the class
synopsis.  That was fixed editorially for N4618, but our implementation
was not corrected to match.

	* include/std/optional (optional::value_or(U&&) &&): Add missing
	constexpr specifier.
	* testsuite/20_util/optional/constexpr/observers/4.cc: Check value_or
	for disengaged optionals and rvalue optionals.
	* testsuite/20_util/optional/observers/4.cc: Likewise.

From-SVN: r270409
2019-04-17 14:13:30 +01:00
Claudiu Zissulescu
2fa9c1f65f [ARC][COMMITTED] Fix diagnostic messages.
Apply upper/dot rule on diagnostic messages.

gcc/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.c (arc_init): Format diagnostic string.
	(arc_override_options): Likewise.
	(check_if_valid_regno_const): Likewise.
	(arc_reorg): Likewise.

From-SVN: r270408
2019-04-17 13:09:59 +02:00
Segher Boessenkool
61943f94a0 rs6000: Improve the load/store-with-update patterns (PR17108)
Many of these patterns only worked in 32-bit mode, and some only worked
in 64-bit mode.  This patch makes these use Pmode, fixing the PR.  On
the other hand, the stack updates have to use the same mode for the
stack pointer as for the value stored, so let's simplify that a bit.

Many of these patterns pass the wrong mode to
avoiding_indexed_address_p (it should be the mode of the datum
accessed, not the mode of the pointer).

Finally, I merge some patterns into one (using iterators).


	PR target/17108
	* config/rs6000/rs6000.c (rs6000_split_multireg_move): Adjust pattern
	name.
	(rs6000_emit_allocate_stack_1): Simplify condition.  Adjust pattern
	name.
	* config/rs6000/rs6000.md (bits): Add entries for SF and DF.
	(*movdi_update1): Use Pmode.
	(movdi_<mode>_update): Fix argument to avoiding_indexed_address_p.
	(movdi_<mode>_update_stack): Rename to ...
	(movdi_update_stack): ... this.  Fix comment.  Change condition. Don't
	use Pmode.
	(*movsi_update1): Use Pmode.
	(*movsi_update2): Use Pmode.
	(movsi_update): Rename to ...
	(movsi_<mode>_update): ... this.  Use Pmode.
	(movsi_update_stack): Fix condition.
	(*movhi_update1): Use Pmode.  Fix argument to
	avoiding_indexed_address_p.
	(*movhi_update2): Ditto.
	(*movhi_update3): Ditto.
	(*movhi_update4): Ditto.
	(*movqi_update1): Ditto.
	(*movqi_update2): Ditto.
	(*movqi_update3): Ditto.
	(*movsf_update1, *movdf_update1): Merge, rename to...
	(*mov<mode>_update1): This.  Use Pmode.  Fix argument to
	avoiding_indexed_address_p.  Add "size" attribute.
	(*movsf_update2, *movdf_update2): Merge, rename to...
	(*mov<mode>_update2): This.  Ditto.
	(*movsf_update3): Use Pmode.  Fix argument to
	avoiding_indexed_address_p.
	(*movsf_update4): Ditto.
	(allocate_stack): Simplify condition.  Adjust pattern names.

From-SVN: r270407
2019-04-17 11:45:57 +02:00
Thomas Schwinge
b39c686b82 [PR90048] Fortran OpenACC 'private' clause rejected for predetermined private loop iteration variable
gcc/fortran/
	PR fortran/90048
	* openmp.c (gfc_resolve_do_iterator): Handle sharing_clauses for
	OpenACC, too.
	(gfc_resolve_oacc_blocks): Populate sharing_clauses with private
	clauses.
	gcc/testsuite/
	PR fortran/90048
	* gfortran.dg/goacc/private-explicit-kernels-1.f95: New file.
	* gfortran.dg/goacc/private-explicit-parallel-1.f95: Likewise.
	* gfortran.dg/goacc/private-explicit-routine-1.f95: Likewise.

From-SVN: r270406
2019-04-17 10:34:20 +02:00
Thomas Schwinge
0401768510 [PR90067, PR90114] Document Fortran OpenACC predetermined private status quo
gcc/testsuite/
	PR fortran/90067
	PR fortran/90114
	* gfortran.dg/goacc/private-1.f95: Remove file.
	* gfortran.dg/goacc/private-2.f95: Likewise.
	* gfortran.dg/goacc/private-predetermined-kernels-1.f95: New file.
	* gfortran.dg/goacc/private-predetermined-parallel-1.f95:
	Likewise.
	* gfortran.dg/goacc/private-predetermined-routine-1.f95: Likewise.

From-SVN: r270405
2019-04-17 10:34:10 +02:00
Jakub Jelinek
fc2b685884 re PR target/89093 (C++ exception handling clobbers d8 VFP register)
PR target/89093
	* config/arm/arm.c (arm_valid_target_attribute_rec): Don't skip
	whitespace at the start of target attribute string.

	* gcc.target/arm/pr89093-2.c: New test.

From-SVN: r270404
2019-04-17 10:30:44 +02:00
Iain Buclaw
347ef24548 d: Fix the build on hosts missing _MAX and _MAX macros.
gcc/d/ChangeLog:

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

	* d-system.h (POSIX): Define unix as POSIX.
	(INT32_MAX, INT32_MIN, INT64_MIN, UINT32_MAX, UINT64_MAX): Provide
	fallback definitions.

From-SVN: r270403
2019-04-17 06:02:01 +00:00
GCC Administrator
1b02929ad0 Daily bump.
From-SVN: r270401
2019-04-17 00:16:11 +00:00
Iain Buclaw
460ad044bc d: Use build_exeext suffix for D generator programs.
Updated build and invocation of idgen and impcnvgen, ensuring that they
are removed when cleaning the build directory.

Added BUILD_LIBDEPS on the link command for the generator programs as
well, which is necessary when the system installed compiler is not GCC.

gcc/d/ChangeLog:

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

	* Make-lang.in (d.mostyclean): Clean idgen and impcnvgen.
	(d/idgen): Rename to d/idgen$(build_exeext), add BUILD_LIBDEPS.
	(d/impcnvgen): Rename to d/impcnvgen$(build_exeext), add
	BUILD_LIBDEPS.
	(d/id.c): Call idgen$(build_exeext).
	(d/impcnvtab.c): Call impcnvgen$(build_exeext).

From-SVN: r270397
2019-04-16 21:16:43 +00:00
Jakub Jelinek
0382a41d63 re PR c++/86953 (compiler crashes with constexpr operator== and specific struct (cxx_eval_bit_field_ref, at cp/constexpr.c:2704))
PR c++/86953
	* g++.dg/cpp0x/constexpr-86953.C: New test.

From-SVN: r270396
2019-04-16 21:06:41 +02:00
Pat Haugen
590df85d1c re PR target/84369 (test case gcc.dg/sms-10.c fails on power9)
PR target/84369
	* config/rs6000/power9.md: Add store forwarding bypass.

From-SVN: r270394
2019-04-16 15:58:02 +00:00
Martin Liska
ee06f6463a Filter out LTO in config/bootstrap-lto-lean.mk.
2019-04-16  Martin Liska  <mliska@suse.cz>

	* bootstrap-lto-lean.mk: Filter out -flto in STAGEtrain_CFLAGS.

From-SVN: r270393
2019-04-16 15:24:53 +00:00
Dominique d'Humieres
ef9387d8fe pr89358_0.C: Replace dg-* with dg-lto-*.
2019-04-16  Dominique d'Humieres  <dominiq@gcc.gnu.org>

	* g++.dg/lto/pr89358_0.C: Replace dg-* with dg-lto-*.

From-SVN: r270390
2019-04-16 15:24:58 +02:00
Alexandre Oliva
2689fcc80e [PR89528] reset debug uses of return value when dropping dead RTL call
When we remove an RTL call, we wouldn't clean up references to the
return value of the call in debug insns.  Make it so that we do.


for  gcc/ChangeLog

	PR debug/89528
	* valtrack.c (dead_debug_insert_temp): Reset debug references
	to the return value of a call being removed.

for  gcc/testsuite/ChangeLog

	PR debug/89528
	* gcc.dg/guality/pr89528.c: New.

From-SVN: r270389
2019-04-16 12:44:57 +00:00
Alexandre Oliva
1ce6a0f5b0 [PR86438] avoid too-long shift in test
The test fell back to long long and long when __int128 is not
available, but it assumed sizeof(long) < sizeof(long long) because of
a shift count that would be out of range for a long long if their
widths are the same.  Fixed by splitting it up into two shifts.


for  gcc/testsuite/ChangeLog

	PR rtl-optimization/86438
	* gcc.dg/torture/pr86438.c: Split up too-wide shift.

From-SVN: r270388
2019-04-16 12:44:46 +00:00
Claudiu Zissulescu
b9bc3b128c [ARC] Refactor deprecated macros.
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc-protos.h (arc_register_move_cost): Remove.
	* config/arc/arc.c (arc_register_move_cost): Re-purpose it to
	implement target hook.
	(arc_memory_move_cost): New function.
	(TARGET_REGISTER_MOVE_COST): Define.
	(TARGET_MEMORY_MOVE_COST): Likewise.
	* config/arc/arc.h (REGISTER_MOVE_COST): Remove.
	(MEMORY_MOVE_COST): Likewise.

fix

From-SVN: r270387
2019-04-16 12:21:15 +02:00