I realized there is 's' constraint which is defined in GCC generic
infra[1], and that's kinda what same as the new semantic of 'S' here,
(define_constraint "s"
"Matches a symbolic integer constant."
(and (match_test "CONSTANT_P (op)")
(match_test "!CONST_SCALAR_INT_P (op)")
The constraint "S" can only be used with a symbol that binds locally, so
the following does not work for -fpie/-fpic (GOT access is used).
```
namespace ns { extern int var, a[4]; }
void foo() {
asm(".pushsection .xxx,\"aw\"; .dc.a %0; .popsection" :: "S"(::var));
asm(".reloc .,
Hi,
I asked in https://sourceware.org/bugzilla/show_bug.cgi?id=31109
> I prepared a patch for the releases/gcc-13 branch.
> Richard Biener rejected my patch for
this branch.
> Which branch should I use? master, trunk or something else?
Do you really need gprofng in the gcc repo ?
if yes:
Tested x86_64-pc-linux-gnu, OK for trunk?
-- 8< --
Since my r14-1500-g4d935f52b0d5c0 we promote an initializer_list backing
array to static storage where appropriate, but this happens after we decided
to add it to asan_poisoned_variables. As a result we add unpoison/poison
for it to the gimple.
在 2024-01-31 08:08, Jonathan Yong 写道:
On 1/24/24 15:17, Matteo Italia wrote:
Ping! That's a one-line fix, and you can find all the details in the bugzilla entry. Also, I can
provide executables built with the affected toolchains, demonstrating the problem and the fix.
Thanks,
Matteo
I was
On Fri, Jan 26, 2024 at 04:16:54PM -0500, Jason Merrill wrote:
> On 12/5/23 20:52, Lewis Hyatt wrote:
> > Hello-
> >
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105608
> >
> > There are two related issues here really, a regression since GCC 11 where we
> > can ICE after restoring a PCH, and
Changes in v2:
1. Check decl non-null before dereferencing it.
2. Update PR rtl-optimization/113617 from
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113617#c14
---
For a private COMDAT function symbol reference in readonly data section,
instead of putting it in .data.rel.ro or .rodata.cst
---
gcc/doc/extend.texi | 16
1 file changed, 16 insertions(+)
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 0bc586d120e7..1d413b0ef6d1 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -9867,6 +9867,22 @@ foo (int x, int y)
@code{y} is not actually
Implement a C23 clang compatible musttail attribute similar to the earlier
C++ implementation in the C parser.
---
gcc/c/c-parser.cc | 61 +--
gcc/c/c-tree.h| 2 +-
gcc/c/c-typeck.cc | 15 ++--
3 files changed, 63 insertions(+), 15
Mostly adopted from the existing C musttail plugin tests.
---
gcc/testsuite/c-c++-common/musttail1.c | 17
gcc/testsuite/c-c++-common/musttail2.c | 36 +
gcc/testsuite/c-c++-common/musttail3.c | 31 +
- Give error messages for all causes of non sibling call generation
- Don't override choices of other non sibling call checks with
must tail. This causes ICEs. The must tail attribute now only
overrides flag_optimize_sibling_calls locally.
- Error out when tree-tailcall failed to mark a must-tail
This patch implements a clang compatible [[musttail]] attribute for
returns.
musttail is useful as an alternative to computed goto for interpreters.
With computed goto the interpreter function usually ends up very big
which causes problems with register allocation and other per function
Fixed all earlier review comments.
From: Pan Li
This patch would like to cleanup some comments which are out of date or
incorrect.
gcc/ChangeLog:
* config/riscv/riscv.cc (riscv_get_arg_info): Cleanup comments.
(riscv_pass_by_reference): Ditto.
(riscv_fntype_abi): Ditto.
Signed-off-by: Pan Li
---
C front-end bugs 111059 and 111911 both report ICEs with conversions
to boolean of expressions with integer constant operands that can
appear in an integer constant expression as long as they are not
evaluated (such as division by zero).
The issue is a nested C_MAYBE_CONST_EXPR, with the inner
Avoid ICE with -fanalyzer-verbose-state-changes when
region_model::get_representative_tree returns nullptr in
state_change_event::get_desc.
Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.
Pushed to trunk as r14-8640-g18aabe7d203aa1.
gcc/analyzer/ChangeLog:
PR
On 1/24/24 15:17, Matteo Italia wrote:
Ping! That's a one-line fix, and you can find all the details in the
bugzilla entry. Also, I can provide executables built with the affected
toolchains, demonstrating the problem and the fix.
Thanks,
Matteo
I was away last week. LH, care to comment?
On Tue, Jan 16, 2024 at 11:47 PM Uros Bizjak wrote:
>
> On Thu, Jan 11, 2024 at 7:24 PM Fangrui Song wrote:
> >
> > Printing the raw symbol is useful in inline asm (e.g. in C++ to get the
> > mangled name). Similar constraints are available in other targets (e.g.
> > "S" for aarch64/riscv, "Cs"
Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk?
-- >8 --
We plan to deprecate -fconcepts-ts in GCC 15 and remove the flag_concepts_ts
code. This note is an admonishing reminder to convert the Concepts TS
code to C++20 Concepts.
gcc/c-family/ChangeLog:
* c-opts.cc
std::filesystem::hard_link_count() always returns 1 on
mingw-w64ucrt-11.0.1-r3 on Windows 10 19045
hard_link_count() queries _wstat64() on MinGW-w64
The MSFT documentation claims _wstat64() will always return 1 *non*-NTFS volumes
On 30/01/24 15:02 +, Jonathan Wakely wrote:
That way other subdirectories could add their own extra generated files to it.
Like so.
mklog: Add lookup for generated files in specific sub-directories
The mklog.py output for libstdc++-v3/include/bits/version.h is awful.
LGTM.
Regards
Robin
Hi Jerry,
Am 30.01.24 um 19:15 schrieb Jerry D:
The attached patch attempts to fix the handling of the EN0.0E0 and
ES0.0E0 formatting by correctly calculating the number of digits needed
for the exponents and building those exponents into the float string.
while your patch addresses ENw.dE0
Sam James writes:
> [[PGP Signed Part:Undecided]]
>
> Sam James writes:
>
>> Sam James writes:
>>
>>> Dimitry Andric writes:
>>>
Ping. It would be nice to get this QoL fix in.
>>>
>>> Yes please - we've been using this in Gentoo since around when it was
>>> first posted. No
Applied, this adds 6 more devices, 2 new and 4 fairly old
for completeness.
Johann
--
AVR: Add AVR64DU and some older devices.
gcc/
* config/avr/avr-mcus.def: Add AVR64DU28, AVR64DU32, ATA5787,
ATA5835, ATtiny64AUTO, ATA5700M322.
* doc/avr-mmcu.texi: Rebuild.diff --git
On Tue, 30 Jan 2024, 15:03 Jonathan Wakely, wrote:
> OK for trunk?
>
> -- >8 --
>
> The mklog.py output for libstdc++-v3/include/bits/version.h is awful.
> Teaching mklog.py that it's generated makes it correctly use
> "Regenerate" for its changes. We can do the same for the other new
>
> I think removing the is_inorder attribute should be ok. I added it
> because I wanted to avoid having two matching insn reservations
> defined since matching solely on the type attribute should also match
> on all subsets as well (i.e. if eventually we add an insn reservation
> checking for type
After r14-1187-gd6b756447cd58b, simplify_gen_subreg can return
NULL for "unaligned" memory subreg. Since V8DI has an alignment of 8 bytes,
using TImode causes simplify_gen_subreg to return NULL.
This fixes the issue by using DImode instead for the loop. And then we will have
later on the STP/LDP
On Thu, Jan 25, 2024 at 10:13:10PM -0500, Jason Merrill wrote:
> On 1/25/24 20:36, Marek Polacek wrote:
> > Better version:
> >
> > Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk?
> >
> > -- >8 --
> > Real-world experience shows that -Wdangling-reference triggers for
> >
The attached patch attempts to fix the handling of the EN0.0E0 and
ES0.0E0 formatting by correctly calculating the number of digits needed
for the exponents and building those exponents into the float string.
My editor judiciously deleted trailing blank spaces in a number of
places. I
On Mon, 29 Jan 2024 11:38:12 PST (-0800), e...@rivosinc.com wrote:
Adding rvv related flags (i.e. --param=riscv-autovec-preference) to
non vector targets bypassed the dejagnu skip test directive. Change the
target selector to skip if rvv is enabled
gcc/testsuite/ChangeLog:
*
From: Takayuki 'January June' Suwa
gcc/ChangeLog:
* config/xtensa/constraints.md (R, T, U):
Change define_constraint to define_memory_constraint.
* config/xtensa/predicates.md (move_operand): Don't check that a
constant pool operand size is a multiple of
Bootstrapped/regtested on aarch64-linux-gnu, OK for the 13 branch after
a week of the trunk fix being in? OK for the other active branches if
the same changes test cleanly there?
GCC 14 patch for reference:
https://gcc.gnu.org/pipermail/gcc-patches/2024-January/61.html
Thanks,
Alex
-- >8
On Tue, 30 Jan 2024 at 20:13, Richard Ball wrote:
>
> Adds a check to ensure that the input vector arguments
> to a function are not variable length. Previously, only the
> output vector of a function was checked.
Hi,
Quoting from patch:
@@ -8989,6 +8989,14 @@ vectorizable_slp_permutation_1
On 1/30/24 12:14, Patrick Palka wrote:
Tested on x86_64-pc-linux-gnu, does this look OK for trunk?
OK.
-- >8 --
The original testcase from this PR (fixed by r14-8291) is rather
different from the others, so let's add it to the testsuite.
PR c++/67898
gcc/testsuite/ChangeLog:
Tested on x86_64-pc-linux-gnu, does this look OK for trunk?
-- >8 --
The original testcase from this PR (fixed by r14-8291) is rather
different from the others, so let's add it to the testsuite.
PR c++/67898
gcc/testsuite/ChangeLog:
* g++.dg/cpp0x/temp_default8.C: New test.
Tested x86_64-pc-linux-gnu, applying to trunk.
-- 8< --
As with r14-6796-g2fa122cae50cd8, avoid mangling compatibility aliases in
mangling tests, and test the new mangling.
PR c++/112846
gcc/testsuite/ChangeLog:
* g++.dg/abi/anon6.C: Specify ABI v18.
*
Hey,
Previously, this test was added to fix this bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112337. However, it did not check
the compilation options before using them, leading to errors.
This patch fixes the test by first checking whether it can use the options
before using them.
libgcc/
* config/i386/enable-execute-stack-mingw32.c: Include
stdlib.h for abort() definition.
Signed-off-by: Khem Raj
---
libgcc/config/i386/enable-execute-stack-mingw32.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/libgcc/config/i386/enable-execute-stack-mingw32.c
On Tue, Jan 30, 2024 at 04:34:30PM +, Jonathan Wakely wrote:
> > --- /dev/null
> > +++
> > b/libstdc++-v3/testsuite/29_atomics/atomic_float/compare_exchange_padding.cc
> > @@ -0,0 +1,50 @@
> > +// { dg-do run { target c++20 } }
> > +// { dg-options "-O0" }
> > +// { dg-timeout 10 }
Why
Tested x86_64-pc-linux-gnu, applying to trunk.
-- 8< --
When I added -fabi-compat-version=8 to avoid mangling aliases it also
suppressed the -Wabi warning.
PR c++/113451
gcc/testsuite/ChangeLog:
* g++.dg/abi/mangle-regparm1a.C: Use -Wabi=0.
---
On Tue, 16 Jan 2024 at 16:17, xndcn wrote:
>
> Sorry about the mangled content...
> So I add a new add-options for libatomic_16b:
>
> ---
> libstdc++-v3/ChangeLog:
>
> * include/bits/atomic_base.h: add __builtin_clear_padding in
> __atomic_float constructor.
> * testsuite/lib/dg-options.exp: add
On Tue, 16 Jan 2024 at 16:17, xndcn wrote:
>
> Sorry about the mangled content...
> So I add a new add-options for libatomic_16b:
>
> ---
> libstdc++-v3/ChangeLog:
>
> * include/bits/atomic_base.h: add __builtin_clear_padding in
> __atomic_float constructor.
> * testsuite/lib/dg-options.exp: add
On 28/09/23 18:37 +0200, Dimitry Andric wrote:
Ref: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111632
When building gcc's C++ sources against recent libc++, the poisoning of
the ctype macros due to including safe-ctype.h before including C++
standard headers such as , , etc, causes many
Ping, thanks.
I do not have access to the repo, anyone can please help me submit the
patch? Thanks.
xndcn 于2024年1月17日周三 00:16写道:
>
> Sorry about the mangled content...
> So I add a new add-options for libatomic_16b:
>
> ---
> libstdc++-v3/ChangeLog:
>
> * include/bits/atomic_base.h: add
Okay, Based on the comments so far, I will work on the 5th version of the
patch, major changes will include:
1. Change the return type of the routine .ACCESS_WITH_SIZE
FROM:
Pointer to the type of the element of the flexible array;
TO:
Pointer to the type of the flexible
Hi Richard,
>> That tune is only used by an obsolete core. I ran the memcpy and memset
>> benchmarks from Optimized Routines on xgene-1 with and without LDP/STP.
>> There is no measurable penalty for using LDP/STP. I'm not sure why it was
>> ever added given it does not do anything useful. I'll
David: I'm unsure what to do here. It seems we cannot find a reviewer.
Would it help if I show you the code in gccrs that is similar?
Would it help if I ask someone from gccrs to review this code?
On Sat, 2024-01-20 at 09:50 -0500, Antoni Boucher wrote:
> CC-ing Iain in case they can do the
> On Jan 30, 2024, at 12:41 AM, Kees Cook wrote:
>
> On Mon, Jan 29, 2024 at 10:45:23PM +, Qing Zhao wrote:
>> There are two things here.
>>
>> 1. The value of the “counted-by” is 0; (which is easy to be understood)
>> 2. The result of the _builtin_object_size when see a “counted-by” 0.
(follow-on based on review comments on
https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641913.html)
Remove the tune AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS since it is only
used by an old core and doesn't properly support -Os. SPECINT_2017
shows that removing it has no performance
Hi,
The PR shows us ICEing due to an unrecognizable TFmode save emitted by
aarch64_process_components. The problem is that for T{I,F,D}mode we
conservatively require mems to be in range for x-register ldp/stp. That
is because (at least for TImode) it can be allocated to both GPRs and
FPRs, and
On Tue, Jan 30, 2024 at 4:58 AM H.J. Lu wrote:
>
> On Tue, Jan 30, 2024 at 4:51 AM Jakub Jelinek wrote:
> >
> > On Mon, Jan 29, 2024 at 06:05:25PM -0800, H.J. Lu wrote:
> > > LRA may call forcce_const_mem on this insn in the function
> > >
> > > (gdb) call debug_tree (func_decl)
> > > > >
On 1/30/24 10:09, Patrick Palka wrote:
Bootstrapped and regtested on x86_64-pc-linu-xgnu, does this
look OK for trunk?
OK.
-- >8 --
We miscompile the below testcase because keep_unused_object_arg
duplicates the side effects of a (by-value) object argument of a
xobj member function.
Bootstrapped and regtested on x86_64-pc-linu-xgnu, does this
look OK for trunk?
-- >8 --
We miscompile the below testcase because keep_unused_object_arg
duplicates the side effects of a (by-value) object argument of a
xobj member function.
PR c++/113640
gcc/cp/ChangeLog:
*
Sam James writes:
> Sam James writes:
>
>> Dimitry Andric writes:
>>
>>> Ping. It would be nice to get this QoL fix in.
>>>
>>
>> Yes please - we've been using this in Gentoo since around when it was
>> first posted. No complaints.
>>
>> I cannot approve but it looks good to me.
>
> Ping.
OK for trunk?
-- >8 --
The mklog.py output for libstdc++-v3/include/bits/version.h is awful.
Teaching mklog.py that it's generated makes it correctly use
"Regenerate" for its changes. We can do the same for the other new
generated headers as well.
contrib/ChangeLog:
* mklog.py
This should fix the std/text_encoding/* FAILs that Iain sees on darwin.
I assume it will make it work for FreeBSD too.
I won't push this until I hear it works for at least one of those.
Tested x86_64-linux.
-- >8 --
The header is needed for newlocale and locale_t on these
targets.
On Tue, 30 Jan 2024, Bernhard Reutner-Fischer via Gcc wrote:
> * builtin-attrs.def (ATTR_TM_NOTHROW_RT_LIST): Use ATTR_NOTHROW_LIST
> instead of ATTR_TM_NOTHROW_LIST, thus removing ATTR_TM_REGPARM.
That doesn't make sense. ATTR_TM_NOTHROW_RT_LIST is specifically a
transactional
Use aarch64-asm.h in asm code consistently, this was started in
commit c608ada288ced0268c1fd4136f56c34b24d4
Author: Zac Walker
CommitDate: 2024-01-23 15:32:30 +
Ifdef `.hidden`, `.type`, and `.size` pseudo-ops for `aarch64-w64-mingw32`
target
But that commit failed to
Adds a check to ensure that the input vector arguments
to a function are not variable length. Previously, only the
output vector of a function was checked.
gcc/ChangeLog:
* tree-vect-slp.cc (vectorizable_slp_permutation_1):
Add variable-length check for vector input arguments
This patch finalizes adding support for the generation of SVE simd clones when
no simdlen is provided, following the ABI rules where the widest data type
determines the minimum amount of elements in a length agnostic vector.
gcc/ChangeLog:
* config/aarch64/aarch64-protos.h
The current codegen code to support VF's that are multiples of a simdclone
simdlen rely on BIT_FIELD_REF to create multiple input vectors. This does not
work for non-constant simdclones, so we should disable using such clones when
the VF is a multiple of the non-constant simdlen until we change
This patch adds stmt_vec_info to TARGET_SIMD_CLONE_USABLE to make sure the
target can reject a simd_clone based on the vector mode it is using.
This is needed because for VLS SVE vectorization the vectorizer accepts
Advanced SIMD simd clones when vectorizing using SVE types because the simdlens
Hi,
This patch series is a set of patches that I have sent up for review before and
it enables initial support SVE simd clones with some caveats.
Caveat 1: we do not support SVE simd clones with function bodies.
To enable support for this we need to change the way we 'simdify' a function
body.
Hi Richard,
Thanks for the reviews, I'm making these changes but just a heads up.
When hardcoding LR_REGNUM like this we need to change the way we compare the
register in doloop_condition_get. This function currently compares the rtx
nodes by address, which I think happens to be fine before we
Thanks Kito. Committed with assertion, as well as pass the riscv regression
test.
Pan
-Original Message-
From: Li, Pan2
Sent: Tuesday, January 30, 2024 9:11 PM
To: Kito Cheng
Cc: gcc-patches@gcc.gnu.org; juzhe.zh...@rivai.ai; Wang, Yanzhang
Subject: RE: [PATCH v2] RISC-V: Bugfix for
Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.
Successful run of analyzer integration tests on x86_64-pc-linux-gnu.
Pushed to trunk as r14-8627-g9f382376660069.
gcc/analyzer/ChangeLog:
PR analyzer/113654
* region-model.cc (is_round_up): New.
This is useful for debugging the analyzer.
Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.
Successful run of analyzer integration tests on x86_64-pc-linux-gnu.
Pushed to trunk as r14-8626-g181f753dc4afa9.
gcc/analyzer/ChangeLog:
* region-model.cc
Thanks Kito, will add assertion here, and commit it if there is no surprise in
riscv regression test.
Pan
-Original Message-
From: Kito Cheng
Sent: Tuesday, January 30, 2024 8:54 PM
To: Li, Pan2
Cc: gcc-patches@gcc.gnu.org; juzhe.zh...@rivai.ai; Wang, Yanzhang
Subject: Re: [PATCH
On Tue, 30 Jan 2024, Tamar Christina wrote:
> > -Original Message-
> > From: Richard Biener
> > Sent: Tuesday, January 30, 2024 9:51 AM
> > To: Tamar Christina
> > Cc: gcc-patches@gcc.gnu.org; nd ; j...@ventanamicro.com
> > Subject: Re: [PATCH]middle-end: check memory accesses in the
On Mon, Jan 29, 2024 at 3:08 PM H.J. Lu wrote:
>
> For a COMDAT function symbol reference in readonly data section,
> instead of putting it in .data.rel.ro or .rodata.cst section, call
> function_rodata_section to get the read-only or relocated read-only
> data section associated with the
On Tue, Jan 30, 2024 at 4:51 AM Jakub Jelinek wrote:
>
> On Mon, Jan 29, 2024 at 06:05:25PM -0800, H.J. Lu wrote:
> > LRA may call forcce_const_mem on this insn in the function
> >
> > (gdb) call debug_tree (func_decl)
> > > type > type > align:8 warn_if_not_align:0
> -Original Message-
> From: Richard Biener
> Sent: Tuesday, January 30, 2024 9:51 AM
> To: Tamar Christina
> Cc: gcc-patches@gcc.gnu.org; nd ; j...@ventanamicro.com
> Subject: Re: [PATCH]middle-end: check memory accesses in the destination block
> [PR113588].
>
> On Mon, 29 Jan 2024,
For a private COMDAT function symbol reference in readonly data section,
instead of putting it in .data.rel.ro or .rodata.cst section, call
function_rodata_section to get the read-only or relocated read-only
data section associated with the function DECL so that the COMDAT
section will be used for
On Mon, Jan 29, 2024 at 06:05:25PM -0800, H.J. Lu wrote:
> LRA may call forcce_const_mem on this insn in the function
>
> (gdb) call debug_tree (func_decl)
> type type align:8 warn_if_not_align:0 symtab:0 alias-set -1
> canonical-type 0x77690f18
>
Thanks for fixing this bug! LGTM with one minor comment :)
> diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc
> index 7b6111aa545..1de69019cd4 100644
> --- a/gcc/config/riscv/riscv.cc
> +++ b/gcc/config/riscv/riscv.cc
> @@ -1382,6 +1382,38 @@ riscv_v_ext_mode_p (machine_mode
From: Jakub Dupak
gcc/rust/ChangeLog:
* hir/rust-ast-lower-type.cc (ASTLoweringTypeBounds::visit): fix for
lifetimes
(ASTLowerWhereClauseItem::visit): fix for lifetimes
Signed-off-by: Jakub Dupak
---
gcc/rust/hir/rust-ast-lower-type.cc | 21 +
1 file
From: Nirmal Patel
If newline strings are encountered while lexing, the lexer now handles
newline characters by incrementing current line number. This provides
correct line number when displaying errors. If the lexer encounters end
of file before string end, then it will use the start of the
From: Kushal Pal
gcc/rust/ChangeLog:
* checks/errors/rust-ast-validation.cc (ASTValidation::visit):
Enclose const in single quotes.
gcc/testsuite/ChangeLog:
* rust/compile/const_trait_fn.rs:
Enclose const in single quotes.
Signed-off-by: Kushal Pal
---
From: Kushal Pal
Fixes #2785
gcc/rust/ChangeLog:
* checks/errors/rust-ast-validation.cc (ASTValidation::visit):
Added check for `async` functions inside trait.
* parse/rust-parse-impl.h (Parser::parse_trait_item):
Added switch-case for ASYNC token.
From: Kushal Pal
Fixes #2767
gcc/rust/ChangeLog:
* checks/errors/rust-ast-validation.cc (ASTValidation::visit):
Added check for `async` function inside trait.
gcc/testsuite/ChangeLog:
* rust/compile/issue-2767.rs: New test.
Signed-off-by: Kushal Pal
---
From: Jakub Dupak
gcc/testsuite/ChangeLog:
* rust/compile/for_lifetimes.rs: New test.
Signed-off-by: Jakub Dupak
---
gcc/testsuite/rust/compile/for_lifetimes.rs | 19 +++
1 file changed, 19 insertions(+)
create mode 100644 gcc/testsuite/rust/compile/for_lifetimes.rs
From: Jakub Dupak
gcc/rust/ChangeLog:
* checks/errors/borrowck/rust-bir-builder-internal.h: Replace nodiscard.
* checks/errors/borrowck/rust-bir-place.h: Replace nodiscard.
Signed-off-by: Jakub Dupak
---
gcc/rust/checks/errors/borrowck/rust-bir-builder-internal.h | 4 ++--
From: Jakub Dupak
gcc/rust/ChangeLog:
* typecheck/rust-hir-type-check-type.cc
(TypeCheckType::resolve_root_path): Refactor.
Signed-off-by: Jakub Dupak
---
gcc/rust/typecheck/rust-hir-type-check-type.cc | 11 +++
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git
From: Jakub Dupak
gcc/rust/ChangeLog:
* hir/tree/rust-hir-item.h: Ad lifetime getter.
* hir/tree/rust-hir-path.h: Make getter const ref.
* hir/tree/rust-hir.h: Const ref and new getter.
Signed-off-by: Jakub Dupak
---
gcc/rust/hir/tree/rust-hir-item.h | 2 ++
From: Jakub Dupak
(probably incomplete propagation)
gcc/rust/ChangeLog:
* hir/rust-ast-lower-base.cc (ASTLoweringBase::lower_lifetime):
Propagate static
requirement.
* hir/rust-ast-lower-base.h: Propagate static requirement.
* hir/rust-ast-lower-implitem.h:
From: Jakub Dupak
gcc/rust/ChangeLog:
* parse/rust-parse-impl.h (Parser::parse_where_clause): fix parsing
(Parser::parse_where_clause_item): fix parsing
(Parser::parse_type_bound_where_clause_item): fix parsing
(Parser::parse_trait_bound): fix parsing
*
From: Pierre-Emmanuel Patry
Add checks in the ast validation pass to error out with functions
(either free or associated) without a definition.
gcc/rust/ChangeLog:
* checks/errors/rust-ast-validation.cc (ASTValidation::visit): Add
a validation check and emit an error depending
From: Arthur Cohen
This commit performs builtin initialization in a more "GCC-y" way,
similarly to what the D frontend is doing. This way, we no longer have
to worry about invalid attributes or types when initializing them by
hand.
Also add attributes support through
From: Owen Avery
gcc/rust/ChangeLog:
* ast/rust-ast-fragment.cc
(Fragment::assert_single_fragment): Update.
* ast/rust-ast.h
(class TraitImplItem): Move definition before that of TraitItem.
(class TraitItem):
Inherit from TraitImplItem instead of
From: Owen Avery
gcc/rust/ChangeLog:
* ast/rust-ast-full-decls.h
(class TraitImplItem): Remove forward declaration.
(class AssociatedItem): Add forward declaration.
* ast/rust-ast.h
(class TraitImplItem): Remove.
(class TraitItem): Inherit from
From: Jakub Dupak
gcc/rust/ChangeLog:
* checks/errors/borrowck/rust-bir-place.h: Cleanup.
* checks/errors/borrowck/rust-borrow-checker.h: Cleanup.
Signed-off-by: Jakub Dupak
---
gcc/rust/checks/errors/borrowck/rust-bir-place.h | 2 +-
From: Robert Goss
Fixes #2381
If a struct type is initialized with one of it's fields repeated it will
currently issue an error at the use site. However we would like to give the
rust error code and (like rustc) show both the specifications for the field to
help the user diagnose the issue.
From: Pierre-Emmanuel Patry
The feature gating behavior may be shortened and kept cleaner using the
default visitor. This means less maintenance on visit functions as the
traversal is shared by multiple visitors.
gcc/rust/ChangeLog:
* checks/errors/rust-feature-gate.cc
From: Robert Goss
If a struct type with a variant that has fields is initialized with some fields
the expression HIR StructExprStructFields is checked that all the fields are
assigned. However, if no fields are initialized the HIR StructExprStruct is
generated. This doesn't check if the
From: Jakub Dupak
gcc/rust/ChangeLog:
* backend/rust-compile-expr.cc (CompileExpr::visit): Use new API.
* typecheck/rust-tyty-call.cc (TypeCheckCallExpr::visit): Use new API.
* typecheck/rust-tyty-cmp.h: Remove old API.
* typecheck/rust-tyty.cc (FnPtr::is_equal):
From: Pierre-Emmanuel Patry
Cfg visitor used it's own visit patterns, this made the code longer than
required.
gcc/rust/ChangeLog:
* expand/rust-cfg-strip.cc (CfgStrip::visit): Change calls from visitor
to default visitor.
(CfgStrip::go): Add call to visit crate.
From: Pierre-Emmanuel Patry
A function cannot be both async and const, however this should not be
handled in the parser but rather at a later stage in the compiler. This
commit change the AsyncConstStatus in the AST and the HIR to allows a
function to be both async and const.
From: Kushal Pal
Fixes #2783
gcc/rust/ChangeLog:
* lex/rust-lex.cc (Lexer::dump_and_skip):
Changed " " to '\n'
Signed-off-by: Kushal Pal
---
gcc/rust/lex/rust-lex.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/rust/lex/rust-lex.cc
From: Jakub Dupak
gcc/rust/ChangeLog:
* hir/rust-ast-lower-type.cc (ASTLoweringType::visit): For lifetimes.
Signed-off-by: Jakub Dupak
---
gcc/rust/hir/rust-ast-lower-type.cc | 7 +++
1 file changed, 7 insertions(+)
diff --git a/gcc/rust/hir/rust-ast-lower-type.cc
1 - 100 of 202 matches
Mail list logo