Setting insn mnemonic partly automagically

2024-06-17 Thread Stefan Schulze Frielinghaus via Gcc
Hi all, I'm trying to add an alternative to an existing insn foobar: (define_insn "foobar" [(set (match_operand ...) (match_operand ...))] "" "@ foo bar #") Since the asm output depends on the operands in a non-trivial way which isn't easily solved via iterators, I went fo

Re: check_qualified_type

2024-06-17 Thread Jonathan Wakely via Gcc
On Mon, 17 Jun 2024 at 07:02, Richard Biener via Gcc wrote: > > On Sun, 16 Jun 2024, Martin Uecker wrote: > > > > > > > I am trying to understand what check_qualified_type > > does exactly. The direct comparison of TYPE_NAMES seems incorrect > > for C and its use is c_update_type_canonical then ca

Re: check_qualified_type

2024-06-17 Thread Jakub Jelinek via Gcc
On Mon, Jun 17, 2024 at 03:53:41PM +0200, Martin Uecker wrote: > > If c_update_type_canonical is only ever called for the main variants of the > > type and they always have !TYPE_QUALS (t), then yes. > > But if we rely on that, perhaps we should gcc_checking_assert that. > > So > > gcc_checking_a

Re: check_qualified_type

2024-06-17 Thread Martin Uecker via Gcc
Am Montag, dem 17.06.2024 um 15:40 +0200 schrieb Jakub Jelinek: > On Mon, Jun 17, 2024 at 03:33:05PM +0200, Martin Uecker wrote: > > > I've done that and that was because build_qualified_type uses that > > > predicate, where qualified types created by build_qualified_type have > > > as TYPE_CANONIC

Re: check_qualified_type

2024-06-17 Thread Jakub Jelinek via Gcc
On Mon, Jun 17, 2024 at 03:33:05PM +0200, Martin Uecker wrote: > > I've done that and that was because build_qualified_type uses that > > predicate, where qualified types created by build_qualified_type have > > as TYPE_CANONICAL the qualified type of the main variant of the canonical > > type, whi

Re: check_qualified_type

2024-06-17 Thread Martin Uecker via Gcc
Am Montag, dem 17.06.2024 um 14:57 +0200 schrieb Jakub Jelinek: > On Mon, Jun 17, 2024 at 02:42:05PM +0200, Richard Biener wrote: > > > > > I am trying to understand what check_qualified_type > > > > > does exactly. The direct comparison of TYPE_NAMES seems incorrect > > > > > for C and its use is

Re: -Wcast-qual consistency with initialization conversion and double pointer types

2024-06-17 Thread Martin Uecker via Gcc
Am Montag, dem 17.06.2024 um 12:06 + schrieb Joseph Myers: > On Sun, 16 Jun 2024, Martin Uecker via Gcc wrote: > > > I think it should not warn about: > > > > char *x; > > *(char * volatile *)&x; > > > > as this is regular qualifier adding and this is > > a bug in GCC. > > > > I would guess

Re: check_qualified_type

2024-06-17 Thread Jakub Jelinek via Gcc
On Mon, Jun 17, 2024 at 02:42:05PM +0200, Richard Biener wrote: > > > > I am trying to understand what check_qualified_type > > > > does exactly. The direct comparison of TYPE_NAMES seems incorrect > > > > for C and its use is c_update_type_canonical then causes > > > > PR114930 and PR115502. In t

Re: check_qualified_type

2024-06-17 Thread Richard Biener via Gcc
On Mon, 17 Jun 2024, Martin Uecker wrote: > Am Montag, dem 17.06.2024 um 08:01 +0200 schrieb Richard Biener via Gcc: > > On Sun, 16 Jun 2024, Martin Uecker wrote: > > > > > > > > > > > I am trying to understand what check_qualified_type > > > does exactly. The direct comparison of TYPE_NAMES se

Re: -Wcast-qual consistency with initialization conversion and double pointer types

2024-06-17 Thread Joseph Myers via Gcc
On Sun, 16 Jun 2024, Martin Uecker via Gcc wrote: > I think it should not warn about: > > char *x; > *(char * volatile *)&x; > > as this is regular qualifier adding and this is > a bug in GCC. > > I would guess it looks at all qualifiers added at > all level but should ignore the one on the fir

Re: GCC 12.4 Release Candidate available from gcc.gnu.org

2024-06-17 Thread Jonathan Wakely via Gcc
On Mon, 17 Jun 2024 at 07:17, Richard Biener wrote: > > On Fri, 14 Jun 2024, Jonathan Wakely wrote: > > > On Thu, 13 Jun 2024 at 09:14, Richard Biener via Gcc > > wrote: > > > > > > > > > The first release candidate for GCC 12.4 is available from > > > > > > https://gcc.gnu.org/pub/gcc/snapshots