]> gcc.gnu.org Git - gcc.git/log
gcc.git
16 months agoDaily bump.
GCC Administrator [Thu, 27 Apr 2023 00:17:59 +0000 (00:17 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Wed, 26 Apr 2023 00:19:27 +0000 (00:19 +0000)]
Daily bump.

16 months agotestsuite: remove stray ';' [PR109608]
Jason Merrill [Tue, 25 Apr 2023 15:12:33 +0000 (11:12 -0400)]
testsuite: remove stray ';' [PR109608]

GCC 10 is still pedantic about empty declarations.

PR testsuite/109608

gcc/testsuite/ChangeLog:

* g++.dg/cpp0x/constexpr-pmf3.C: Remove stray ';'.

16 months agoDaily bump.
GCC Administrator [Tue, 25 Apr 2023 00:19:47 +0000 (00:19 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Mon, 24 Apr 2023 00:19:30 +0000 (00:19 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Sun, 23 Apr 2023 00:18:57 +0000 (00:18 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Sat, 22 Apr 2023 00:19:16 +0000 (00:19 +0000)]
Daily bump.

16 months agoc-family: -Wsequence-point and COMPONENT_REF [PR107163]
Jason Merrill [Thu, 23 Mar 2023 19:57:39 +0000 (15:57 -0400)]
c-family: -Wsequence-point and COMPONENT_REF [PR107163]

The patch for PR91415 fixed -Wsequence-point to treat shifts and ARRAY_REF
as sequenced in C++17, and COMPONENT_REF as well.  But this is unnecessary
for COMPONENT_REF, since the RHS is just a FIELD_DECL with no actual
evaluation, and in this testcase handling COMPONENT_REF as sequenced blows
up fast in a deep inheritance tree.  Instead, look through it.

PR c++/107163

gcc/c-family/ChangeLog:

* c-common.c (verify_tree): Don't use sequenced handling
for COMPONENT_REF.

gcc/testsuite/ChangeLog:

* g++.dg/warn/Wsequence-point-5.C: New test.

16 months agoc++: constexpr PMF conversion [PR105996]
Jason Merrill [Thu, 23 Mar 2023 20:50:09 +0000 (16:50 -0400)]
c++: constexpr PMF conversion [PR105996]

Here, we were calling build_reinterpret_cast regardless of whether there was
actually a cast, and that now sets REINTERPRET_CAST_P.  But that
optimization seems dodgy anyway, as it involves NOP_EXPR from one
RECORD_TYPE to another and we try to reserve NOP_EXPR for fundamental types.
And the generated code seems the same, so let's drop it.  And also strip
location wrappers.

PR c++/105996

gcc/cp/ChangeLog:

* typeck.c (build_ptrmemfunc): Drop 0-offset optimization
and location wrappers.

gcc/testsuite/ChangeLog:

* g++.dg/cpp0x/constexpr-pmf3.C: New test.

16 months agoc++: constant, array, lambda, template [PR108975]
Jason Merrill [Fri, 17 Mar 2023 21:26:40 +0000 (17:26 -0400)]
c++: constant, array, lambda, template [PR108975]

When a lambda refers to a constant local variable in the enclosing scope, we
tentatively capture it, but if we end up pulling out its constant value, we
go back at the end of the lambda and prune any unneeded captures.  Here
while parsing the template we decided that the dim capture was unneeded,
because we folded it away, but then we brought back the use in the template
trees that try to preserve the source representation with added type info.
So then when we tried to instantiate that use, we couldn't find what it was
trying to use, and crashed.

Fixed by not trying to prune when parsing a template; we'll prune at
instantiation time.

PR c++/108975

gcc/cp/ChangeLog:

* lambda.c (prune_lambda_captures): Don't bother in a template.

gcc/testsuite/ChangeLog:

* g++.dg/cpp0x/lambda/lambda-const11.C: New test.

16 months agoc++: namespace-scoped friend in local class [PR69410]
Jason Merrill [Fri, 17 Mar 2023 13:43:48 +0000 (09:43 -0400)]
c++: namespace-scoped friend in local class [PR69410]

do_friend was only considering class-qualified identifiers for the
qualified-id case, but we also need to skip local scope when there's an
explicit namespace scope.

PR c++/69410

gcc/cp/ChangeLog:

* friend.c (do_friend): Handle namespace as scope argument.
* decl.c (grokdeclarator): Pass down in_namespace.

gcc/testsuite/ChangeLog:

* g++.dg/lookup/friend24.C: New test.

16 months agoc++: &enum::enumerator [PR101869]
Jason Merrill [Thu, 16 Mar 2023 17:11:32 +0000 (13:11 -0400)]
c++: &enum::enumerator [PR101869]

We don't want to call build_offset_ref with an enum.

PR c++/101869

gcc/cp/ChangeLog:

* semantics.c (finish_qualified_id_expr): Don't try to build a
pointer-to-member if the scope is an enumeration.

gcc/testsuite/ChangeLog:

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

16 months agoDaily bump.
GCC Administrator [Fri, 21 Apr 2023 00:19:13 +0000 (00:19 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Thu, 20 Apr 2023 00:18:47 +0000 (00:18 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Wed, 19 Apr 2023 00:19:40 +0000 (00:19 +0000)]
Daily bump.

16 months agoPR target/108589 - Check REG_P for AARCH64_FUSE_ADDSUB_2REG_CONST1
Philipp Tomsich [Mon, 30 Jan 2023 22:40:26 +0000 (23:40 +0100)]
PR target/108589 - Check REG_P for AARCH64_FUSE_ADDSUB_2REG_CONST1

This adds a check for REG_P on SET_DEST for the new idiom recognizer
for AARCH64_FUSE_ADDSUB_2REG_CONST1.  The reported ICE is only
observable with checking=rtl.

Bootstrapped/regtested aarch64-linux, committed.

PR target/108589

gcc/ChangeLog:

* config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Check
REG_P on SET_DEST.

gcc/testsuite/ChangeLog:

* gcc.target/aarch64/pr108589.c: New test.

(cherry picked from commit a39c6ec97906766ad65d15d4856fd41121ee7a45)

16 months agoaarch64: disable LDP via tuning structure for -mcpu=ampere1
Philipp Tomsich [Thu, 23 Mar 2023 18:47:57 +0000 (19:47 +0100)]
aarch64: disable LDP via tuning structure for -mcpu=ampere1

AmpereOne (-mcpu=ampere1) breaks LDP instructions into two uops.
Given the chance that this causes instructions to slip into the next
decoding cycle and the additional overheads when handling
cacheline-crossing LDP instructions, we disable the generation of LDP
isntructions through the tuning structure from instruction combining
(such as in peephole2).

Given the code-density benefits in builtins and prologue/epilogue
expansion, we allow LDPs there.

This commit:
 * adds a new tuning option AARCH64_EXTRA_TUNE_NO_LDP_COMBINE
 * allows -moverride=tune=... to override this

These changes are benchmark-driven, yielding the following changes
(with a net-overall improvement):
   503.bwaves_r.      -0.88%
   507.cactuBSSN_r     0.35%
   508.namd_r          3.09%
   510.parest_r       -2.99%
   511.povray_r        5.54%
   519.lbm_r          15.83%
   521.wrf_r           0.56%
   526.blender_r       2.47%
   527.cam4_r          0.70%
   538.imagick_r       0.00%
   544.nab_r          -0.33%
   549.fotonik3d_r.   -0.42%
   554.roms_r          0.00%
   -------------------------
   = total             1.79%

Signed-off-by: Philipp Tomsich <philipp.tomsich@vrull.eu>
Co-Authored-By: Di Zhao <di.zhao@amperecomputing.com>
gcc/ChangeLog:

* config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION):
Add AARCH64_EXTRA_TUNE_NO_LDP_COMBINE.
* config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp):
Check for the above tuning option when processing loads.

gcc/testsuite/ChangeLog:

* gcc.target/aarch64/ampere1-no_ldp_combine.c: New test.

(cherry picked from commit f200c56787f2c6f93ffb739d57d01a294ab72f68)

16 months agoaarch64: update ampere1 vectorization cost
Philipp Tomsich [Mon, 17 Apr 2023 23:26:32 +0000 (01:26 +0200)]
aarch64: update ampere1 vectorization cost

The original submission of AmpereOne (-mcpu=ampere1) costs occurred
prior to exhaustive testing of vectorizable workloads against
hardware.

Adjust the vector costs to achieve the best results and more closely
match the underlying hardware.

gcc/ChangeLog:

* config/aarch64/aarch64.c: Update vector costs for ampere1.

Co-Authored-By: Jiangning Liu <jiangning.liu@amperecomputing.com>
Co-Authored-By: Manolis Tsamis <manolis.tsamis@vrull.eu>
(cherry picked from commit ff1f2f2412bda118f7ddc10e69bd4284d9b24b9e)

16 months agoaarch64: Add support for Ampere-1A (-mcpu=ampere1a) CPU
Philipp Tomsich [Mon, 7 Nov 2022 13:22:21 +0000 (14:22 +0100)]
aarch64: Add support for Ampere-1A (-mcpu=ampere1a) CPU

This patch adds support for Ampere-1A CPU:
 - recognize the name of the core and provide detection for -mcpu=native,
 - updated extra_costs,
 - adds a new fusion pair for (A+B+1 and A-B-1).

Ampere-1A and Ampere-1 have more timing difference than the extra
costs indicate, but these don't propagate through to the headline
items in our extra costs (e.g. the change in latency for scalar sqrt
doesn't have a corresponding table entry).

gcc/ChangeLog:

* config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a.
* config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs.
* config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR):
Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two
registers and then +1/-1).
* config/aarch64/aarch64-tune.md: Regenerate.
* config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Implement
idiom-matcher for the new fusion pair.
* doc/invoke.texi: Add ampere1a.

(cherry picked from commit 590a06afbf0e96813b5879742f38f3665512c854)

16 months agoaarch64: update Ampere-1 core definition
Philipp Tomsich [Sun, 7 Aug 2022 22:30:52 +0000 (00:30 +0200)]
aarch64: update Ampere-1 core definition

This brings the extensions detected by -mcpu=native on Ampere-1 systems
in sync with the defaults generated for -mcpu=ampere1.

Note that some early kernel versions on Ampere1 may misreport the
presence of PAUTH and PREDRES (i.e., -mcpu=native will add 'nopauth'
and 'nopredres').

gcc/ChangeLog:

* config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
Ampere-1 core entry.

(cherry picked from commit db2f5d661239737157cf131de7d4df1c17d8d88d)

16 months agoaarch64: fix off-by-one in reading cpuinfo
Philipp Tomsich [Mon, 3 Oct 2022 19:59:50 +0000 (21:59 +0200)]
aarch64: fix off-by-one in reading cpuinfo

Fixes: 341573406b39
Don't subtract one from the result of strnlen() when trying to point
to the first character after the current string.  This issue would
cause individual characters (where the 128 byte buffers are stitched
together) to be lost.

gcc/ChangeLog:

* config/aarch64/driver-aarch64.c (readline): Fix off-by-one.

gcc/testsuite/ChangeLog:

* gcc.target/aarch64/cpunative/info_18: New test.
* gcc.target/aarch64/cpunative/native_cpu_18.c: New test.

(cherry picked from commit b1cfbccc41de6aec950c0f662e7e85ab34bfff8a)

16 months agoaarch64: enable Ampere-1 CPU
Philipp Tomsich [Thu, 20 May 2021 19:57:48 +0000 (21:57 +0200)]
aarch64: enable Ampere-1 CPU

This adds support and a basic tuning model for the Ampere Computing
"Ampere-1" CPU.

The Ampere-1 implements the ARMv8.6 architecture in A64 mode and is
modelled as a 4-wide issue (as with all modern micro-architectures,
the chosen issue rate is a compromise between the maximum dispatch
rate and the maximum rate of uops issued to the scheduler).

This adds the -mcpu=ampere1 command-line option and the relevant cost
information/tuning tables for the Ampere-1.

gcc/ChangeLog:

* config/aarch64/aarch64-cores.def (AARCH64_CORE): New Ampere-1
core.
* config/aarch64/aarch64-tune.md: Regenerate.
* config/aarch64/aarch64-cost-tables.h: Add extra costs for
Ampere-1.
* config/aarch64/aarch64.c: Add tuning structures for Ampere-1.
* doc/invoke.texi: Add documentation for Ampere-1 core.

(cherry picked from commit 67b0d47e20e655c0dd53a76ea88aab60fafb2059)

16 months agoDaily bump.
GCC Administrator [Tue, 18 Apr 2023 00:18:56 +0000 (00:18 +0000)]
Daily bump.

16 months agors6000: Fix vector parity support [PR108699]
Kewen Lin [Tue, 4 Apr 2023 02:47:44 +0000 (21:47 -0500)]
rs6000: Fix vector parity support [PR108699]

The failures on the original failed case builtin-bitops-1.c
and the associated test case pr108699.c here show that the
current support of parity vector mode is wrong on Power.
The hardware insns vprtyb[wdq] which operate on the least
significant bit of each byte per element, they doesn't match
what RTL opcode parity needs, but the current implementation
expands it with them wrongly.

This patch is to fix the handling with one more insn vpopcntb.

PR target/108699

gcc/ChangeLog:

* config/rs6000/altivec.md (*p9v_parity<mode>2): Rename to ...
(rs6000_vprtyb<mode>2): ... this.
* config/rs6000/rs6000-builtin.def (VPRTYBD): Replace parityv2di2 with
rs6000_vprtybv2di2.
(VPRTYBW): Replace parityv4si2 with rs6000_vprtybv4si2.
(VPRTYBQ): Replace parityv1ti2 with rs6000_vprtybv1ti2.
* config/rs6000/vector.md (parity<mode>2 with VEC_IP): Expand with
popcountv16qi2 and the corresponding rs6000_vprtyb<mode>2.

gcc/testsuite/ChangeLog:

* gcc.target/powerpc/p9-vparity.c: Add scan-assembler-not for vpopcntb
to distinguish parity byte from parity.
* gcc.target/powerpc/pr108699.c: New test.

(cherry picked from commit cdd2d6643f7fef40e335a7027edfea7276cde608)

16 months agoDaily bump.
GCC Administrator [Mon, 17 Apr 2023 00:18:56 +0000 (00:18 +0000)]
Daily bump.

16 months agoFortran: fix compile-time simplification of SET_EXPONENT [PR109511]
Harald Anlauf [Fri, 14 Apr 2023 18:45:19 +0000 (20:45 +0200)]
Fortran: fix compile-time simplification of SET_EXPONENT [PR109511]

gcc/fortran/ChangeLog:

PR fortran/109511
* simplify.c (gfc_simplify_set_exponent): Fix implementation of
compile-time simplification of intrinsic SET_EXPONENT for argument
X < 1 and for I < 0.

gcc/testsuite/ChangeLog:

PR fortran/109511
* gfortran.dg/set_exponent_1.f90: New test.

(cherry picked from commit fa4cb42870df60deb8888dbd51e2ddc6d6ab9e6a)

16 months agoDaily bump.
GCC Administrator [Sun, 16 Apr 2023 00:18:17 +0000 (00:18 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Sat, 15 Apr 2023 00:18:27 +0000 (00:18 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Fri, 14 Apr 2023 00:18:54 +0000 (00:18 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Thu, 13 Apr 2023 00:18:39 +0000 (00:18 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Wed, 12 Apr 2023 00:18:31 +0000 (00:18 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Tue, 11 Apr 2023 00:17:58 +0000 (00:17 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Mon, 10 Apr 2023 00:18:00 +0000 (00:18 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Sun, 9 Apr 2023 00:18:54 +0000 (00:18 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Sat, 8 Apr 2023 00:18:05 +0000 (00:18 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Fri, 7 Apr 2023 00:18:51 +0000 (00:18 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Thu, 6 Apr 2023 00:18:02 +0000 (00:18 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Wed, 5 Apr 2023 00:18:20 +0000 (00:18 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Tue, 4 Apr 2023 00:17:55 +0000 (00:17 +0000)]
Daily bump.

16 months agoDaily bump.
GCC Administrator [Mon, 3 Apr 2023 00:18:13 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Sun, 2 Apr 2023 00:18:38 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Sat, 1 Apr 2023 00:18:57 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Fri, 31 Mar 2023 00:18:04 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Thu, 30 Mar 2023 00:18:02 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Wed, 29 Mar 2023 00:17:55 +0000 (00:17 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Tue, 28 Mar 2023 00:18:01 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Mon, 27 Mar 2023 00:18:17 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Sun, 26 Mar 2023 00:19:07 +0000 (00:19 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Sat, 25 Mar 2023 00:19:25 +0000 (00:19 +0000)]
Daily bump.

17 months agoFortran: simplification of NEAREST for large argument [PR109186]
Harald Anlauf [Sun, 19 Mar 2023 20:29:46 +0000 (21:29 +0100)]
Fortran: simplification of NEAREST for large argument [PR109186]

gcc/fortran/ChangeLog:

PR fortran/109186
* simplify.c (gfc_simplify_nearest): Fix off-by-one error in setting
up real kind-specific maximum exponent for mpfr.

gcc/testsuite/ChangeLog:

PR fortran/109186
* gfortran.dg/nearest_6.f90: New test.

(cherry picked from commit 4410a08b80cc40342eeaa5b6af824cd4352b218c)

17 months agoFortran: procedures with BIND(C) attribute require explicit interface [PR85877]
Harald Anlauf [Fri, 17 Mar 2023 21:24:49 +0000 (22:24 +0100)]
Fortran: procedures with BIND(C) attribute require explicit interface [PR85877]

gcc/fortran/ChangeLog:

PR fortran/85877
* resolve.c (resolve_fl_procedure): Check for an explicit interface
of procedures with the BIND(C) attribute (F2018:15.4.2.2).

gcc/testsuite/ChangeLog:

PR fortran/85877
* gfortran.dg/pr85877.f90: New test.

(cherry picked from commit 5426ab34643d9e6502f3ee572891a03471fa33ed)

17 months agoDaily bump.
GCC Administrator [Fri, 24 Mar 2023 00:18:32 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Thu, 23 Mar 2023 00:19:09 +0000 (00:19 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Wed, 22 Mar 2023 00:18:41 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Tue, 21 Mar 2023 00:18:25 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Mon, 20 Mar 2023 00:18:48 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Sun, 19 Mar 2023 00:18:54 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Sat, 18 Mar 2023 00:18:14 +0000 (00:18 +0000)]
Daily bump.

17 months agoFortran: fix bounds check for copying of class expressions [PR106945]
Harald Anlauf [Sat, 11 Mar 2023 14:37:37 +0000 (15:37 +0100)]
Fortran: fix bounds check for copying of class expressions [PR106945]

In the bounds check for copying of class expressions, the number of elements
determined from a descriptor, returned as type gfc_array_index_type (i.e. a
signed type), should be converted to the type of the passed element count,
which is of type size_type_node (i.e. unsigned), for use in comparisons.

gcc/fortran/ChangeLog:

PR fortran/106945
* trans-expr.c (gfc_copy_class_to_class): Convert element counts in
bounds check to common type for comparison.

gcc/testsuite/ChangeLog:

PR fortran/106945
* gfortran.dg/pr106945.f90: New test.

(cherry picked from commit 2cf5f485e0351bb1faf46196a99e524688f3966e)

17 months agoFortran: fix ICE with bind(c) in block data [PR104332]
Harald Anlauf [Thu, 9 Mar 2023 17:59:08 +0000 (18:59 +0100)]
Fortran: fix ICE with bind(c) in block data [PR104332]

gcc/fortran/ChangeLog:

PR fortran/104332
* resolve.c (resolve_symbol): Avoid NULL pointer dereference while
checking a symbol with the BIND(C) attribute.

gcc/testsuite/ChangeLog:

PR fortran/104332
* gfortran.dg/bind_c_usage_34.f90: New test.

(cherry picked from commit e20e5d9dc11b64e8eabce6803c91cb5768207083)

17 months agoDaily bump.
GCC Administrator [Fri, 17 Mar 2023 00:18:37 +0000 (00:18 +0000)]
Daily bump.

17 months agolibstdc++: Fix std::filesystem errors with -fkeep-inline-functions [PR108636]
Jonathan Wakely [Thu, 2 Feb 2023 14:06:40 +0000 (14:06 +0000)]
libstdc++: Fix std::filesystem errors with -fkeep-inline-functions [PR108636]

With -fkeep-inline-functions there are linker errors when including
<filesystem>. This happens because there are some filesystem::path
constructors defined inline which call non-exported functions defined in
the library. That's usually not a problem, because those constructors
are only called by code that's also inside the library. But when the
header is compiled with -fkeep-inline-functions those inline functions
are emitted even though they aren't called. That then creates an
undefined reference to the other library internals. The fix is to just
move the private constructors into the library where they are called.
That way they are never even seen by users, and so not compiled even if
-fkeep-inline-functions is used.

libstdc++-v3/ChangeLog:

PR libstdc++/108636
* include/bits/fs_path.h (path::path(string_view, _Type))
(path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
definitions to ...
* src/c++17/fs_path.cc: ... here.
* testsuite/27_io/filesystem/path/108636.cc: New test.

(cherry picked from commit db8d6fc572ec316ccfcf70b1dffe3be0b1b37212)

17 months agoDaily bump.
GCC Administrator [Thu, 16 Mar 2023 00:18:36 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Wed, 15 Mar 2023 00:18:22 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Tue, 14 Mar 2023 00:19:09 +0000 (00:19 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Mon, 13 Mar 2023 00:18:54 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Sun, 12 Mar 2023 00:18:11 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Sat, 11 Mar 2023 00:18:11 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Fri, 10 Mar 2023 00:18:43 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Thu, 9 Mar 2023 00:18:24 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Wed, 8 Mar 2023 00:18:39 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Tue, 7 Mar 2023 00:18:24 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Mon, 6 Mar 2023 00:18:27 +0000 (00:18 +0000)]
Daily bump.

17 months agoFortran: fix corner case of IBITS intrinsic [PR108937]
Harald Anlauf [Mon, 27 Feb 2023 20:37:11 +0000 (21:37 +0100)]
Fortran: fix corner case of IBITS intrinsic [PR108937]

gcc/fortran/ChangeLog:

PR fortran/108937
* trans-intrinsic.c (gfc_conv_intrinsic_ibits): Handle corner case
LEN argument of IBITS equal to BITSIZE(I).

gcc/testsuite/ChangeLog:

PR fortran/108937
* gfortran.dg/ibits_2.f90: New test.

(cherry picked from commit 6cce953ebec274f1468d5d3a0697cf05bb43b8f6)

17 months agoFortran: reject invalid CHARACTER length of derived type components [PR96024]
Harald Anlauf [Tue, 21 Feb 2023 21:06:33 +0000 (22:06 +0100)]
Fortran: reject invalid CHARACTER length of derived type components [PR96024]

gcc/fortran/ChangeLog:

PR fortran/96024
* resolve.c (resolve_component): The type of a CHARACTER length
expression must be INTEGER.

gcc/testsuite/ChangeLog:

PR fortran/96024
* gfortran.dg/pr96024.f90: New test.

(cherry picked from commit 31303c9b5bab200754cdb7ef8cd91ae4918f3018)

17 months agoFortran: improve checking of character length specification [PR96025]
Harald Anlauf [Mon, 20 Feb 2023 20:28:09 +0000 (21:28 +0100)]
Fortran: improve checking of character length specification [PR96025]

gcc/fortran/ChangeLog:

PR fortran/96025
* parse.c (check_function_result_typed): Improve type check of
specification expression for character length and return status.
(parse_spec): Use status from above.
* resolve.c (resolve_fntype): Prevent use of invalid specification
expression for character length.

gcc/testsuite/ChangeLog:

PR fortran/96025
* gfortran.dg/pr96025.f90: New test.

(cherry picked from commit 6c1b825b3d6499dfeacf7c79dcf4b56a393ac204)

17 months agoDaily bump.
GCC Administrator [Sun, 5 Mar 2023 00:18:31 +0000 (00:18 +0000)]
Daily bump.

17 months agoDaily bump.
GCC Administrator [Sat, 4 Mar 2023 00:18:05 +0000 (00:18 +0000)]
Daily bump.

17 months agos390: libatomic: Fix 16 byte atomic {cas,load,store}
Stefan Schulze Frielinghaus [Fri, 3 Mar 2023 16:14:13 +0000 (17:14 +0100)]
s390: libatomic: Fix 16 byte atomic {cas,load,store}

This is a follow-up to commit a4c6bd0821099f6b8c0f64a96ffd9d01a025c413
introducing a runtime check for alignment for 16 byte atomic
compare-exchange, load, and store.

libatomic/ChangeLog:

* config/s390/cas_n.c: New file.
* config/s390/load_n.c: New file.
* config/s390/store_n.c: New file.

(cherry picked from commit 9056d0df830c5a295d7594d517d409d10476990d)

17 months agod: Fix ICE on explicit immutable struct import [PR108877]
Iain Buclaw [Mon, 27 Feb 2023 19:46:18 +0000 (20:46 +0100)]
d: Fix ICE on explicit immutable struct import [PR108877]

Const and immutable types are built as variants of the type they are
derived from, and TYPE_STUB_DECL is not set for these variants.

PR d/108877

gcc/d/ChangeLog:

* imports.cc (ImportVisitor::visit (EnumDeclaration *)): Call
make_import on TYPE_MAIN_VARIANT.
(ImportVisitor::visit (AggregateDeclaration *)): Likewise.
(ImportVisitor::visit (ClassDeclaration *)): Likewise.

gcc/testsuite/ChangeLog:

* gdc.dg/imports/pr108877a.d: New test.
* gdc.dg/pr108877.d: New test.

(cherry picked from commit ce1cea3e22f58bbddde017f8a92e59bae8892339)

17 months agoDaily bump.
GCC Administrator [Fri, 3 Mar 2023 00:18:09 +0000 (00:18 +0000)]
Daily bump.

18 months agoDaily bump.
GCC Administrator [Thu, 2 Mar 2023 00:19:00 +0000 (00:19 +0000)]
Daily bump.

18 months agoDaily bump.
GCC Administrator [Wed, 1 Mar 2023 00:19:38 +0000 (00:19 +0000)]
Daily bump.

18 months agoDaily bump.
GCC Administrator [Tue, 28 Feb 2023 00:20:19 +0000 (00:20 +0000)]
Daily bump.

18 months agoDaily bump.
GCC Administrator [Mon, 27 Feb 2023 00:18:57 +0000 (00:18 +0000)]
Daily bump.

18 months agoDaily bump.
GCC Administrator [Sun, 26 Feb 2023 00:19:34 +0000 (00:19 +0000)]
Daily bump.

18 months agoDaily bump.
GCC Administrator [Sat, 25 Feb 2023 00:19:31 +0000 (00:19 +0000)]
Daily bump.

18 months agoRTEMS: Tune multilib selection
Sebastian Huber [Wed, 22 Feb 2023 20:38:18 +0000 (21:38 +0100)]
RTEMS: Tune multilib selection

gcc/ChangeLog:

* config/riscv/t-rtems: Keep only -mcmodel=medany 64-bit multilibs.
Add non-compact 32-bit multilibs.

(cherry picked from commit 35a067020e41d97bc3be15b518b3dc2a64b4aae2)

18 months agoDaily bump.
GCC Administrator [Fri, 24 Feb 2023 00:19:26 +0000 (00:19 +0000)]
Daily bump.

18 months agoDaily bump.
GCC Administrator [Thu, 23 Feb 2023 00:20:01 +0000 (00:20 +0000)]
Daily bump.

18 months agoDaily bump.
GCC Administrator [Wed, 22 Feb 2023 00:20:32 +0000 (00:20 +0000)]
Daily bump.

18 months agoDaily bump.
GCC Administrator [Tue, 21 Feb 2023 00:19:52 +0000 (00:19 +0000)]
Daily bump.

18 months agoaarch64: Fix up bfmlal lane pattern [PR104921]
Alex Coplan [Mon, 6 Feb 2023 14:32:21 +0000 (14:32 +0000)]
aarch64: Fix up bfmlal lane pattern [PR104921]

As the testcase shows, this pattern had an incorrect constraint leading
to GCC's output getting rejected by the assembler.

This patch fixes the constraint accordingly.

The test is split into two: one that can run without bf16 support from
the assembler and another that checks that the output actually assembles
when such support is available.

gcc/ChangeLog:

PR target/104921
* config/aarch64/aarch64-simd.md (aarch64_bfmlal<bt>_lane<q>v4sf):
Use correct constraint for operand 3.

gcc/testsuite/ChangeLog:

PR target/104921
* gcc.target/aarch64/pr104921-1.c: New test.
* gcc.target/aarch64/pr104921-2.c: New test.
* gcc.target/aarch64/pr104921.x: Include file for new tests.

(cherry picked from commit 277e1f30a5e4e634304a7b8a532825119f0ea47f)

18 months agoRISC-V: jal cannot refer to a default visibility symbol for shared object. [PR 108339]
Nelson Chu [Mon, 29 Nov 2021 12:48:20 +0000 (04:48 -0800)]
RISC-V: jal cannot refer to a default visibility symbol for shared object. [PR 108339]

This is the original binutils bugzilla report,
https://sourceware.org/bugzilla/show_bug.cgi?id=28509

And this is the first version of the proposed binutils patch,
https://sourceware.org/pipermail/binutils/2021-November/118398.html

After applying the binutils patch, I get the the unexpected error when
building libgcc,

/scratch/nelsonc/riscv-gnu-toolchain/riscv-gcc/libgcc/config/riscv/div.S:42:
/scratch/nelsonc/build-upstream/rv64gc-linux/build-install/riscv64-unknown-linux-gnu/bin/ld: relocation R_RISCV_JAL against `__udivdi3' which may bind externally can not be used when making a shared object; recompile with -fPIC

Therefore, this patch add an extra hidden alias symbol for __udivdi3, and
then use HIDDEN_JUMPTARGET to target a non-preemptible symbol instead.
The solution is similar to glibc as follows,
https://sourceware.org/git/?p=glibc.git;a=commit;h=68389203832ab39dd0dbaabbc4059e7fff51c29b

libgcc/ChangeLog:

PR target/108339
* config/riscv/div.S: Add the hidden alias symbol for __udivdi3, and
then use HIDDEN_JUMPTARGET to target it since it is non-preemptible.
* config/riscv/riscv-asm.h: Added new macros HIDDEN_JUMPTARGET and
HIDDEN_DEF.

(cherry picked from commit 45116f342057b7facecd3d05c2091ce3a77eda59)

18 months agoRISC-V: Make __divdi3 handle div by zero same as hardware.
Jim Wilson [Tue, 2 Jun 2020 18:19:39 +0000 (11:19 -0700)]
RISC-V: Make __divdi3 handle div by zero same as hardware.

The ISA manual specifies that divide by zero always returns -1 as the result.
We were failing to do that when the dividend was negative.

Original patch from Virginie Moser.

libgcc/
* config/riscv/div.S (__divdi3): For negative arguments, change bgez
to bgtz.

(cherry picked from commit 4013baf99c38f7bca06a51f8301e8fb195ccfa33)

18 months agoDaily bump.
GCC Administrator [Mon, 20 Feb 2023 00:18:22 +0000 (00:18 +0000)]
Daily bump.

18 months agoDaily bump.
GCC Administrator [Sun, 19 Feb 2023 00:18:49 +0000 (00:18 +0000)]
Daily bump.

18 months agoDaily bump.
GCC Administrator [Sat, 18 Feb 2023 00:19:09 +0000 (00:19 +0000)]
Daily bump.

18 months agoDaily bump.
GCC Administrator [Fri, 17 Feb 2023 00:19:26 +0000 (00:19 +0000)]
Daily bump.

18 months agoDaily bump.
GCC Administrator [Thu, 16 Feb 2023 00:19:47 +0000 (00:19 +0000)]
Daily bump.

This page took 0.093958 seconds and 5 git commands to generate.