For __MINGW32__, we need to include for malloc.
gcc/ada/ChangeLog:
PR ada/123037
* rtinit.c: Include for __MINGW32__.
---
OK? I can swap the order of includes if preferred so stdlib.h comes before
windows.h,
but I'm not familiar enough with Windows and I wasn't sure if would
e
On Sat, Dec 06, 2025 at 05:10:28PM -0700, Sandra Loosemore wrote:
> I'm not sure what the rationale is for having "RejectNegative" on all
> of the options that control instruction usage except for -mdouble-float,
> but with this patch the documentation matches what is in the .opt files.
I think my
Following Andrew Pinski's suggestions in
https://gcc.gnu.org/pipermail/gcc-patches/2025-July/689683.html, just
use the output of:
$(CC) -print-sysroot
It is just used in one spot, in an AIX code-path. I just made (within
make) a shell variable to use instead.
I don't have AIX on-hand to test
My goal is to be able to build libgcc cleanly in isolation --- today one
needs to figure `make ...` misc things in the gcc subdir.
Following Andrew Pinski's suggestions in
https://gcc.gnu.org/pipermail/gcc-patches/2025-July/689683.html, this
commit moves the NO_PIE_CFLAGS logic.
gcc/ChangeLog:
On Fri, Nov 14, 2025 at 6:29 AM H.J. Lu wrote:
>
> On Wed, Oct 22, 2025 at 3:53 PM H.J. Lu wrote:
> >
> > On Thu, Sep 18, 2025 at 8:40 PM H.J. Lu wrote:
> > >
> > > On Wed, Sep 10, 2025 at 11:11 AM H.J. Lu wrote:
> > > >
> > > > Since C, C++, and Fortran front-ends now set the TLS access model
On Sun, Dec 7, 2025 at 10:41 AM H.J. Lu wrote:
>
> On Sun, Dec 7, 2025 at 3:31 AM Florian Weimer wrote:
> >
> > * H. J. Lu:
> >
> > > For TLS calls:
> > >
> > > 1. UNSPEC_TLS_GD:
> > >
> > > (parallel [
> > > (set (reg:DI 0 ax)
> > >(call:DI (mem:QI (symbol_ref:DI ("__tls_get_addr")
On Sat, 6 Dec 2025, Sandra Loosemore wrote:
> gcc/ChangeLog
> PR other/122243
> * doc/invoke.texi (Option Summary) : Remove redundant
> -mno- forms from the list.
I'm glad you're not asking for approval, because things like
these are pretty obvious! (FAOD: ok, and thanks.)
br
On Sun, Dec 7, 2025 at 3:31 AM Florian Weimer wrote:
>
> * H. J. Lu:
>
> > For TLS calls:
> >
> > 1. UNSPEC_TLS_GD:
> >
> > (parallel [
> > (set (reg:DI 0 ax)
> >(call:DI (mem:QI (symbol_ref:DI ("__tls_get_addr")))
> > (const_int 0 [0])))
> > (unspec:DI [(symbol_r
On Dec 5, 2025, Eric Botcazou wrote:
>> * cselib.cc (cselib_invalidate_mem): Lookup the address as
>> part of canonicalizing it.
> The cselib_invalidate_mem change looks a bit risky at this stage
... and here's that part split out for the next stage1. Ok then?
When processing stores for e.g
On Dec 5, 2025, Eric Botcazou wrote:
> The cselib_invalidate_mem change looks a bit risky at this stage if it does
> not really fix anything.
It does fix at least incorrect (excessive) invalidation of on-stack
values during pushes for calls, but those are mostly ephemeral and
rarelly benefit f
gcc/ChangeLog
PR other/122243
* doc/invoke.texi (Option Summary) : Add
several missing options.
(Nvidia PTX Options): Correct index entry for -march-map. List
negative forms of -moptimize, muniform-simt, and -mgomp. Fix some
Texinfo markup issues.
-
While working on this patch I saw that this target has an -mlra option
that still defaults to off. Although the LRA support was added in
2018 apparently it wasn't robust enough to enable by default. We are
supposed to be deleting reload support and all targets that don't use
LRA by default in GCC
I'm not sure what the rationale is for having "RejectNegative" on all
of the options that control instruction usage except for -mdouble-float,
but with this patch the documentation matches what is in the .opt files.
gcc/ChangeLog
PR other/122243
* config/or1k/elf.opt (mnewlib): Mar
gcc/ChangeLog
PR other/122243
* doc/invoke.texi (Option Summary) : Don't list
both positive and negative option forms.
(NDS32 Options): Consolidate separate entries for positive and
negative forms of the same option. Document missing negative
forms i
gcc/ChangeLog
PR other/122243
* doc/invoke.texi (Option Summary) : Fix whitespace
in option list.
(PRU Options): Copy-editing. Index and list negative option forms.
---
gcc/doc/invoke.texi | 23 +++
1 file changed, 15 insertions(+), 8 deletions(
gcc/ChangeLog
PR other/122243
* doc/invoke.texi (Option Summary) : Remove redundant
-mno- forms from the list.
---
gcc/doc/invoke.texi | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index ba58398e7c3..b8
gcc/ChangeLog
PR other/122243
* config/mips/mips.opt (mfix4300): Mark as "Undocumented".
(mnoasmopt): Likewise.
* doc/invoke.texi (Option Summary) : Add missing
entries for -mel/-meb. Only list one of -mfoo/-mno-foo.
(MIPS Options): Document -meb/-m
gcc/ChangeLog
PR other/122243
* doc/invoke.texi (Option Summary) : Remove
redundant -mno entry.
(M32R/D Options): Regularize form of @opindex entries for
various options of the form -mfoo=@var{value}. Combine
the documentation for -malign-loops and -
gcc/ChangeLog
PR other/122243
* doc/invoke.texi (M32C Options): Add missing @opindex for negative
form.
---
gcc/doc/invoke.texi | 1 +
1 file changed, 1 insertion(+)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 5fff5c022c4..3c9d004790f 100644
--- a/gcc/doc/
gcc/ChangeLog
PR other/122243
* config/microblaze/microblaze.opt (Zxl-mode-bootstrap):
Mark as "Undocumented".
(Zxl-mode-executable): Likewise.
(Zxl-mode-novectors): Likewise.
(Zxl-mode-xilkernel): Likewise.
(Zxl-mode-xmdstub): Likewise.
gcc/ChangeLog
PR other/122243
* config/msp430/msp32.opt (mcpu): Mark deprecated option as
"Undocumented".
(mdevices-csv-loc=): Mark option not intended to be used by users
as "Undocumented".
* doc/invoke.texi (Option Summary) : Fill in
argumen
gcc/ChangeLog
PR other/122243
* doc/invoke.texi (LM32 Options): Add @opindex entries for negative
option forms.
---
gcc/doc/invoke.texi | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index c08d84d9bdc..c93
Note that the default for the -mlra option on HPPA was recently
changed from 0 to 1. This option has never been documented for this
target and reload is supposed to be going away entirely soon, so I
see no reason to document it now.
gcc/ChangeLog
PR other/122243
* config/pa/pa.opt
gcc/ChangeLog
PR other/122243
* doc/invoke.texi (Option Summary) : Remove
redundant -no options.
(MCore Options): Disambiguate documentation for
-mbig-endian/-mlittle-endian and -m210/-m340.
---
gcc/doc/invoke.texi | 18 +++---
1 file changed, 11
This backend is no longer maintained and was supposed to have been
deleted as of GCC 15, but since it is still part of GCC and documented
in the manual, I have gone ahead and fixed up its options
documentation for consistency with other active targets.
gcc/ChangeLog
PR other/122243
gcc/ChangeLog
PR other/122243
* doc/invoke.texi (Option Summary) :
Remove redundant -mno forms from list. Fix formatting so that
there is uniformly two spaces between options on the same line.
(LoongArch Options): Copy-editing for grammar, etc. Add
gcc/ChangeLog
PR other/122243
* doc/invoke.texi (Option Summary) : Remove
redundant -mno- forms from the list.
(MN10300 Options): Combine the documentation for -mmult-bug,
-mam33, -mliw, and -msetlb with the entries for the respective
negative forms.
Comparing the documentation in invoke.texi with hs8300.opt, I spotted
a few options in the latter that were missing documentation, and added
it.
I wanted to add a link to the "monitor" attribute
referenced in the existing docs for this option, but found that was
also missing, along with docs for t
gcc/ChangeLog
PR other/122243
PR target/119404
* config/m68k/m68k.opt (mlra): Fix typo in help string.
* doc/invoke.texi (Option Summary) : Remove
redundant -mno- forms from the list.
(M680x0 Options): Combine documentation for -mshort, mbitfield,
Here's a second set of patches to clean up the documentation for
target-specific options. As with the already-committed first set, my
focus here has been to try to get the .opt files, option summary, and
detailed option documentation in agreement; index both positive and
negative forms of the opti
The ARC front end presently has a large number of options that are
explicitly deprecated, either by the "Warn" option or by being
documented as such in the GCC manual. The manual text has documented
a long list of obsolete options with a warning that they will be removed
completely in a future rel
This macro deduplicates the
$CC -v 2>&1 | sed -n 's/^Thread model: //p'
check that was occurring in various runtime libs.
Additionally, as a bit of an Easter egg, this also allows overriding
what the compiler would return by setting the
`gcc_cv_target_thread_file` cache variable first. I adm
This fixes a regression introduced with r16-5258-g1d8e2d51e5c5cb.
With GCC 12+, we would not merge forwarders (with phis, vops included),
this meant that after the last cddce, degenerate phis would stay not
merged which allowed for better expansion. Now after my patch, the forwarder
block would be
This moves make_forwarders_with_degenerate_phis to tree-cfg.cc
from tree-ssa-dce.cc to be able to use in a different pass.
Bootstrapped and tested on x86_64-linux-gnu.
gcc/ChangeLog:
* tree-ssa-dce.cc (sort_phi_args): Move to tree-cfg.cc.
(make_forwarders_with_degenerate_phis): M
To understand what this function does, add a debug dump.
Bootstrapped and tested on x86_64-linux-gnu.
gcc/ChangeLog:
* tree-cfg.cc (make_forwarders_with_degenerate_phis): Add debug
dump.
Signed-off-by: Andrew Pinski
---
gcc/tree-cfg.cc | 7 +++
1 file changed, 7 insertions
* H. J. Lu:
> For TLS calls:
>
> 1. UNSPEC_TLS_GD:
>
> (parallel [
> (set (reg:DI 0 ax)
>(call:DI (mem:QI (symbol_ref:DI ("__tls_get_addr")))
> (const_int 0 [0])))
> (unspec:DI [(symbol_ref:DI ("e") [flags 0x50])
> (reg/f:DI 7 sp)] UNSPEC_TLS_GD)
>
If the reducer is a function and the accumulator type isn't constrained, at
runtime the reduction will likely raise a Constraint_Error since the reducer
is repeatedly assigned to the accumulator variable (likely changing its
length). However, if the reducer is a procedure, no such assignment occ
Hi,
This patch adds support for AMD znver6 processor.
For avx512bmm instructions, this patch adds the intrinsics support.
Code-generation and runtime tests will be added in the future patches.
Bootstrapped and tested on x86.
Thank you,
Umesh
>From f8b45a4d969f2003fa798b987c95879bbf6c3e0b Mon Se
When predicated tails are enabled for basic block SLP vectorization,
the assembly language generated by GCC when compiling popcnt-sve.c
will change. Relax the regular expressions used by this test in
preparation.
Currently, analysis of f_v8hi succeeds with vector mode V16QI and the
following GIMPL
Moved existing code to determine the partial vector
style for a load or store into a new function
that will be reused for BB SLP with predicated tails.
gcc/ChangeLog:
* tree-vect-stmts.cc (vect_get_partial_vector_style): Define a
new function to get the partial vectors style suppo
Instruments those things that needed to be instrumented
in order to develop predicated tails for basic block
SLP (superword-level parallelism).
gcc/ChangeLog:
* tree-vect-loop.cc (vect_get_max_nscalars_per_iter): Dump the
result.
(vect_verify_full_masking): Dump the number
Update all callers to pass a pointer to the vectorizer state
into this helper function. Its value is temporarily unused
but will be required for BB SLP with predicated tails.
gcc/ChangeLog:
* tree-vect-loop.cc (vectorizable_lane_reducing): Pass
loop_vinfo to vect_maybe_update_slp_
Add two new fields to SLP tree nodes, which are accessed as
SLP_TREE_CAN_USE_PARTIAL_VECTORS_P and SLP_TREE_PARTIAL_VECTORS_STYLE.
SLP_TREE_CAN_USE_PARTIAL_VECTORS_P is analogous to the existing
predicate LOOP_VINFO_CAN_USE_PARTIAL_VECTORS_P. It is initialized to
true. This flag just records wheth
When given a constructor of variable-length vector type, the
store_constructor function now builds a vector with the number of
elements specified by the constructor and uses it to emit the body
of the kind of insn chosen by the convert_optab_handler function.
Previously, this function used a fallba
e7301f5fcbfa6 required the sizes and offsets of a
BIT_FIELD_REF to be poly_uint64s rather than uhwis.
When support for predicated vector tails with BB SLP
is enabled, GIMPLE will sometimes contain statements
such as:
float _246;
vector([4,4]) float _251;
_251 =
{ _234, _236, _238, _84 }
;
246 =
New tests verify that GCC can generate predicated vector-length
specific code for AArch64 if the specified vector length is
shorter than, equal to, or longer than the number of elements to
be processed (including if the specified length is sufficient but
the minimum length would not be); other test
This enables use of a predicate mask or length limit for
vectorization of basic blocks in cases where previously only the
equivalent rolled (i.e. loop) form of some source code would have
been vectorized. Predication is used for groups whose size
is not neatly divisible into vectors of lengths that
Created a new function, gimple_build_vector_from_elems,
for use when creating vectorized definitions for basic block
vectorization in vect_create_constant_vectors.
The existing gimple_build_vector function cannot be used
for SVE vector types because it relies on the type
associated with the tree_v
Calls to vect_(get|record)_loop_(mask|len) are replaced
with calls to new wrappers that have an extra (SLP node)
parameter and which can operate on any vec_info, not just
a loop_vec_info. These wrappers pass calls through to the
original functions (and ignore the SLP node) when invoked
with a loop_
GCC already supports fully-predicated vectorisation for loops, both
using "traditional" loop vectorisation and loop-aware SLP
(superword-level parallelism). For example, GCC can vectorise:
void
foo (char *x)
{
for (int i = 0; i < 6; i += 2)
{
x[i] += 1;
x[i + 1] += 2;
}
}
fr
Just a minor update to Dimitar's patch for the RISC-V testcase.
The cfi directives are not emitted for the -elf configurations causing
the new test to fail. The cfi directives (and associated labels) don't
seem relevant to the test at hand, so this just drops them.
Pushing to the trunk.
jef
On 11/26/25 5:54 PM, H.J. Lu wrote:
Volatile memory can be used as source operand for any operations. Add
-ffuse-ops-with-volatile-access to fuse operations with volatile memory
reference and update simplify_binary_operation_1 to keep PLUS for 2
volatile memory references. On x86, this optim
Removing mark_used from resolve_nondeduced_context as Patrick and Jason
suggested caused no regressions.
Regtested on x86_64-pc-linux-gnu, OK for trunk?
-- >8 --
When checking a deleted explicit specialization in a SFINAE context,
we were incorrectly selecting a partial specialization because
re
gcc/ChangeLog:
* doc/install.texi: Document --with-windres configure option.
Signed-off-by: Peter Damianov
---
gcc/doc/install.texi | 4
1 file changed, 4 insertions(+)
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 67553ffae69..76ab36e53f3 100644
--- a/gcc/doc/ins
To align with the rest of the options (--with-ld, --with-as, --with-dsymutil),
implement --with-windres for overriding the windres binary the driver invokes
with an absolute path to a windres binary.
gcc/
PR target/108866
* gcc.cc (find_a_program): Add check for DEFAULT_WINDRES.
This patch adds support for compiling Windows resource files
(.rc) and pre-compiled resource files (.res) directly through the
GCC driver on PECOFF targets.
Previously, users had to manually invoke windres to compile resource
files before linking:
windres -o resource.o resource.rc
gcc mai
>
>
> On 12/4/25 10:18 AM, Dimitar Dimitrov wrote:
> > On Thu, Dec 04, 2025 at 03:27:53PM +0100, Jan Hubicka wrote:
> > > > Starting with r16-4438-ga93f80feeef744, the edges started to be sorted
> > > > in ascending order. Thus the most likely branches were deprioritized
> > > > instead of optim
On Sat, 06 Dec 2025 at 12:30 +, Jonathan Wakely wrote:
On Fri, 29 Aug 2025 at 13:33 +0200, Tomasz Kamiński wrote:
The changes the _Variadic_union implementation, in a way that the
_Unitialized partial specialization for non-trivial types is not
necessary.
This is simply done by separating t
On Fri, 29 Aug 2025 at 13:33 +0200, Tomasz Kamiński wrote:
The changes the _Variadic_union implementation, in a way that the
_Unitialized partial specialization for non-trivial types is not
necessary.
This is simply done by separating the specialization for
__trivially_destructible
being true a
On Sat, 06 Dec 2025 at 10:52 +, Jonathan Wakely wrote:
On Fri, 05 Dec 2025 at 20:08 +, Iain Sandoe wrote:
Hi Jonathan,
As discussed off-list, here are my findings about implementing this on
Darwin (presented here for the search engine record).
On 26 Nov 2025, at 09:48, Jonathan Wakely
On Fri, 05 Dec 2025 at 20:08 +, Iain Sandoe wrote:
Hi Jonathan,
As discussed off-list, here are my findings about implementing this on
Darwin (presented here for the search engine record).
On 26 Nov 2025, at 09:48, Jonathan Wakely wrote:
On Tue, 25 Nov 2025 at 21:08, Jonathan Wakely wro
On Sat, 6 Dec 2025 at 09:14, Jason Merrill wrote:
>
> On 12/6/25 11:52 AM, [email protected] wrote:
> > Dear contributor,
> >
> > Our automatic CI has detected problems related to your patch(es). Please
> > find some details below.
> >
> > In arm-eabi v7-a softfp, after:
> >| commit gcc-1
On Sat, Dec 06, 2025 at 11:17:11AM +0100, Richard Biener wrote:
> > The following testcase ICEs since checking has been added to TYPE_PRECISION
> > macro. check_bitfield_type_and_width is called when attributes haven't
> > been applied to the bit-field decl yet and so it still has INTEGER_TYPE
> >
> Am 06.12.2025 um 11:07 schrieb Jakub Jelinek :
>
> Hi!
>
> The following testcase ICEs since checking has been added to TYPE_PRECISION
> macro. check_bitfield_type_and_width is called when attributes haven't
> been applied to the bit-field decl yet and so it still has INTEGER_TYPE
> type,
Hi!
The following testcase ICEs since checking has been added to TYPE_PRECISION
macro. check_bitfield_type_and_width is called when attributes haven't
been applied to the bit-field decl yet and so it still has INTEGER_TYPE
type, while at finish_struct time it already has VECTOR_TYPE.
The followi
On 12/6/25 3:31 PM, Jakub Jelinek wrote:
Hi!
This is another thing discussed in the 1/9 Reflection thread,
also not dependent on reflection.
decl_attributes calls simple_cst_equal on TREE_VALUEs of the
current and preexisting attributes, but that is just a small
part of how attribute values sho
On 12/6/25 3:27 PM, Jakub Jelinek wrote:
Hi!
This has been discussed in the 1/9 Reflection thread, but doesn't depend on
reglection in any way.
cp_parser_std_attribute calls lookup_attribute_spec as:
const attribute_spec *as
= lookup_attribute_spec (TREE_PURPOSE (attribute));
so with
Hi!
This is another thing discussed in the 1/9 Reflection thread,
also not dependent on reflection.
decl_attributes calls simple_cst_equal on TREE_VALUEs of the
current and preexisting attributes, but that is just a small
part of how attribute values should be compared.
The following patch fixes
Hi!
This has been discussed in the 1/9 Reflection thread, but doesn't depend on
reglection in any way.
cp_parser_std_attribute calls lookup_attribute_spec as:
const attribute_spec *as
= lookup_attribute_spec (TREE_PURPOSE (attribute));
so with TREE_LIST where TREE_VALUE is attribute name
Hi!
Sorry, testing the last posted version of the patch revealed a forgotten
hunk in the testsuite (testsuite_shared.cc) which broke the whole libstdc++
testing.
This version has that hunk removed/ChangeLog adjusted and passed
bootstrap/regtest on x86_64-linux and i686-linux.
2025-12-06 Jakub J
On 12/6/25 11:52 AM, [email protected] wrote:
Dear contributor,
Our automatic CI has detected problems related to your patch(es). Please find
some details below.
In arm-eabi v7-a softfp, after:
| commit gcc-16-5581-g3ad2e2d707c3
| Author: Jason Merrill
| Date: Tue Nov 11 15:58:
Thanks, Jerry!
Pushed to mainline as:
122578 r16-5933
122669 r16-5934
122670 r16-5935
122693 r16-5936
and BTY:
103371 r16-5848 (I don't think that I confirmed that this had been pushed.)
Regards
Paul
On Fri, 5 Dec 2025 at 18:21, Jerry D wrote:
> On 12/5/25 3:24 AM, Paul Richard Thomas wrote
72 matches
Mail list logo