public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
From: "Stephen Kennedy" <Stephen.Kennedy@havok.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, Subject: RE: c/9762: Address of 'char' is incorrect. Date: Thu, 20 Feb 2003 18:36:00 -0000 [thread overview] Message-ID: <20030220183600.3822.qmail@sources.redhat.com> (raw) The following reply was made to PR c/9762; it has been noted by GNATS. From: "Stephen Kennedy" <Stephen.Kennedy@havok.com> To: "'Neil Booth'" <neil@daikokuya.co.uk> Cc: <gcc-gnats@gcc.gnu.org>, <debian-gcc@lists.debian.org> Subject: RE: c/9762: Address of 'char' is incorrect. Date: Thu, 20 Feb 2003 18:32:19 -0000 OK, the C standard does not say that this should work, so you can consider this bug closed. However, given knowledge of the calling convention of a particular machine, you can do neat things such as dynamic function binding. See www.drizzle.com/~scottb/gdc/fubi-paper.htm for instance. I've since changed to using assembly, but why does gcc return the address of a temp when 'a' is a char and not when 'a' is an int? Surprised, not unhappy, Stephen. --- Stephen Kennedy <Stephen.Kennedy@havok.com> t: +353 1 6693679 f: +353 1 6767094 Game Developer Frontline Award Winner http://www.havok.com/news/release.html > > In the example below, '&a' is the address of a local > copy of 'a' not of 'a'. > > if the type of 'a' is changed to int, it works as expected. > > Works as who expected? Where is the bug? Please quote which part of > the C standard is violated. You got an address, why are you unhappy? > > Neil. > > > #define TA char > > #define TB int > > #define TC int > > > > void foobar(TA a, TB b, TC c); > > > > int main() > > { > > foobar(1,2,3); > > return 0; > > } > > > > void foobar(TA a, TB b, TC c) > > { > > printf("a == %i claims %x\n", a, &a); > > printf("a == %i really %x\n", (&b)[-1], (&b)-1); > > printf("b == %i %x\n", b, &b); > > printf("c == %i %x\n", c, &c); > > } >
next reply other threads:[~2003-02-20 18:36 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2003-02-20 18:36 Stephen Kennedy [this message] -- strict thread matches above, loose matches on Subject: below -- 2003-02-20 20:33 neil 2003-02-20 19:06 Daniel Jacobowitz 2003-02-20 14:36 Andreas Schwab 2003-02-20 8:06 ebotcazou 2003-02-19 21:26 Neil Booth 2003-02-19 19:56 stephen.kennedy
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=20030220183600.3822.qmail@sources.redhat.com \ --to=stephen.kennedy@havok.com \ --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).