On Wed, Feb 1, 2023 at 2:30 AM Andrew Pinski via Gcc-patches
wrote:
>
> For bool values, it is easier to deal with
> xor 1 rather than having 1 - a. This is because
> we are more likely to simplify the xor further in many
> cases.
>
> This is a special case for (MASK - b) where MASK
> is a powerof
On Tue, Jan 31, 2023 at 9:11 PM Andrew MacLeod via Gcc-patches
wrote:
>
> This turned out to be a more interesting problem than I wanted.
>
> the situation boils down to:
>
>
> # g_5 = PHI <0(2), 2(8)>
>if (g_5 <= 1)
> goto ; [INV]
>
> :
>if (g_5 != 0)
> goto ; [INV]
>else
Follow aarch64 and riscv ports by using (global ? DW_EH_PE_indirect : 0)
| DW_EH_PE_pcrel for -fno-pic code. This avoids a canonical PLT entry
for a personality reference in .eh_frame and a copy relocation for a
typeinfo reference in .gcc_except_table, when the definition is in
libstdc++.so.6.
gc
On Sun, Jan 29, 2023 at 09:52:38PM -0500, Michael Meissner wrote:
> On Sat, Jan 28, 2023 at 02:29:04AM -0500, Michael Meissner wrote:
> > On Fri, Jan 27, 2023 at 01:59:00PM -0600, Segher Boessenkool wrote:
> > > > There is one bug that I noticed. When you use the full DMR instruction
> > > > the
Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.
Pushed to trunk as r13-5615-gd03ae4be2c6d48.
gcc/testsuite/ChangeLog:
* gcc.dg/analyzer/call-summaries-2.c: Add
dg-require-effective-target alloca.
* gcc.dg/analyzer/imprecise-floating-point-1.c: Likewise.
Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.
Pushed to trunk as r13-5614-g70d34f2a30a5f1.
gcc/analyzer/ChangeLog:
PR analyzer/108616
* pending-diagnostic.cc (fixup_location_in_macro_p): Add "alloca"
to macros that we shouldn't unwind inside.
gcc/testsuite
Tested x86_64-pc-linux-gnu, applying to trunk.
This isn't exactly a regression fix, but it is in response to new build
failures and safe.
-- 8< --
In recent years this error has been coming up more because other compilers
don't diagnose it as consistently. So let's add a flag for it, and be mor
Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.
Pushed to trunk as r13-5613-ga90316c6ceddfb.
gcc/ChangeLog:
* doc/invoke.texi (Static Analyzer Options): Add notes about
limitations of -fanalyzer.
Signed-off-by: David Malcolm
---
gcc/doc/invoke.texi | 7 +++
1
From: Ju-Zhe Zhong
Current constraint configuration will generate:
vadd.vv v0,v24,v25,v0.t
vsll.vx v0,v24,a5,v0.t
They are incorrect according to RVV ISA.
This patch fix this obvious issue.
gcc/ChangeLog:
* config/riscv/vector-iterators.md (sll.vi): Fix constraint bug.
(sll.vv)
For bool values, it is easier to deal with
xor 1 rather than having 1 - a. This is because
we are more likely to simplify the xor further in many
cases.
This is a special case for (MASK - b) where MASK
is a powerof2 - 1 and b <= MASK but only for bool
ranges ([0,1]) as that is the main case where
For bool values, it is easier to deal with
xor 1 rather than having 1 - a. This is because
we are more likely to simplify the xor further in many
cases.
This is a special case for (MASK - b) where MASK
is a powerof2 - 1 and b <= MASK but only for bool
ranges ([0,1]) as that is the main case where
Tested x86_64-pc-linux-gnu, applying to trunk.
-- 8< --
We also need to split up a CONSTRUCTOR in cp_genericize_init if we need to
add extra copy constructor calls to deal with CWG2403.
PR c++/108559
gcc/cp/ChangeLog:
* cp-gimplify.cc (any_non_eliding_target_exprs): New.
On Tue, Jan 31, 2023 at 02:39:54PM -0800, H.J. Lu wrote:
> cherry-pick:
>
> 742bcbf685bc compiler-rt/lib: Add .Linterceptor_sigsetjmp
>
> PR sanitizer/108106
> * hwasan/hwasan_setjmp_x86_64.S (__interceptor_setjmp): Jump
> to .Linterceptor_sigsetjmp instead of __interceptor_sigs
A slightly tricky one, and I figured using the single-page version of that
document is going to be more resilient in the future.
Pushed.
Gerald
---
htdocs/gcc-5/changes.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/htdocs/gcc-5/changes.html b/htdocs/gcc-5/changes.html
On 1/31/23 15:41, Marek Polacek wrote:
Here we crash in the middle end because warn_logical_operator calls
build_range_check which calls various fold_* functions and those
don't work too well when we're still processing template trees. For
instance here we crash because we're converting a RECORD
cherry-pick:
742bcbf685bc compiler-rt/lib: Add .Linterceptor_sigsetjmp
PR sanitizer/108106
* hwasan/hwasan_setjmp_x86_64.S (__interceptor_setjmp): Jump
to .Linterceptor_sigsetjmp instead of __interceptor_sigsetjmp.
(__interceptor_sigsetjmp): Add a local alias,
From: Ju-Zhe Zhong
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vsra_vx-1.C: New test.
* g++.target/riscv/rvv/base/vsra_vx-2.C: New test.
* g++.target/riscv/rvv/base/vsra_vx-3.C: New test.
* g++.target/riscv/rvv/base/vsra_vx_mu-1.C: New test.
* g++
From: Ju-Zhe Zhong
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vsrl_vx-1.C: New test.
* g++.target/riscv/rvv/base/vsrl_vx-2.C: New test.
* g++.target/riscv/rvv/base/vsrl_vx-3.C: New test.
* g++.target/riscv/rvv/base/vsrl_vx_mu-1.C: New test.
* g++
From: Ju-Zhe Zhong
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/shift_vx_constraint-1.c: New test.
---
.../riscv/rvv/base/shift_vx_constraint-1.c| 133 ++
1 file changed, 133 insertions(+)
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/base/shift_vx
From: Ju-Zhe Zhong
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vsra_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vsra_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vsra_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vsra_vx_m-1.c: New test.
* gcc.
From: Ju-Zhe Zhong
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vsrl_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vsrl_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vsrl_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vsrl_vx_m-1.c: New test.
* gcc.
From: Ju-Zhe Zhong
gcc/ChangeLog:
* config/riscv/predicates.md (pmode_reg_or_uimm5_operand): New
predicate.
* config/riscv/riscv-vector-builtins-bases.cc: New class.
* config/riscv/riscv-vector-builtins-functions.def (vsll): Ditto.
(vsra): Ditto.
(vsrl):
Here we crash in the middle end because warn_logical_operator calls
build_range_check which calls various fold_* functions and those
don't work too well when we're still processing template trees. For
instance here we crash because we're converting a RECORD_TYPE to bool.
At this point VIEW_CONVERT
This turned out to be a more interesting problem than I wanted.
the situation boils down to:
# g_5 = PHI <0(2), 2(8)>
if (g_5 <= 1)
goto ; [INV]
:
if (g_5 != 0)
goto ; [INV]
else
goto ; [INV]
:
c = 0;
:
goto ; [INV]
We globally know that g_5 is [0,0][2,2]
we
This was fixed by r12-7857: now we properly reject instead of
crashing.
PR c++/102870
gcc/testsuite/ChangeLog:
* g++.dg/cpp0x/variadic184.C: New test.
---
gcc/testsuite/g++.dg/cpp0x/variadic184.C | 12
1 file changed, 12 insertions(+)
create mode 100644 gcc/testsui
> Am 31.01.2023 um 16:59 schrieb Jakub Jelinek via Gcc-patches
> :
>
> On Tue, Jan 31, 2023 at 03:45:43PM +0100, Richard Biener wrote:
>> The following replaces the recursive DFS traversal of the dominator
>> tree in assign_dfs_numbers with a tree traversal using the fact
>> that we have reco
committed, thanks!
On Tue, Jan 31, 2023 at 9:00 PM wrote:
>
> From: Ju-Zhe Zhong
>
> gcc/testsuite/ChangeLog:
>
> * g++.target/riscv/rvv/base/vsra_vv-1.C: New test.
> * g++.target/riscv/rvv/base/vsra_vv-2.C: New test.
> * g++.target/riscv/rvv/base/vsra_vv-3.C: New test.
>
committed, thanks!
On Tue, Jan 31, 2023 at 8:39 PM wrote:
>
> From: Ju-Zhe Zhong
>
> gcc/testsuite/ChangeLog:
>
> * gcc.target/riscv/rvv/base/binop_vv_constraint-1.c: New test.
>
> ---
> .../riscv/rvv/base/binop_vv_constraint-1.c| 132 ++
> 1 file changed, 132 insert
committed, thanks!
On Tue, Jan 31, 2023 at 8:58 PM wrote:
>
> From: Ju-Zhe Zhong
>
> gcc/testsuite/ChangeLog:
>
> * g++.target/riscv/rvv/base/vsrl_vv-1.C: New test.
> * g++.target/riscv/rvv/base/vsrl_vv-2.C: New test.
> * g++.target/riscv/rvv/base/vsrl_vv-3.C: New test.
>
committed, thanks!
On Tue, Jan 31, 2023 at 8:19 PM wrote:
>
> From: Ju-Zhe Zhong
>
> gcc/testsuite/ChangeLog:
>
> * gcc.target/riscv/rvv/base/vsra_vv-1.c: New test.
> * gcc.target/riscv/rvv/base/vsra_vv-2.c: New test.
> * gcc.target/riscv/rvv/base/vsra_vv-3.c: New test.
>
committed, thanks!
On Tue, Jan 31, 2023 at 8:17 PM wrote:
>
> From: Ju-Zhe Zhong
>
> gcc/testsuite/ChangeLog:
>
> * gcc.target/riscv/rvv/base/vsrl_vv-1.c: New test.
> * gcc.target/riscv/rvv/base/vsrl_vv-2.c: New test.
> * gcc.target/riscv/rvv/base/vsrl_vv-3.c: New test.
>
committed with comment log tweak, thanks!
On Tue, Jan 31, 2023 at 8:07 PM wrote:
>
> From: Ju-Zhe Zhong
>
> ---
> gcc/config/riscv/constraints.md | 10 +
> gcc/config/riscv/iterators.md | 14 +-
> gcc/config/riscv/predicates.md| 15 ++
> .../risc
> -Original Message-
> From: Andre Vieira (lists)
> Sent: Wednesday, January 25, 2023 5:41 PM
> To: gcc-patches@gcc.gnu.org
> Cc: Kyrylo Tkachov ; Richard Earnshaw
>
> Subject: Re: [PATCH 3/3] arm: Fix MVE predicates synthesis [PR 108443]
>
> Looks like the first patch was missing a ch
On 1/30/23 21:34, Marek Polacek wrote:
On Mon, Jan 30, 2023 at 01:12:00PM -0500, Jason Merrill wrote:
On 1/30/23 11:00, Marek Polacek wrote:
On Fri, Jan 27, 2023 at 06:17:00PM -0500, Patrick Palka wrote:
On Fri, 27 Jan 2023, Marek Polacek wrote:
On Fri, Jan 27, 2023 at 05:15:00PM -0500, Patr
On Tue, Jan 31, 2023 at 03:45:43PM +0100, Richard Biener wrote:
> The following replaces the recursive DFS traversal of the dominator
> tree in assign_dfs_numbers with a tree traversal using the fact
> that we have recorded parents.
>
> Bootstrapped and tested on x86_64-unknown-linux-gnu.
>
> Thi
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.cc (aarch_m
On Tue, Jan 31, 2023 at 2:08 PM Richard Sandiford via Gcc-patches
wrote:
>
> The patch that added support for fmin/fmax reductions didn't
> handle single def-use cycles. In some ways, this seems like
> going out of our way to make things slower, but that's a
> discussion for another day.
>
> Test
The following replaces the recursive DFS traversal of the dominator
tree in assign_dfs_numbers with a tree traversal using the fact
that we have recorded parents.
Bootstrapped and tested on x86_64-unknown-linux-gnu.
This makes r13-5325 somewhat obsolete, though not computing the
DFS numbers at al
Thomas Schwinge writes:
> Hi!
>
> On 2022-10-10T16:31:26+0100, Gaius Mulley via Gcc-patches
> wrote:
>> Here are the dejagnu expect library scripts for the gm2
>> testsuite.
>
> This (or some variant thereof; haven't checked), became part of
> commit r13-4704-g1eee94d351774cdc2efc8ee508b82d0651
Update documentation to clarify a GCC extension on structure with
flexible array member being nested in another structure.
gcc/ChangeLog:
* doc/extend.texi: Document GCC extension on a structure containing
a flexible array member to be a member of another structure.
---
gcc/doc/e
This is the patch for PR101832, to fix builtin_object_size to
correctly handle component_ref to a structure/union field that
includes a flexible array member.
also includes a documentation update for the GCC extension on embedding
a structure/union with flexible array member into another structure
GCC extension accepts the case when a struct with a flexible array member
is embedded into another struct (possibly recursively).
__builtin_object_size should treat such struct as flexible size per
-fstrict-flex-arrays.
PR tree-optimization/101832
gcc/ChangeLog:
PR tree-optimizat
..attribute. We cannot yet handle this attribute, but we should not reject it
either
gcc/rust/ChangeLog:
* util/rust-attributes.cc: Add `rustc_inherit_overflow_checks` to list
of builtin attributes.
gcc/testsuite/ChangeLog:
* rust/compile/rustc_attr1.rs: New test.
Test
From: Faisal Abbas <90.abbasfai...@gmail.com>
gcc/rust/ChangeLog:
* typecheck/rust-hir-type-check-stmt.cc (TypeCheckStmt::visit): Turn
constant item typechecking into a coercion site instead of a unify
site.
gcc/testsuite/ChangeLog:
* rust/compile/const6.rs: New
From: Philip Herron
Fixes #1073
gcc/testsuite/ChangeLog:
* rust/compile/issue-1073.rs: New test.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/testsuite/rust/compile/issue-1073.rs | 4
1 file changed, 4 insertions(+)
create mode 100644 gcc/testsuite/rust/compile/i
From: Philip Herron
gcc/rust/ChangeLog:
* typecheck/rust-tyctx.cc (TypeCheckContext::pop_return_type): Add
guards around `std::vector.pop_back()`.
(TypeCheckContext::peek_context): Likewise for `std::vector.back()`.
Tested on x86_64-pc-linux-gnu, committed on master.
--
From: Philip Herron
This patch refactors the type resolution system to introduce a new
interface
bool query_type (HirId, TyTy::BaseType** result)
This is needed in order to properly support forward declared items. Our
name resolution system has two parts:
1. Toplevel scan
2. Item resolut
From: Philip Herron
gcc/rust/ChangeLog:
* backend/rust-constexpr.cc (eval_store_expression): Remove invalid
assertion on constexpr constructors.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/rust/backend/rust-constexpr.cc | 16
1 file changed, 8
From: Philip Herron
We simply hit a gcc_unreachable() on double borrows but it seems reasonable
to just desugar the AST into a borrow of a borrow to foo. Instead of a
borrow expression with a flag to be respected.
Fixes #1506
gcc/rust/ChangeLog:
* hir/rust-ast-lower-expr.h: Lower doubl
From: liushuyu
... builtin macro and decl macro mixed expansion
gcc/testsuite/ChangeLog:
* rust/compile/builtin_macro_recurse.rs: New test.
Signed-off-by: Zixing Liu
Tested on x86_64-pc-linux-gnu, committed on master.
---
.../rust/compile/builtin_macro_recurse.rs | 21 +
gcc/rust/ChangeLog:
* rust-gcc.cc (class Bvariable): Move class to `rust-gcc.h` header.
* rust-gcc.h: New file.
Tested on x86_64-pc-linux-gnu, committed on master.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/rust/rust-gcc.cc | 30 +--
gcc/ru
From: Philip Herron
Fixes #1006
gcc/testsuite/ChangeLog:
* rust/compile/issue-1006.rs: New test.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/testsuite/rust/compile/issue-1006.rs | 10 ++
1 file changed, 10 insertions(+)
create mode 100644 gcc/testsuite/rust/c
From: Philip Herron
see:
https://blog.rust-lang.org/2022/09/15/const-eval-safety-rule-revision.html
gcc/testsuite/ChangeLog:
* rust/compile/rust-const-blog-issue.rs: New test.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/testsuite/rust/compile/rust-const-blog-issue.rs
From: Philip Herron
gcc/rust/ChangeLog:
* backend/rust-compile-expr.h: Formatting.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/rust/backend/rust-compile-expr.h | 17 -
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/gcc/rust/backend/rust-
From: Philip Herron
Statics like constants need to have a singular value they are not functions
to be lazy evaluated. So to evaluate a block expr we can just reuse our
const code to resolve this to a singular value.
gcc/rust/ChangeLog:
* backend/rust-compile-item.cc (CompileItem::visit)
From: liushuyu
gcc/rust/ChangeLog:
* ast/rust-ast.h (class MacroInvocData): Store expander as
member of the class.
(class Expr): Add `is_literal` virtual method
* ast/rust-expr.h: Override `is_literal` for `LiteralExpr`s.
* expand/rust-macro-builtins.cc (t
Some module items do not need to get lowered to HIR such as `macro_rules!`
definitions. Hence, module lowering should act the same as crate lowering: Only
emplace back the lowered item if it is a valid pointer
gcc/rust/ChangeLog:
* hir/rust-ast-lower-item.cc (ASTLoweringItem::visit): Do
This option helps ensure that we do not introduce regressions on various
parts of the compilation pipeline. For example, a testcase (or testsuite
from the `testing` project) might pass attribute checking, expansion and
lowering, but fail during typechecking. Should a change suddenly make
that testc
gcc/rust/ChangeLog:
* checks/errors/rust-const-checker.cc (ConstChecker::ctx_to_str): Allow
getting an error string from a specific constant context.
(ConstChecker::ctx_allows_default): New function, check if a context
allows default values for Const generics.
gcc/rust/ChangeLog:
* util/rust-attributes.cc: Add `macro_use` to list of builtin
attributes.
gcc/testsuite/ChangeLog:
* rust/compile/macro_export_1.rs: New test.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/rust/util/rust-attributes.cc | 1 +
From: Philip Herron
Statics can be assigned to a block expression meaning they need to behave
similarly to constant items.
gcc/rust/ChangeLog:
* typecheck/rust-hir-type-check-toplevel.cc (TypeCheckTopLevel::visit):
Make static items behave more similarly to const items.
Tested
From: liushuyu
gcc/testsuite/ChangeLog:
* rust/execute/torture/loop-condition-eval.rs: New test.
Signed-off-by: Zixing Liu
Tested on x86_64-pc-linux-gnu, committed on master.
---
.../execute/torture/loop-condition-eval.rs| 21 +++
1 file changed, 21 insertions(+)
From: Faisal Abbas <90.abbasfai...@gmail.com>
..in eval_constant_expression()
gcc/testsuite/ChangeLog:
* rust/compile/const8.rs: New test.
Signed-off-by: Faisal Abbas <90.abbasfai...@gmail.com>
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/testsuite/rust/compile/const8.
...in all contexts.
gcc/testsuite/ChangeLog:
* rust/compile/const_generics_7.rs: New test.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/testsuite/rust/compile/const_generics_7.rs | 17 +
1 file changed, 17 insertions(+)
create mode 100644 gcc/testsuite/r
From: Philip Herron
Deuplicate function elimination can fail when we compile helpers during
higher ranked trait bound monomorphization. This because the
TyTy::BaseType info can be lost/reset during the compilation process. This
adds a second mechanism to match based on the manged names which is a
From: Faisal Abbas <90.abbasfai...@gmail.com>
gcc/testsuite/ChangeLog:
* rust/compile/const7.rs: New test.
Signed-off-by: Faisal Abbas <90.abbasfai...@gmail.com>
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/testsuite/rust/compile/const7.rs | 12
1 file chan
From: liushuyu
... previously the exit condition was treated the same as the loop
condition (which is the inverse condition of the exit condition). Now
this is corrected.
gcc/rust/ChangeLog:
* backend/rust-compile-expr.cc (CompileExpr::visit): Properly formulate
exit condition w
From: Philip Herron
Fixes #1518
gcc/rust/ChangeLog:
* typecheck/rust-tyty.h: Fix `is_concrete` for unit types with
substitutions.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/rust/typecheck/rust-tyty.h | 5 +
1 file changed, 5 insertions(+)
diff --git a/gc
From: Philip Herron
We don't need to setup associated types when a trait does not contain any
associated types.
gcc/rust/ChangeLog:
* typecheck/rust-tyty-bounds.cc
(TypeBoundPredicate::contains_associated_types):
Check if a type bound predicate contains assocated types.
From: Philip Herron
gcc/rust/ChangeLog:
* backend/rust-tree.cc (rs_type_quals): Comment out bad assertion
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/rust/backend/rust-tree.cc | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/gcc/rust/backend/r
From: Philip Herron
We are not fully setting TYPE_CANONICAL yet but we don't need to be as
strict as the C++ front-end yet. param_use_canonical_types is a command
line option we are not using either.
gcc/rust/ChangeLog:
* backend/rust-tree.cc (comptypes): Remove some C++ specific checks
From: Philip Herron
This allows us to enforce better error handling on unify sites
gcc/rust/ChangeLog:
* typecheck/rust-hir-type-check-base.cc (TypeCheckBase::unify_site): Add
better unification function with debug calls.
* typecheck/rust-autoderef.cc (AutoderefCycle::cy
From: Philip Herron
gcc/rust/ChangeLog:
* typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Add
more calls to `rust_debug` for development.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/rust/typecheck/rust-hir-type-check-expr.cc | 12
1 f
gcc/rust/ChangeLog:
* ast/rust-ast.h: Improve assertions within ASTFragment API.
Co-authored-by: philberty
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/rust/ast/rust-ast.h | 47 ++---
1 file changed, 39 insertions(+), 8 deletions(-)
gcc/rust/ChangeLog:
* expand/rust-macro-expand.cc (parse_many): Return early from parsing
loop if we encounter an error, and emit that error in the meantime.
Co-authored-by: philberty
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/rust/expand/rust-macro-expand.cc
gcc/rust/ChangeLog:
* ast/rust-ast.h: Add assertions and accessors for fragment nodes.
* expand/rust-attribute-visitor.cc (AttrVisitor::visit): Fix expansion
context typo when visiting `InherentImpl` items.
(AttrVisitor::maybe_expand_expr): Use new Fragment accessor
From: Philip Herron
In order to compile a block expression constant, the simplest way for us
was to reuse what code we have and to generate an artifical function which
does not get added to the translation unit. The constant then becomes
a CALL_EXPR to this artifical function which we can pass to
From: Philip Herron
gcc/rust/ChangeLog:
* typecheck/rust-hir-type-check-base.cc (TypeCheckBase::TypeCheckBase):
Remove constructor.
(TypeCheckBase::coercion_site): Add `Location` argument to function.
* typecheck/rust-hir-type-check-base.h: Use
`TypeCheckBase::co
gcc/rust/ChangeLog:
* checks/lints/rust-lint-scan-deadcode.h: Do not report public items
as dead code.
gcc/testsuite/ChangeLog:
* rust/compile/issue-1031.rs: Remove extraneous dead code warnings.
* rust/compile/issue-1289.rs: Likewise.
* rust/compile/test_
gcc/rust/ChangeLog:
* ast/rust-ast-dump.h: Add shorthand `AST::Dump::debug` function to
dump an AST node on `stderr`.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/rust/ast/rust-ast-dump.h | 16
1 file changed, 16 insertions(+)
diff --git a/gcc/ru
gcc/rust/ChangeLog:
* expand/rust-macro-expand.cc (MacroExpander::match_matcher): Handle
fragments differently based on whether or not we are currently trying
to match a matcher in a repetition context.
(MacroExpander::match_n_matches): Use new `in_repetition` argum
gcc/rust/ChangeLog:
* backend/rust-compile-expr.cc (CompileExpr::visit): Insert overflow
checks logic.
(CompileExpr::array_copied_expr): Insert overflow checks logic.
* backend/rust-compile-item.cc (CompileItem::visit): Insert overflow
checks logic.
gcc/rust/ChangeLog:
* parse/rust-parse-impl.h: Allow parsing full range expressions without
erroring out.
gcc/testsuite/ChangeLog:
* rust/compile/parse_range.rs: New test.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/rust/parse/rust-parse-impl.h
gcc/rust/ChangeLog:
* backend/rust-builtins.h: Refactor builtin context class and add
overflow builtins.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/rust/backend/rust-builtins.h | 51 ++--
1 file changed, 36 insertions(+), 15 deletions
gcc/rust/ChangeLog:
* rust-session-manager.cc (Session::compile_crate): Allow the dump of
prettified AST
(Session::dump_ast_pretty): New
* rust-session-manager.h: Add new output file for pretty AST dump
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/rust/ru
Richard Biener writes:
> On Mon, 23 Jan 2023, Richard Biener wrote:
>
>> The following addresses the fact that libgm2 installs static libraries
>> into two places, one performed by
>>
>> toolexeclib_LTLIBRARIES = libm2cor.la
>>
>> and one performed as part of the install-data-local rule to a
>>
The patch that added support for fmin/fmax reductions didn't
handle single def-use cycles. In some ways, this seems like
going out of our way to make things slower, but that's a
discussion for another day.
Tested on aarch64-linux-gnu & x86_64-linux-gnu. OK for trunk
and the GCC 12 branch?
Richa
On 2023-01-31 07:46, Jakub Jelinek wrote:
On Wed, Dec 21, 2022 at 05:25:54PM -0500, Siddhesh Poyarekar wrote:
The tree object size pass tries to fail when it detects a flex array in
the struct, but it ends up doing the right thing only when the flex
array is in the outermost struct. For nested
From: Ju-Zhe Zhong
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vsra_vv-1.C: New test.
* g++.target/riscv/rvv/base/vsra_vv-2.C: New test.
* g++.target/riscv/rvv/base/vsra_vv-3.C: New test.
* g++.target/riscv/rvv/base/vsra_vv_mu-1.C: New test.
* g++
From: Ju-Zhe Zhong
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vsrl_vv-1.C: New test.
* g++.target/riscv/rvv/base/vsrl_vv-2.C: New test.
* g++.target/riscv/rvv/base/vsrl_vv-3.C: New test.
* g++.target/riscv/rvv/base/vsrl_vv_mu-1.C: New test.
* g++
On Wed, Dec 21, 2022 at 05:25:54PM -0500, Siddhesh Poyarekar wrote:
> The tree object size pass tries to fail when it detects a flex array in
> the struct, but it ends up doing the right thing only when the flex
> array is in the outermost struct. For nested cases (such as arrays
> nested in a uni
From: Ju-Zhe Zhong
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/binop_vv_constraint-1.c: New test.
---
.../riscv/rvv/base/binop_vv_constraint-1.c| 132 ++
1 file changed, 132 insertions(+)
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vv
On Wed, Dec 21, 2022 at 05:25:53PM -0500, Siddhesh Poyarekar wrote:
> gcc/testsuite/ChangeLog:
>
> * gcc.dg/builtin-dynamic-object-size-0.c: Move FAIL and nfail
> into...
> * gcc.dg/builtin-object-size-common.h: ... new file.
> * g++.dg/ext/builtin-object-size1.C: Include
>
On Sat, Dec 10, 2022 at 09:18:26AM +0100, Tobias Burnus wrote:
> libgomp.texi: Reverse-offload updates
>
> libgomp/
> * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'.
> (GCN): Add item about 'omp requires'.
> (nvptx): Likewise; add item about reverse offload.
From: Ju-Zhe Zhong
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vsra_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vsra_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vsra_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vsra_vv_m-1.c: New test.
* gcc.
From: Ju-Zhe Zhong
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vsrl_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vsrl_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vsrl_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vsrl_vv_m-1.c: New test.
* gcc.
On Tue, Dec 13, 2022 at 06:44:27PM +0100, Tobias Burnus wrote:
> OpenMP: Parse align clause in allocate directive in C/C++
>
> gcc/c/ChangeLog:
>
> * c-parser.cc (c_parser_omp_allocate): Parse align
> clause and check for restrictions.
>
> gcc/cp/ChangeLog:
>
> * parser.cc (cp
From: Ju-Zhe Zhong
---
gcc/config/riscv/constraints.md | 10 +
gcc/config/riscv/iterators.md | 14 +-
gcc/config/riscv/predicates.md| 15 ++
.../riscv/riscv-vector-builtins-bases.cc | 48 +
.../riscv/riscv-vector-builtins-bases.h |
On Tue, Dec 13, 2022 at 05:38:22PM +0100, Tobias Burnus wrote:
> I missed that 'align' needs to be a power of 2 - contrary to 'aligned',
> which does not have this restriction for some odd reason.
Yeah, odd. The C and C++ FEs indeed diagnose non-pow2p constants
for align (and not for aligned clau
Yeah that shouldn't be there, it's from an earlier version of the patch
I wrote where I was experimenting changing the existing modes, I'll
remove it from the ChangeLog.
On 31/01/2023 09:53, Kyrylo Tkachov wrote:
gcc/testsuite/ChangeLog:
* gcc.dg/rtl/arm/mve-vxbi.c: Use new pred
1 - 100 of 119 matches
Mail list logo