Commit Graph

191609 Commits

Author SHA1 Message Date
Richard Biener 24c72fb0ee Adjust LSHIFT_EXPR handling of multiple_of_p
This removes the odd check of size_type_node when handling left-shifts
as multiplications of 1 << N and instead uses the type as specified.
It also moves left-shift handling next to multiplications where it
semantically belongs.

2022-01-24  Richard Biener  <rguenther@suse.de>

	* fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
	handling.
2022-02-04 12:54:35 +01:00
Eric Botcazou 38948b77db Empty the base_types vector before (re)populating it
Otherwise Bad Things happen when it is populated several times.

gcc/
	PR debug/104366
	* dwarf2out.cc (dwarf2out_finish): Empty base_types.
	(dwarf2out_early_finish): Likewise.
2022-02-04 12:10:05 +01:00
Eric Botcazou bd14cdceb9 Disable new 1/X optimization with -fnon-call-exceptions
The trapping behavior of the operation needs to be preserved when the
-fnon-call-exceptions switch is in effect.  This also adds the same
guards to similar optimizations.

gcc/
	PR tree-optimization/104356
	* match.pd (X / bool_range_Y is X): Add guard.
	(X / X is one): Likewise.
	(X / abs (X) is X < 0 ? -1 : 1): Likewise.
	(X / -X is -1): Likewise.
	(1 / X -> X == 1): Likewise.
2022-02-04 12:10:05 +01:00
Richard Biener 876e70d468 tree-optimization/103641 - improve vect_synth_mult_by_constant
The following happens to improve compile-time of the PR103641
testcase on aarch64 significantly.  I did not investigate the
effect on the generated code but at least in theory
choose_mult_variant should do a better job when we tell it
the actual mode we are going to use for the operations it
synthesizes.

2022-02-04  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/103641
	* tree-vect-patterns.cc (vect_synth_mult_by_constant):
	Pass the vector mode to choose_mult_variant.
2022-02-04 11:30:11 +01:00
Roger Sayle 49365d511a [PATCH] PR rtl-optimization/101885: Prevent combine from clobbering flags
This patch addresses PR rtl-optimization/101885 which is a P2 wrong code
regression.  In combine, if the resulting fused instruction is a parallel
of two sets which fails to be recognized by the backend, combine tries to
emit these as two sequential set instructions (known as split_i2i3).
As each set is recognized the backend may add any necessary "clobbers".
The code currently checks that any clobbers added to the first "set"
don't interfere with the second set, but doesn't currently handle the
case that clobbers added to the second set may interfere/kill the
destination of the first set (which must be live at this point).
The solution is to cut'n'paste the "clobber" logic from just a few
lines earlier, suitably adjusted for the second instruction.

One minor nit that may confuse a reviewer is that at this point in
the code we've lost track of which set was first and which was second
(combine chooses dynamically, and the recog processes that adds the
clobbers may have obfuscated the original SET_DEST) so the actual test
below is to confirm that any newly added clobbers (on the second set
instruction) don't overlap either set0's or set1's destination.

2022-02-04  Roger Sayle  <roger@nextmovesoftware.com>

gcc/ChangeLog
	PR rtl-optimization/101885
	* combine.cc (try_combine): When splitting a parallel into two
	sequential sets, check not only that the first doesn't clobber
	the second but also that the second doesn't clobber the first.

gcc/testsuite/ChangeLog
	PR rtl-optimization/101885
	* gcc.dg/pr101885.c: New test case.
2022-02-04 09:38:02 +00:00
Richard Sandiford 5b6370295d aarch64: Add test for PR104092
gcc/testsuite/
	PR middle-end/104092
	* gcc.target/aarch64/sve/acle/general/pr104092.c: New test.
2022-02-04 08:08:59 +00:00
Richard Biener 551aa75778 Add CLOBBER_EOL to mark storage end-of-life clobbers
This adds a flag to CONSTRUCTOR nodes indicating that for
clobbers this marks the end-of-life of storage as opposed to
just ending the lifetime of the object that occupied it.
The dangling pointer diagnostics uses CLOBBERs but is confused
by those emitted by the C++ frontend for example which emits
them for the second purpose at the start of CTORs.  The issue
is also appearant for aarch64 in PR104092.

Distinguishing the two cases is also necessary for the PR90348 fix.

Since I'm going to add another flag I added an enum clobber_flags
and a defaulted argument to build_clobber plus a convenient way to
query the enum from the CTOR tree and specify it for gimple_clobber_p.
Since 'CLOBBER' is already taken and I needed a name for the unspecified
clobber we have now I used 'CLOBBER_UNDEF'.

2022-02-03  Richard Biener  <rguenther@suse.de>

	PR middle-end/90348
	PR middle-end/104092
gcc/
	* tree-core.h (clobber_kind): New enum.
	(tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
	* tree.h (CLOBBER_KIND): Add.
	(build_clobber): Add clobber kind argument, defaulted to
	CLOBBER_UNDEF.
	* tree.cc (build_clobber): Likewise.
	* gimple.h (gimple_clobber_p): New overload with specified kind.
	* tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
	CLOBBER_KIND.
	* tree-streamer-out.cc (streamer_write_tree_bitfields):
	Likewise.
	* tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
	* gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
	with CLOBBER_EOL.
	(gimplify_target_expr): Likewise.
	* tree-inline.cc (expand_call_inline): Likewise.
	* tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
	* gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
	CLOBBER_EOL clobbers as ending lifetime of storage.

gcc/lto/
	* lto-common.cc (compare_tree_sccs_1): Compare CLOBBER_KIND.

gcc/testsuite/
	* gcc.dg/pr87052.c: Adjust.
2022-02-04 08:16:50 +01:00
Martin Sebor e78d98f76f Use auto_vec for pointer_query cache for auto cleanup.
gcc/Changelog:

	* pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
	cleanup.
2022-02-03 19:47:04 -07:00
GCC Administrator 682ede3959 Daily bump. 2022-02-04 00:16:24 +00:00
Patrick Palka 82e31c8973 c++: dependence of member noexcept-spec [PR104079]
Here a stale TYPE_DEPENDENT_P/_P_VALID value for f's function type
after replacing the type's DEFERRED_NOEXCEPT with the parsed dependent
noexcept-spec causes us to try to instantiate g's noexcept-spec ahead
of time (since it in turn appears non-dependent), leading to an ICE.

This patch fixes this by clearing TYPE_DEPENDENT_P_VALID in
fixup_deferred_exception_variants appropriately (as in
build_cp_fntype_variant).

That turns out to fix the testcase for C++17 but not for C++11/14,
because it's not until C++17 that a noexcept-spec is part of (and
therefore affects dependence of) the function type.  Since dependence of
NOEXCEPT_EXPR is defined in terms of instantiation dependence, the most
appropriate fix for earlier dialects seems to be to make instantiation
dependence consider dependence of a noexcept-spec.

	PR c++/104079

gcc/cp/ChangeLog:

	* pt.cc (value_dependent_noexcept_spec_p): New predicate split
	out from ...
	(dependent_type_p_r): ... here.
	(instantiation_dependent_r): Use value_dependent_noexcept_spec_p
	to consider dependence of a noexcept-spec before C++17.
	* tree.cc (fixup_deferred_exception_variants): Clear
	TYPE_DEPENDENT_P_VALID.

gcc/testsuite/ChangeLog:

	* g++.dg/cpp0x/noexcept74.C: New test.
	* g++.dg/cpp0x/noexcept74a.C: New test.
2022-02-03 18:54:23 -05:00
David Malcolm 3ef328c293 analyzer: fixes to realloc-handling [PR104369]
This patch fixes various issues with how -fanalyzer handles "realloc"
seen when debugging PR analyzer/104369.

Previously it wasn't correctly copying over the contents of the old
buffer for the success-with-move case, leading to false
-Wanalyzer-use-of-uninitialized-value diagnostics.

I also noticed that -fanalyzer failed to properly handle "realloc" for
cases where the ptr's region had unknown dynamic extents, and an ICE
for the case where a tainted value is used as a realloc size argument.

This patch fixes these issues, including the false uninit diagnostics
seen in PR analyzer/104369.

gcc/analyzer/ChangeLog:
	PR analyzer/104369
	* engine.cc (exploded_graph::process_node): Use the node for any
	diagnostics, avoiding ICE if a bifurcation update adds a
	saved_diagnostic, such as for a tainted realloc size.
	* region-model-impl-calls.cc
	(region_model::impl_call_realloc::success_no_move::update_model):
	Require the old pointer to be non-NULL to be able successfully
	grow in place.  Use model->deref_rvalue rather than maybe_get_region
	to support the old pointer being symbolic.
	(region_model::impl_call_realloc::success_with_move::update_model):
	Likewise.  Add a constraint that the new pointer != the old pointer.
	Use a sized_region when setting the value of the new region.
	Handle the case where we don't know the dynamic size of the old
	region by marking the new region as unknown.
	* sm-taint.cc (tainted_allocation_size::tainted_allocation_size):
	Update assertion to also allow for MEMSPACE_UNKNOWN.
	(tainted_allocation_size::emit): Likewise.
	(region_model::check_dynamic_size_for_taint): Likewise.

gcc/testsuite/ChangeLog:
	PR analyzer/104369
	* gcc.dg/analyzer/pr104369-1.c: New test.
	* gcc.dg/analyzer/pr104369-2.c: New test.
	* gcc.dg/analyzer/realloc-3.c: New test.
	* gcc.dg/analyzer/realloc-4.c: New test.
	* gcc.dg/analyzer/taint-realloc.c: New test.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
2022-02-03 17:46:41 -05:00
David Malcolm 23b2cb628e analyzer: fix zero-fill of calloc
It turned out that the analyzer wasn't treating calloc regions
as zero-filled, due to binding_cluster::fill_region getting an
unknown value for the byte_size_size_sval, and thus
get_or_create_repeated_svalue returning an unknown_svalue, which
was then used to fill the region.

Fixed thusly.

gcc/analyzer/ChangeLog:
	* region-model-impl-calls.cc (region_model::impl_call_calloc): Use
	a sized_region when calling zero_fill_region.

gcc/testsuite/ChangeLog:
	* gcc.dg/analyzer/calloc-1.c: New test.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
2022-02-03 17:45:47 -05:00
Martin Sebor 5a668ec033 Adjust warn_access pass placement [PR104260].
Resolves:
PR middle-end/104260 - Misplaced waccess3 pass

gcc/ChangeLog:

	PR middle-end/104260
	* passes.def (pass_warn_access): Adjust pass placement.
2022-02-03 14:53:15 -07:00
Uros Bizjak 599122fa69 i386: Do not use %ecx DRAP for functions that use __builtin_eh_return [PR104362]
%ecx can't be used for both DRAP register and eh_return.  Adjust find_drap_reg
to choose %edi for functions that uses __builtin_eh_return to avoid the assert
in ix86_expand_epilogue that enforces this rule.

2022-02-03  Uroš Bizjak  <ubizjak@gmail.com>

gcc/ChangeLog:

	PR target/104362
	* config/i386/i386.cc (find_drap_reg): For 32bit targets
	return DI_REG if function uses __builtin_eh_return.

gcc/testsuite/ChangeLog:

	PR target/104362
	* gcc.target/i386/pr104362.c: New test.
2022-02-03 22:25:21 +01:00
Martin Sebor 30d15b512e Enable pointer_query caching in -Wrestrict.
gcc/ChangeLog:

	* gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
	(pass_wrestrict::m_ptr_qry): New member.
	(wrestrict_walk): Rename...
	(pass_wrestrict::check_block): ...to this.
	(pass_wrestrict::execute): Set up and tear down pointer_query and
	ranger.
	(builtin_memref::builtin_memref): Change ctor argument.  Simplify.
	(builtin_access::builtin_access): Same.
	(builtin_access::m_ptr_qry): New member.
	(check_call): Rename...
	(pass_wrestrict::check_call): ...to this.
	(check_bounds_or_overlap): Change argument.
	* gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
2022-02-03 13:59:39 -07:00
Martin Sebor a62b740d7b Enable pointer_query caching in -Warray-bounds.
gcc/ChangeLog:

	* gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
	Define ctor.
	(array_bounds_checker::get_value_range): Use new member.
	(array_bounds_checker::check_mem_ref): Same.
	* gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
	Outline ctor.
	(array_bounds_checker::m_ptr_query): New member.
2022-02-03 13:58:28 -07:00
Martin Sebor 68e9b7b69a Make pointer_query cache a private member.
gcc/ChangeLog:

	* gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
	pointer_query cache.
	* pointer-query.cc (pointer_query::pointer_query): Remove cache
	argument.  Zero-initialize new cache member.
	(pointer_query::get_ref): Replace cache pointer with direct access.
	(pointer_query::put_ref): Same.
	(pointer_query::flush_cache): Same.
	(pointer_query::dump): Same.
	* pointer-query.h (class pointer_query): Remove cache argument from
	ctor.  Change cache pointer to cache subobject member.
	* tree-ssa-strlen.cc: Remove pointer_query cache.
2022-02-03 13:56:50 -07:00
Martin Sebor 3c9f762ad0 Constrain conservative string lengths to array sizes [PR104119].
Resolves:
PR tree-optimization/104119 - unexpected -Wformat-overflow after strlen in ILP32 since Ranger integration

gcc/ChangeLog:

	PR tree-optimization/104119
	* gimple-ssa-sprintf.cc (struct directive): Change argument type.
	(format_none): Same.
	(format_percent): Same.
	(format_integer): Same.
	(format_floating): Same.
	(get_string_length): Same.
	(format_character): Same.
	(format_string): Same.
	(format_plain): Same.
	(format_directive): Same.
	(compute_format_length): Same.
	(handle_printf_call): Same.
	* tree-ssa-strlen.cc (get_range_strlen_dynamic): Same.   Call
	get_maxbound.
	(get_range_strlen_phi): Same.
	(get_maxbound): New function.
	(strlen_pass::get_len_or_size): Adjust to parameter change.
	* tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.

gcc/testsuite/ChangeLog:

	PR tree-optimization/104119
	* gcc.dg/tree-ssa/builtin-snprintf-13.c: New test.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-29.c: New test.
2022-02-03 13:27:16 -07:00
Harald Anlauf 4e4252db03 Fortran: reject simplifying TRANSFER for MOLD with storage size 0
gcc/fortran/ChangeLog:

	PR fortran/104311
	* check.cc (gfc_calculate_transfer_sizes): Checks for case when
	storage size of SOURCE is greater than zero while the storage size
	of MOLD is zero and MOLD is an array shall not depend on SIZE.

gcc/testsuite/ChangeLog:

	PR fortran/104311
	* gfortran.dg/transfer_simplify_15.f90: New test.
2022-02-03 19:22:40 +01:00
Martin Liska c7d0d03a6b Speed up fixincludes.
In my case:
$ rm ./stmp-fixinc ; time make -j16

takes 17 seconds, where I can reduce it easily with the suggested
change. Then I get to 11.2 seconds.

The scripts searches ~2500 folders in my case with total 20K header
files.

fixincludes/ChangeLog:

	* fixinc.in: Use mkdir -p rather that a loop.
2022-02-03 18:45:06 +01:00
Bill Schmidt 48bd780ee3 rs6000: Remove -m[no-]fold-gimple flag [PR103686]
The -m[no-]fold-gimple flag was really intended primarily for internal
testing while implementing GIMPLE folding for rs6000 vector built-in
functions.  It ended up leaking into other places, causing problems such
as PR103686 identifies.  Let's remove it.

There are a number of tests in the testsuite that require adjustment.
Some specify -mfold-gimple directly, which is the default, so that is
handled by removing the option.  Others unnecessarily specify
-mno-fold-gimple, as the tests work fine without this.  Again that is
handled by removing the option.  There are a couple of extra variants of
tests specifically for -mno-fold-gimple; for those, we can just	remove the
whole test.

gcc.target/powerpc/builtins-1.c was more problematic.  It was written in
such a way as to be extremely fragile.  For this one, I rewrote the whole
test in a different style, using individual functions to test each
built-in function.  These same tests are also largely covered by
builtins-1-be-folded.c and builtins-1-le-folded.c, so I chose to
explicitly make this test -mbig for simplicity, and use -O2 for clean code
generation.  I made some slight modifications to the expected instruction
counts as a result, and tested on both 32- and 64-bit.

2022-02-02  Bill Schmidt  <wschmidt@linux.ibm.com>

gcc/
	PR target/103686
	* config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin):	Remove
	test for !rs6000_fold_gimple.
	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
	* config/rs6000/rs6000.opt (mfold-gimple): Remove.

gcc/testsuite/
	PR target/103686
	* gcc.target/powerpc/builtins-1-be-folded.c: Remove -mfold-gimple
	option.
	* gcc.target/powerpc/builtins-1-le-folded.c: Likewise.
	* gcc.target/powerpc/builtins-1.c: Rewrite to use small functions and
	restrict to -O2 -mbig for predictability.  Adjust instruction counts.
	* gcc.target/powerpc/builtins-5.c: Remove -mno-fold-gimple option.
	* gcc.target/powerpc/p8-vec-xl-xst.c: Likewise.
	* gcc.target/powerpc/pr83926.c: Likewise.
	* gcc.target/powerpc/pr86731-nogimplefold-longlong.c: Delete.
	* gcc.target/powerpc/pr86731-nogimplefold.c: Delete.
	* gcc.target/powerpc/swaps-p8-17.c: Remove -mno-fold-gimple option.
2022-02-03 11:17:36 -06:00
Bill Schmidt 3f30f2d1db rs6000: Fix LE code gen for vec_cnt[lt]z_lsbb [PR95082]
These built-ins were misimplemented as always having big-endian semantics.

2022-01-18  Bill Schmidt  <wschmidt@linux.ibm.com>

gcc/
	PR target/95082
	* config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
	endianness for vclzlsbb and vctzlsbb.
	* config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
	default pattern and indicate a different pattern will be used for
	big endian.
	(VCLZLSBB_V4SI): Likewise.
	(VCLZLSBB_V8HI): Likewise.
	(VCTZLSBB_V16QI): Likewise.
	(VCTZLSBB_V4SI): Likewise.
	(VCTZLSBB_V8HI): Likewise.

gcc/testsuite/
	PR target/95082
	* gcc.target/powerpc/vsu/vec-cntlz-lsbb-0.c: Restrict to -mbig.
	* gcc.target/powerpc/vsu/vec-cntlz-lsbb-1.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cntlz-lsbb-3.c: New.
	* gcc.target/powerpc/vsu/vec-cntlz-lsbb-4.c: New.
	* gcc.target/powerpc/vsu/vec-cnttz-lsbb-0.c: Restrict to -mbig.
	* gcc.target/powerpc/vsu/vec-cnttz-lsbb-1.c: Likewise.
	* gcc.target/powerpc/vsu/vec-cnttz-lsbb-3.c: New.
	* gcc.target/powerpc/vsu/vec-cnttz-lsbb-4.c: New.
2022-02-03 11:17:18 -06:00
Bill Schmidt eecee223f4 rs6000: Consolidate target built-ins code
Continuing with the refactoring effort, this patch moves as much of the
target-specific built-in support code into a new file, rs6000-builtin.cc.
However, we can't easily move the overloading support code out of
rs6000-c.cc, because the build machinery understands that as a special file
to be included with the C and C++ front ends.

This patch is just a straightforward move, with one exception.  I found
that the builtin_mode_to_type[] array is no longer used, so I also removed
all code having to do with it.

The code in rs6000-builtin.cc is organized in related sections:
 - General support functions
 - Initialization support
 - GIMPLE folding support
 - Expansion support

Overloading support remains in rs6000-c.cc.

2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>

gcc/
	* config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
	* config/rs6000/rs6000-builtin.cc: New file, containing code moved
	from other files.
	* config/rs6000/rs6000-call.cc (cpu_is_info): Move to
	rs6000-builtin.cc.
	(cpu_supports_info): Likewise.
	(rs6000_type_string): Likewise.
	(altivec_expand_predicate_builtin): Likewise.
	(rs6000_htm_spr_icode): Likewise.
	(altivec_expand_vec_init_builtin): Likewise.
	(get_element_number): Likewise.
	(altivec_expand_vec_set_builtin): Likewise.
	(altivec_expand_vec_ext_builtin): Likewise.
	(rs6000_invalid_builtin): Likewise.
	(rs6000_fold_builtin): Likewise.
	(fold_build_vec_cmp): Likewise.
	(fold_compare_helper): Likewise.
	(map_to_integral_tree_type): Likewise.
	(fold_mergehl_helper): Likewise.
	(fold_mergeeo_helper): Likewise.
	(rs6000_builtin_valid_without_lhs): Likewise.
	(rs6000_builtin_is_supported): Likewise.
	(rs6000_gimple_fold_mma_builtin): Likewise.
	(rs6000_gimple_fold_builtin): Likewise.
	(rs6000_expand_ldst_mask): Likewise.
	(cpu_expand_builtin): Likewise.
	(elemrev_icode): Likewise.
	(ldv_expand_builtin): Likewise.
	(lxvrse_expand_builtin): Likewise.
	(lxvrze_expand_builtin): Likewise.
	(stv_expand_builtin): Likewise.
	(mma_expand_builtin): Likewise.
	(htm_spr_num): Likewise.
	(htm_expand_builtin): Likewise.
	(rs6000_expand_builtin): Likewise.
	(rs6000_vector_type): Likewise.
	(rs6000_init_builtins): Likewise.  Remove initialization of
	builtin_mode_to_type entries.
	(rs6000_builtin_decl): Move to rs6000-builtin.cc.
	* config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
	external declaration.
	(rs6000_builtin_md_vectorized_function): Likewise.
	(rs6000_builtin_reciprocal): Likewise.
	(altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
	(rs6000_builtin_types): Likewise.
	(builtin_mode_to_type): Remove.
	(rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc.  Remove
	static qualifier.
	(rs6000_builtin_md_vectorized_function): Likewise.
	(rs6000_builtin_reciprocal): Likewise.
	* config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
	* config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
2022-02-03 11:16:43 -06:00
David Seifert 45ba6bf28b make `-Werror` optional in libatomic/libbacktrace/libgomp/libitm/libsanitizer
* `-Werror` can cause issues when a more recent version of GCC compiles
  an older version:
  - https://bugs.gentoo.org/229059
  - https://bugs.gentoo.org/475350
  - https://bugs.gentoo.org/667104

libatomic/ChangeLog:

	* configure.ac: Support --disable-werror.
	* configure: Regenerate.

libbacktrace/ChangeLog:

	* configure.ac: Support --disable-werror.
	* configure: Regenerate.

libgomp/ChangeLog:

	* configure.ac: Support --disable-werror.
	* configure: Regenerate.

libitm/ChangeLog:

	* configure.ac: Support --disable-werror.
	* configure: Regenerate.

libsanitizer/ChangeLog:

	* configure.ac: Support --disable-werror.
	* aclocal.m4: Include also ../config/warnings.m4.
	* libbacktrace/Makefile.am (WARN_FLAGS): Remove.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* asan/Makefile.in: Regenerate.
	* hwasan/Makefile.in: Regenerate.
	* interception/Makefile.in: Regenerate.
	* libbacktrace/Makefile.in: Regenerate.
	* lsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.in: Regenerate.
	* tsan/Makefile.in: Regenerate.
	* ubsan/Makefile.in: Regenerate.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
2022-02-03 16:10:18 +01:00
Richard Biener 1d5c7584fd debug/104337 - avoid messing with the abstract origin chain in NRV
The following avoids NRV from massaging DECL_ABSTRACT_ORIGIN after
variable creation since NRV runs _after_ the function was inlined and thus
affects the inlined variables copy indirectly.  We may adjust the abstract
origin of a variable only at the point we create it, not further along the
path since otherwise the (new) invariant that the abstract origin is always
the ultimate origin cannot be maintained.

The intent of what NRV does is OK I guess and it may improve the debug
experience.  But I also notice we do

  SET_DECL_VALUE_EXPR (found, result);
  DECL_HAS_VALUE_EXPR_P (found) = 1;

the code is there since the merge from tree-ssa which added tree-nrv.c.

Jakub added the DECL_VALUE_EXPR in g:938650d8fddb878f623e315f0b7fd94b217efa96
and Jason added the abstract origin setting conditional in g:7716876bbd3a

The follwoing takes the radical approach and remove the attempt
to "optimize" the debug info.

The gdb testsuites show no regressions.

2022-02-03  Richard Biener  <rguenther@suse.de>

	PR debug/104337
	* tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
	together via DECL_ABSTRACT_ORIGIN.

	* gcc.dg/debug/pr104337.c: New testcase.
2022-02-03 16:02:12 +01:00
Bill Schmidt a1b4d225d8 rs6000: Unify error messages for built-in constant restrictions
We currently give different error messages for built-in functions that
violate range restrictions on their arguments, depending on whether we
record them as requiring an n-bit literal or a literal between two values.
It's better to be consistent.  Change the error message for the n-bit
literal to look like the other one.

2022-02-02  Bill Schmidt  <wschmidt@linux.ibm.com>

gcc/
	* config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
	message for RES_BITS case.

gcc/testsuite/
	* gcc.target/powerpc/bfp/scalar-test-data-class-10.c: Adjust error
	messages.
	* gcc.target/powerpc/bfp/scalar-test-data-class-2.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-data-class-3.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-data-class-4.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-data-class-5.c: Likewise.
	* gcc.target/powerpc/bfp/scalar-test-data-class-9.c: Likewise.
	* gcc.target/powerpc/bfp/vec-test-data-class-4.c: Likewise.
	* gcc.target/powerpc/bfp/vec-test-data-class-5.c: Likewise.
	* gcc.target/powerpc/bfp/vec-test-data-class-6.c: Likewise.
	* gcc.target/powerpc/bfp/vec-test-data-class-7.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-12.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-14.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-17.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-19.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-2.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-22.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-24.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-27.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-29.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-32.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-34.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-37.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-39.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-4.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-42.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-44.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-47.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-49.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-52.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-54.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-57.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-59.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-62.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-64.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-67.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-69.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-7.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-72.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-74.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-77.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-79.c: Likewise.
	* gcc.target/powerpc/dfp/dtstsfi-9.c: Likewise.
	* gcc.target/powerpc/pr80315-1.c: Likewise.
	* gcc.target/powerpc/pr80315-2.c: Likewise.
	* gcc.target/powerpc/pr80315-3.c: Likewise.
	* gcc.target/powerpc/pr80315-4.c: Likewise.
	* gcc.target/powerpc/pr82015.c: Likewise.
	* gcc.target/powerpc/pr91903.c: Likewise.
	* gcc.target/powerpc/test_fpscr_rn_builtin_error.c: Likewise.
	* gcc.target/powerpc/vec-ternarylogic-10.c: Likewise.
2022-02-03 09:01:55 -06:00
Aldy Hernandez f544e5efaf ranger: fix small thinko in fur_list constructor
The fur_list constructor for two ranges is leaving [1] in an undefined
state.  The reason we haven't noticed is because after all the
shuffling in the last cycle there are no remaining users of it
(similarly for fur_list(unsigned, irange *)).

Since it's very late in the cycle, I would prefer to fix this, rather
than removing unused constructors altogether.  Besides, we have uses
of them queued up for the next release.

gcc/ChangeLog:

	* gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
2022-02-03 15:48:46 +01:00
Jakub Jelinek 8439e866a3 arm: Fix up help.exp regression
On Thu, Jan 20, 2022 at 11:27:20AM +0000, Richard Earnshaw via Gcc-patches wrote:
> gcc/ChangeLog:
>
>       * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
>       option.
>       (mfix-cortex-a72-aes-1655431): New option alias.

> --- a/gcc/config/arm/arm.opt
> +++ b/gcc/config/arm/arm.opt
> @@ -272,6 +272,16 @@ mfix-cmse-cve-2021-35465
>  Target Var(fix_vlldm) Init(2)
>  Mitigate issues with VLLDM on some M-profile devices (CVE-2021-35465).
>
> +mfix-cortex-a57-aes-1742098
> +Target Var(fix_aes_erratum_1742098) Init(2) Save
> +Mitigate issues with AES instructions on Cortex-A57 and Cortex-A72.
> +Arm erratum #1742098
> +
> +mfix-cortex-a72-aes-1655431
> +Target Alias(mfix-cortex-a57-aes-1742098)
> +Mitigate issues with AES instructions on Cortex-A57 and Cortex-A72.
> +Arm erratum #1655431
> +
>  munaligned-access
>  Target Var(unaligned_access) Init(2) Save
>  Enable unaligned word and halfword accesses to packed data.

This breaks:
Running /usr/src/gcc/gcc/testsuite/gcc.misc-tests/help.exp ...
FAIL: compiler driver --help=target option(s): "^ +-.*[^:.]$" absent from output: "  -mfix-cortex-a57-aes-1742098 Mitigate issues with AES instructions on Cortex-A57 and Cortex-A72. Arm erratum #1742098"

help.exp with help of lib/options.exp tests whether all non-empty descriptions of
options are terminated with . or :.

2022-02-03  Jakub Jelinek  <jakub@redhat.com>

	* config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
	mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
2022-02-03 14:34:21 +01:00
Aldy Hernandez 83ad3a96eb Assert that backedges are available in path solver.
gcc/ChangeLog:

	* cfganal.cc (verify_marked_backedges): New.
	* cfganal.h (verify_marked_backedges): New.
	* gimple-range-path.cc (path_range_query::path_range_query):
	Verify freshness of back edges.
	* tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
	mark_dfs_back_edges.
	* tree-ssa-threadbackward.cc (back_threader::back_threader): Move
	path_range_query construction after backedges have been
	updated.
2022-02-03 14:06:45 +01:00
Eric Botcazou 635504510a Skip gnat.dg/div_zero.adb on PowerPC
The hardware instruction does not trap on divide by zero there.

gcc/testsuite
	PR tree-optimization/104356
	* gnat.dg/div_zero.adb: Add dg-skip-if directive for PowerPC.
2022-02-03 13:20:19 +01:00
Richard Sandiford 67cd9cf5bf aarch64: Remove struct_vect_25.c XFAILs
At some point we started generating the intended code for
aarch64/sve/struct_vect_25.c.  This patch removes the xfails
and the scan-assembler-times that replaced the xfailed forms.

gcc/testsuite/
	* gcc.target/aarch64/sve/struct_vect_25.c: Remove XFAILs.
2022-02-03 10:44:01 +00:00
Richard Sandiford 2b4044d8c2 aarch64: Adjust tests after fix for PR102659
After the fix for PR102659, the vectoriser can no longer group
conditional accesses of the form:

  for (int i = 0; i < n; ++i)
    if (...)
      ...a[i * 2] + a[i * 2 + 1]...;

on LP64 targets.  It has to treat them as two independent
gathers instead.

This was causing failures in the sve mask_struct*.c tests.
The tests weren't really testing that int iterators could
be used, so this patch switches to pointer-sized iterators
instead.

gcc/testsuite/
	* gcc.target/aarch64/sve/mask_struct_load_1.c: Use intptr_t
	iterators instead of int iterators.
	* gcc.target/aarch64/sve/mask_struct_load_2.c: Likewise.
	* gcc.target/aarch64/sve/mask_struct_load_3.c: Likewise.
	* gcc.target/aarch64/sve/mask_struct_load_4.c: Likewise.
	* gcc.target/aarch64/sve/mask_struct_load_5.c: Likewise.
	* gcc.target/aarch64/sve/mask_struct_load_6.c: Likewise.
	* gcc.target/aarch64/sve/mask_struct_load_7.c: Likewise.
	* gcc.target/aarch64/sve/mask_struct_load_8.c: Likewise.
	* gcc.target/aarch64/sve/mask_struct_store_1.c: Likewise.
	* gcc.target/aarch64/sve/mask_struct_store_2.c: Likewise.
	* gcc.target/aarch64/sve/mask_struct_store_3.c: Likewise.
	* gcc.target/aarch64/sve/mask_struct_store_4.c: Likewise.
2022-02-03 10:44:01 +00:00
Richard Sandiford 7e4f89a23e aarch64: Add missing movmisalign patterns
The Advanced SIMD movmisalign patterns didn't handle 16-bit
FP modes, which meant that the vector loop for:

  void
  test (_Float16 *data)
  {
    _Pragma ("omp simd")
    for (int i = 0; i < 8; ++i)
      data[i] = 1.0;
  }

would be versioned for alignment.

This was causing some new failures in aarch64/sve/single_5.c:

FAIL: gcc.target/aarch64/sve/single_5.c scan-assembler-not \\tb
FAIL: gcc.target/aarch64/sve/single_5.c scan-assembler-not \\tcmp
FAIL: gcc.target/aarch64/sve/single_5.c scan-assembler-times \\tstr\\tq[0-9]+, 10

but I didn't look into what changed from earlier releases.
Adding the missing modes removes some existing xfails.

gcc/
	* config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
	VALL to VALL_F16.

gcc/testsuite/
	* gcc.target/aarch64/sve/single_5.c: Remove some XFAILs.
2022-02-03 10:44:00 +00:00
Richard Sandiford 6a77052660 aarch64: Remove VALL_F16MOV iterator
The VALL_F16MOV iterator now has the same modes as VALL_F16,
in the same order.  This patch removes the former in favour
of the latter.

This doesn't fix a bug as such, but it's ultra-safe (no change in
object code) and it saves a follow-up patch from having to make
a false choice between the iterators.

gcc/
	* config/aarch64/iterators.md (VALL_F16MOV): Delete.
	* config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
	of VALL_F16MOV.
2022-02-03 10:44:00 +00:00
Richard Sandiford d41ba5a053 testsuite: Remove TSVC XFAILs for SVE
Many of the XFAILed TSVC tests pass for SVE.  This patch updates
the markup accordingly.

gcc/testsuite/
	* gcc.dg/vect/tsvc/vect-tsvc-s1115.c: Don't XFAIL for SVE.
	* gcc.dg/vect/tsvc/vect-tsvc-s114.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s1161.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s1232.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s124.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s1279.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s161.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s253.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s257.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s271.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s2711.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s2712.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s272.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s273.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s274.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s276.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s278.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s279.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s3111.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s4113.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s441.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s443.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-s491.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-vas.c: Likewise.
	* gcc.dg/vect/tsvc/vect-tsvc-vif.c: Likewise.
2022-02-03 10:43:59 +00:00
Richard Sandiford 9fb5e771ec testsuite: Update guality xfails for aarch64*-*-*
Following on from GCC 11 patch g:f31ddad8ac8, this one gives clean
guality.exp test results for aarch64-linux-gnu with modern gdb
(this time gdb 11.2).

The justification is the same as previously:

------
For people using older gdbs, it will trade one set of noisy results for
another set.  I still think it's better to have the xfails based on
one “clean” and “modern” run rather than have FAILs and XPASSes for
all runs.

It's hard to tell which of these results are aarch64-specific and
which aren't.  If other target maintainers want to do something similar,
and are prepared to assume the same gdb version, then it should become
clearer over time which ones are target-specific and which aren't.

There are no new skips here, so changes in test results will still
show up as XPASSes.

I've not analysed the failures or filed PRs for them.  In some
ways the guality directory itself seems like the best place to
start looking for xfails, if someone's interested in working
in this area.
------

gcc/testsuite/
	* gcc.dg/guality/ipa-sra-1.c: Update aarch64*-*-* xfails.
	* gcc.dg/guality/pr54519-1.c: Likewise.
	* gcc.dg/guality/pr54519-3.c: Likewise.
2022-02-03 10:43:59 +00:00
Martin Liska 9db03cd0ca Fix wording for: attribute ‘-xyz’ argument ‘target’ is unknown
gcc/ChangeLog:

	* config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
	Change subject and object in the error message.
	* config/s390/s390.cc (s390_valid_target_attribute_inner_p):
	Likewise.
2022-02-03 10:19:33 +01:00
Martin Liska 0415470c8d s390x: Fix one more -Wformat-diag.
gcc/ChangeLog:

	* config/s390/s390.cc (s390_valid_target_attribute_inner_p):
	Use the error message for i386 target.
2022-02-03 09:56:33 +01:00
Jakub Jelinek de67f943b8 ranger: Fix up wi_fold_in_parts for small precision types [PR104334]
The wide-int.h templates expect that when an int/long etc. operand is used
it will be sign-extended based on the types precision.
wi_fold_in_parts passes 3 such non-zero constants to wi::lt_p, wi::gt_p
and wi::eq_p - 1, 3 and 4, which means it was doing weird things if either
some of 1, 3 or 4 weren't representable in type, or if type was unsigned 3 bit
type 4 should be written as -4.
The following patch promotes the subtraction operands to widest_int and
uses that as the type for ?h_range variables and compares them as such.
We don't need the overflow handling because there is never an overflow.

2022-02-02  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/104334
	* range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
	and rh_range type to widest_int and subtract in widest_int.  Remove
	ov_rh, ov_lh and sign vars, always perform comparisons as signed
	and use >, < and == operators for it.

	* g++.dg/opt/pr104334.C: New test.
2022-02-03 09:45:16 +01:00
Jakub Jelinek 54d21dd5b5 openmp, fortran: Improve !$omp atomic checks [PR104328]
The testcase shows some cases that weren't verified and we ICE on
invalid because of that.
One problem is that unlike before, we weren't checking if some expression
is EXPR_VARIABLE with non-NULL symtree in the case where there was
a conversion around it.
The other two issues is that we check that in an IF ->block is non-NULL
and then immediately dereference ->block->next->op, but on invalid
code with no statements in the then clause ->block->next might be NULL.

2022-02-02  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/104328
	* openmp.cc (is_scalar_intrinsic_expr): If must_be_var && conv_ok
	and expr is conversion, verify it is a conversion from EXPR_VARIABLE
	with non-NULL symtree.  Check ->block->next before dereferencing it.

	* gfortran.dg/gomp/atomic-27.f90: New test.
2022-02-03 09:01:07 +01:00
Jason Merrill 501c4ee9fa c++: dependent array bounds completion [PR104302]
The patch for PR55227 changed the minimal init-list handling in
cp_complete_array_type to a call to reshape_init, which broke on the
dependent initializer.  It occurred to me that trying to deduce the array
size from a dependent init-list is wrong in general, so let's just not.  I
also limited the reshape_init call to the case of a char array, as before
the patch for 55227; that's the only case where we want to strip a level of
braces from an array.

	PR c++/104302

gcc/cp/ChangeLog:

	* decl.cc (maybe_deduce_size_from_array_init): Give up
	on type-dependent init.
	(cp_complete_array_type): Only call reshape_init for character
	array.

gcc/testsuite/ChangeLog:

	* g++.dg/template/array35.C: New test.
	* g++.dg/template/array36.C: New test.
2022-02-02 21:14:10 -05:00
Martin Sebor dc898b2ba5 Correct typos in -Wuse-after-free description.
gcc/ChangeLog:
	* common.opt (-Wuse-after-free): Correct typos.
2022-02-02 17:47:52 -07:00
GCC Administrator 88944e1314 Daily bump. 2022-02-03 00:16:22 +00:00
David Malcolm fb45d8e692 docs: mention analyzer interaction with -ftrivial-auto-var-init [PR104270]
gcc/ChangeLog:
	PR analyzer/104270
	* doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
	-Wanalyzer-use-of-uninitialized-value to paragraph documenting that
	-ftrivial-auto-var-init= doesn't suppress warnings.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
2022-02-02 16:50:39 -05:00
Segher Boessenkool 14d642df2b rs6000/testsuite: Return 0 for powerpc_altivec_ok on other targets
2022-02-02  Segher Boessenkool  <segher@kernel.crashing.org>

gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_powerpc_altivec_ok):
	Return 0 if the target is not Power.  Restructure and add some comments.
2022-02-02 20:21:30 +00:00
Jonathan Wakely 2905e1af94 libstdc++: Fix -Wunused-variable warning for -fno-exceptions build
If _GLIBCXX_THROW_OR_ABORT expands to just __builtin_abort() then the
bool variable used in the filesystem_error constructor is unused. Mark
it as maybe_unused to there's no warning for -fno-exceptions builds.

libstdc++-v3/ChangeLog:

	* src/c++17/fs_dir.cc (fs::recursive_directory_iterator::pop):
	Add [[maybe_unused]] attribute.
	* src/filesystem/dir.cc (fs::recursive_directory_iterator::pop):
	Likewise.
2022-02-02 17:55:16 +00:00
Jonathan Wakely c123096cf1 libstdc++: Fix invalid instantiations in tests
These tests instantiate std::multiset and std::set with a type that has
no operator< so they should use a custom comparison function.

libstdc++-v3/ChangeLog:

	* testsuite/23_containers/multiset/operators/cmp_c++20.cc: Use
	custom comparison function for multiset.
	* testsuite/23_containers/set/operators/cmp_c++20.cc: Use custom
	comparison function for set.
2022-02-02 17:08:54 +00:00
Jonathan Wakely b229c51860 libstdc++: Fix link failure in _OutputIteratorConcept
The C++98-style concept check for output iterators causes a link
failure on mingw-w64, because the __val() member function isn't defined.
Change it to use a function pointer instead. That pointer is never set
to anything meaningful, but it doesn't matter as the __constraints()
function only has to be instantiated, it's never called.

We could refactor all of these to use unevaluated contexts (e.g. sizeof
of __decltype) so that we only check the expressions are well-formed,
without any codegen at all. Any improvements to these are very low
priority though.

libstdc++-v3/ChangeLog:

	* include/bits/boost_concept_check.h (_OutputIteratorConcept):
	Change member function to data member of function pointer type.
2022-02-02 16:30:51 +00:00
Martin Liska 9a92e46c0e lto: fix error handling for -Wl,-plugin-opt=debug
When one uses something like: -Wl,-plugin-opt=debug,
we end up with lto1 WPA invocation that has 'debug'
on command line. We interpret that as input filename.

The patch moves resolution checking later so that we end up with
a reasonable error message:

lto1: fatal error: open debug failed: No such file or directory
compilation terminated.

	PR lto/104333

gcc/lto/ChangeLog:

	* lto-common.cc (read_cgraph_and_symbols): Move resolution
	checking for number of files later and report a reasonable
	error message.
	* lto-object.cc (lto_obj_file_open): Make error fatal.
2022-02-02 16:05:39 +01:00
Martin Liska 302caa1fae Remove dead macro: TEXT_SECTION_NAME
gcc/ChangeLog:

	* dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
2022-02-02 16:05:24 +01:00