"H.J. Lu" writes:
> Don't hoist non all 0s/1s vector set outside of the loop to avoid extra
> spills.
It seems this could be a loss if there are actually enough registers.
So you need to make it depend on the register pressure?
-Andi
On Fri, Aug 01, 2025 at 06:11:04PM +, Qing Zhao wrote:
> This is the 9th version of the patch set to extend "counted_by" attribute
> to pointer fields of structures, which fixes PR120929:
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120929
Thanks! I've validated this works with my patche
> and "get those settings passed down from top level" is one plausible end
> state - sharing logic implicitly that way rather than expanding it all
> locally in each target library configure script, even if expanding it
> locally for each library is useful as an intermediate stage.)
Correct m
H.J., I assume you also wanted to activate the respective section?
Pushed.
Gerald
---
htdocs/gcc-16/changes.html | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/htdocs/gcc-16/changes.html b/htdocs/gcc-16/changes.html
index 37fcb605..a75d3b5a 100644
--- a/htdocs/gcc-16/chan
On Thu, Dec 7, 2023 at 2:07 PM Jonathan Wakely wrote:
>
> Tested x86_64-linux. Pushed to trunk.
>
> -- >8 --
>
> The changes in r14-6198-g5e8a30d8b8f4d7 were broken, as I used
> _GLIBCXX17_CONSTEXPR for the 'if _GLIBCXX17_CONSTEXPR (true)' condition,
> forgetting that it would also be used for the
gcc:
PR target/69374
* doc/install.texi (Specific) : Drop note on 16-bit
Windows support. Streamline note on 32-bit support.
---
gcc/doc/install.texi | 7 ---
1 file changed, 7 deletions(-)
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index f4cba098932..f3f
based on the technical specification n3589[1]
deferred statements execute at the end of the scope they're added on,
similar to the cleanup attribute, and they have much of the same
constraints as statement expressions, with added limitation that no
local jump shall jump over a defer statement, nor
represent the start and end of scope which a local jump is not allowed
to cross as a jump barrier, moving this logic out into a function allows
for defer statements to use the same codepath
gcc/c/ChangeLog:
* c-decl.cc (struct c_jump_barrier): New structure.
(struct c_spot_binding
gcc/c-family/ChangeLog:
* c-common.h (D_CXX11): Adjust.
(D_EXT): Likewise.
(D_EXT89): Likewise.
(D_EXT11): Likewise.
(D_ASM): Likewise.
(D_OBJC): Likewise.
(D_CXX_OBJC): Likewise.
(D_CXXWARN): Likewise.
(D_CXX_CONCEPTS): Likew
for future use with defer statements, as they do not have a declaration
associated, and are bound to the scope with a BIND_EXPR
gcc/c/ChangeLog:
* c-typeck.cc (push_cleanup): Adjust.
Signed-off-by: Anna (navi) Figueiredo Gomes
---
gcc/c/c-typeck.cc | 10 --
1 file changed, 8 in
based on n3589[1], this feature mostly makes use of already-established
logic, namely push_cleanup used by the cleanup attribute, and the
constraints put in place for checking local jumps against statement
expressions
1: https://open-std.org/JTC1/SC22/WG14/www/docs/n3589.pdf
Anna (navi) Figueired
Google's news site starts 2016 only.
Pushed.
Gerald
---
htdocs/news.html | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/htdocs/news.html b/htdocs/news.html
index 5bf6e197..e41a5e25 100644
--- a/htdocs/news.html
+++ b/htdocs/news.html
@@ -401,8 +401,7 @@
GCC Google Summe
Hi!
I've tried compiling
#include
with -std=c++26 -fdump-lang-all
and
for i in `grep ^Class.std::[^_] *.C.001l.class | sed 's/^Class //;s/[< ].*$//'
| sort -u | grep -v ::.*::`; do grep -q $i
/usr/src/gcc/libstdc++-v3/src/c++23/std.cc.in || echo $i; done
This printed
std::auto_ptr
std::binary_f
On Fri, Aug 1, 2025 at 10:32 PM Uros Bizjak wrote:
>
> On Sat, Aug 2, 2025 at 3:22 AM H.J. Lu wrote:
> >
> > After
> >
> > commit 965564eafb721f813a3112f1bba8d8fae32b
> > Author: Richard Sandiford
> > Date: Tue Jul 29 15:58:34 2025 +0100
> >
> > simplify-rtx: Simplify subregs of logic
On 7/21/25 4:00 PM, David Faust wrote:
Support the btf_decl_tag and btf_type_tag attributes in BTF by creating
and emitting BTF_KIND_DECL_TAG and BTF_KIND_TYPE_TAG records,
respectively, for them.
Some care is required when -gprune-btf is in effect to avoid emitting
decl or type tags for declara
Since r15-4719-ga9ec1bc06bd3cc, we require GCC 5.4, so a workaround for
< GCC 4.3 is long-obsolete. Before that, we required GCC 4.8.3 too.
i.e. it shouldn't be possible to build GCC with such a compiler for
quite some time.
gcc/ChangeLog:
PR libstdc++/29286
* Makefile.in (ALIASIN
On 7/21/25 4:00 PM, David Faust wrote:
Translate DW_TAG_GNU_annotation DIEs created for C attributes
btf_decl_tag and btf_type_tag into an in-memory representation in the
CTF/BTF container. They will be output in BTF as BTF_KIND_DECL_TAG and
BTF_KIND_TYPE_TAG records.
The new CTF kinds used to
In preparation N3652, this removes some UB from the conditional
operator when forming a composite type. This is an improvement
also for earlier language modes (previously I submitted PR108931
for this).
Bootstrapped and regression tested on x86_64.
c: Evaluate size expression only in the
A widening cast from a signed _BitInt operand to an unsigned _BitInt
type involves filling the extra limb(s) with sign extension.
On a target that wants _BitInts extended in memory, if this unsigned
type has a partial limb, the unused part of it should be zeroed.
e.g. Assuming limb_mode == E_DImod
In BEXTC, whether a _BitInt object is properly extended is examined
by a value comparison against a copied object in a wider _BitInt
type that utilizes all of the partial limb.
Since the (implicit) conversion to the wider type may be optimized
away and cause the result of the comparison to always
This patch adds support for C23's _BitInt for LoongArch.
>From the LoongArch psABI[1]:
> _BitInt(N) objects are stored in little-endian order in memory
> and are signed by default.
>
> For N ≤ 64, a _BitInt(N) object have the same size and alignment
> of the smallest fundamental integral type tha
In LoongArch psABI, large _BitInt(N) (N > 64) objects are only
extended to fill the highest 8-byte chunk that contains any used bit,
but the size of such a large _BitInt type is a multiple of their
16-byte alignment. So there may be an entire unused 8-byte
chunk that is not filled by extension, an
This patch also make casts of ABI-extended large/huge _BitInts
behave the same as the small/middle case, i.e. no-op for casts
to a higher precision _BitInt with the same number of limbs /
extension for casts that turns a full top limb into a partial limb.
This conveniently helps keep some code with
libgcc/ChangeLog:
* config.host: Remove unused code. Include LoongArch-specific
tmake_files after the OS-specific ones.
---
libgcc/config.host | 31 ---
1 file changed, 12 insertions(+), 19 deletions(-)
diff --git a/libgcc/config.host b/libgcc/config.h
A _BitInt value may rely on a conversion to become properly extended.
So a conversion to _BitInt is not trivially removable even if the
types of the result and the operand have the same precision and size.
This patches fixes gcc.dg/torture/bitint-64.c at -O2 on LoongArch,
which fails because exten
For targets that set the "extended" flag in TARGET_C_BITINT_TYPE_INFO,
we assume small _BitInts to be internally extended after arithmetic
operations. In this case, an extra extension during RTL expansion
can be avoided.
gcc/ChangeLog:
* expr.cc (expand_expr_real_1): Do not call
r
For targets that treat small _BitInts like the fundamental
integral types, we should allow their machine modes to be promoted
in the same way.
gcc/ChangeLog:
* explow.cc (promote_function_mode): Add a case for
small/medium _BitInts.
(promote_mode): Same.
---
gcc/explow.cc
Changes from v4:
1. Remove option "-fwrapv" from gcc.dg/torture/bitint-84.c, which
came from its origin gcc.dg/torture/bitint-64.c, but interferes
with the result.
2. Other fixes from Jakub's review on v4. In particular, BEXTC was
modified to not rely on full limb comparision of the par
Sorry, Joseph. I am resending this because I forgot to include
some fixes in the test directives in the patch before sending
(I had tested it with these changes). As the only change is
the dejagnu part and the rest was ok, I will wait a bit and
then submit it if I do not hear any objections.
B
Hi!
This is another case which changed from compile time undefined behavior
to ill-formed, diagnostic required. Now, we warn on this, so pedantically
that is good enough, maybe all we need is a testcase, but the following
patch changes it to a pedwarn for C++26.
Bootstrapped/regtested on x86_64-
Hi!
We already warn on #undef or pedwarn on #define (but not on #define after
#undef) of some builtin macros mentioned in cpp.predefined.
The C++26 P2843R3 paper changes it from (compile time) undefined behavior
to ill-formed. The following patch arranges for warning (for #undef)
and pedwarn (on
31 matches
Mail list logo