public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
From: lerdsuwa@gcc.gnu.org To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org Subject: Re: c++/332 Date: Sun, 01 Apr 2001 00:00:00 -0000 [thread overview] Message-ID: <20010204133600.6293.qmail@sourceware.cygnus.com> (raw) The following reply was made to PR c++/332; it has been noted by GNATS. From: lerdsuwa@gcc.gnu.org To: Thomas.Hagelien@matek.sintef.no, gcc-gnats@gcc.gnu.org, martin@loewis.home.cs.tu-berlin.de, nobody@gcc.gnu.org Cc: Subject: Re: c++/332 Date: 4 Feb 2001 13:26:47 -0000 Synopsis: typename bug, gcc hangs (Internal compiler error) State-Changed-From-To: analyzed->closed State-Changed-By: lerdsuwa State-Changed-When: Sun Feb 4 05:26:47 2001 State-Changed-Why: The bug appears to be fixed in the CVS. Tested with snapshot 20010123. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=332&database=gcc >From rat@scssoft.com Sun Apr 01 00:00:00 2001 From: rat@scssoft.com To: gcc-gnats@gcc.gnu.org Subject: c++/1842: when using regparm-attribute on function pointer, it affects previous function pointer too Date: Sun, 01 Apr 2001 00:00:00 -0000 Message-id: <20010202211425.5549.qmail@sourceware.cygnus.com> X-SW-Source: 2001-q1/msg00868.html Content-length: 1530 >Number: 1842 >Category: c++ >Synopsis: when using regparm-attribute on function pointer, it affects previous function pointer too >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: wrong-code >Submitter-Id: net >Arrival-Date: Fri Feb 02 13:16:00 PST 2001 >Closed-Date: >Last-Modified: >Originator: Zbynek Vyskovsky >Release: gcc version 2.95.3 20010125 (prerelease) >Organization: >Environment: Debian Linux - sid. i386 compatible, no special environment for gcc, other information probably irrelevant >Description: When declaring two pointers to function, and the second one with attribute regparm(3), it affects the first pointer too (when generating the code). See assembler-output for details. >How-To-Repeat: Run gcc -S regparm_bug.cc and see how f1 is called. Its arguments are passed via registers, although it wasn't declared with regparm attribute. >Fix: There is possibility to add regparm-attribute on the end of declaration, but it makes portability (on other compilers) much more tough. >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: text/x-c++src; name="regparm_bug.cc.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="regparm_bug.cc.gz" H4sIAN4bezoCA1WNsQrDMAxEd32FIIuUqU7HfIxxiRw0xDWqUgql/147Q2luO453b1gkaxFMtj5Q i6MCyMvFCj7vuiCNOTD1lefzEGNyN73tLjESmaw12UZXZsYxTz8Ihj9FxQDQNVvSQv2I4Q3YksMB 1EYcdTpVE9+b+TLDB77p5uYkswAAAA== >From carlo@alinoe.com Sun Apr 01 00:00:00 2001 From: Carlo Wood <carlo@alinoe.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org Subject: Re: middle-end/2133 Date: Sun, 01 Apr 2001 00:00:00 -0000 Message-id: <20010303042602.17170.qmail@sourceware.cygnus.com> X-SW-Source: 2001-q1/msg01926.html Content-length: 1493 The following reply was made to PR middle-end/2133; it has been noted by GNATS. From: Carlo Wood <carlo@alinoe.com> To: gcc-gnats@gcc.gnu.org, nobody@gcc.gnu.org Cc: Subject: Re: middle-end/2133 Date: Sat, 3 Mar 2001 05:24:34 +0100 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=2133&database=gcc I decided to make a summary for the person who will fix this. Bug1: A 'K' in front of (member) function pointers (and references) need to make the pointer (reference) const, not the function: KPF<return_type><p1><p2>...<pN>E --> <return_type> (* const)(<p1>, <p2>, ..., <pN>) KRF<return_type><p1><p2>...<pN>E --> <return_type> (& const)(<p1>, <p2>, ..., <pN>) KM<scopetype>F<return_type><p1><p2>...<pN>E --> <return_type> (<scopetype>::* const)(<p1>, <p2>, ..., <pN>) or, more in general: K<type> --> <prefix> const <postfix> Bug2: A possibility needs to be added to the mangling sheme to mangle const functions, this should be done as was done in with the old ABI by putting the qualifier in front of the 'F': PKF<return_type><p1><p2>...<pN>E --> <return_type> (*)(<p1>, <p2>, ..., <pN>) const RKF<return_type><p1><p2>...<pN>E --> <return_type> (&)(<p1>, <p2>, ..., <pN>) const M<scopetype>KF<return_type><p1><p2>...<pN>E --> <return_type> (<scopetype>::*)(<p1>, <p2>, ..., <pN>) const -- Carlo Wood <carlo@alinoe.com>
reply other threads:[~2001-04-01 0:00 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20010204133600.6293.qmail@sourceware.cygnus.com \ --to=lerdsuwa@gcc.gnu.org \ --cc=gcc-prs@gcc.gnu.org \ --cc=nobody@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).