public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Joe Buck <Joe.Buck@synopsys.COM>
To: Shaun Jackman <sjackman@gmail.com>
Cc: Mike Stump <mrs@apple.com>,
	Andrew Pinski <pinskia@physics.uc.edu>,
	Dave Korn <dave.korn@artimi.com>,
	Paul Koning <pkoning@equallogic.com>,
	gcc@sources.redhat.com
Subject: Re: memcpy to an unaligned address
Date: Tue, 02 Aug 2005 22:12:00 -0000	[thread overview]
Message-ID: <20050802221211.GF30893@synopsys.com> (raw)
In-Reply-To: <7f45d9390508021507322c81a2@mail.gmail.com>

On Tue, Aug 02, 2005 at 04:07:00PM -0600, Shaun Jackman wrote:
> On 8/2/05, Joe Buck <Joe.Buck@synopsys.com> wrote:
> > I suppose we could make & on an unaligned project return a void*.  That
> > isn't really right, but it would at least prevent the cases that we know
> > don't work from compiling.
> 
> That sounds like a dangerous idea only because I'd expect...
> 	int *p = &packed_struct.unaligned_member;
> ... to fail if unaligned_member is not an int, but if the & operator
> returns a void*, it would suddenly become very permissive.

Ah.  I was thinking as a C++ programmer, where void* cannot be assigned to
int* without an explicit cast.  The decision to allow this in C was the
worst mistake the standards committee made.

The problem is that the type returned by malloc is not just any void*,
but a special pointer that is guaranteed to have alignment sufficient
to store any type.  This is very different from the type of the arguments
to memcpy, which is assumed to have no alignment that can be counted on.

  reply	other threads:[~2005-08-02 22:12 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-02 17:32 Shaun Jackman
2005-08-02 17:43 ` Dave Korn
2005-08-02 19:13   ` Shaun Jackman
2005-08-02 19:19     ` Paul Koning
2005-08-02 19:26       ` Shaun Jackman
2005-08-02 19:40         ` Dave Korn
2005-08-02 19:48           ` Paul Koning
2005-08-02 20:15           ` Shaun Jackman
2005-08-02 20:29             ` Mike Stump
2005-08-02 20:38               ` Andrew Pinski
2005-08-02 20:45                 ` Ian Lance Taylor
2005-08-02 21:30                   ` Mike Stump
2005-08-02 21:34                     ` Joe Buck
2005-08-03 18:00                   ` Richard Henderson
2005-08-03 18:15                     ` Shaun Jackman
2005-08-03 18:19                       ` Dave Korn
2005-08-03 21:26                       ` Richard Henderson
2005-08-04  4:42                     ` Ian Lance Taylor
2005-08-04 12:40                     ` Paul Koning
2005-08-02 20:46                 ` Paul Koning
2005-08-02 22:17                   ` Shaun Jackman
2005-08-03 17:16                     ` Paul Koning
2005-08-02 22:26                   ` Shaun Jackman
2005-08-02 22:29                     ` Shaun Jackman
2005-08-02 21:05                 ` Mike Stump
2005-08-02 21:11                   ` Joe Buck
2005-08-02 22:15                     ` Shaun Jackman
2005-08-02 22:12                       ` Joe Buck [this message]
2005-08-02 20:29             ` Paul Koning
2005-08-02 17:48 ` Falk Hueffner
2005-08-02 18:03 ` Mike Stump
     [not found] <345be691050804025955c0b4ab@mail.gmail.com>
2005-08-04 15:06 ` Shaun Jackman
2005-08-04 15:09   ` Christian Joensson
2005-08-05  8:41   ` Carl Whitwell
2005-08-05 16:09     ` Shaun Jackman

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=20050802221211.GF30893@synopsys.com \
    --to=joe.buck@synopsys.com \
    --cc=dave.korn@artimi.com \
    --cc=gcc@sources.redhat.com \
    --cc=mrs@apple.com \
    --cc=pinskia@physics.uc.edu \
    --cc=pkoning@equallogic.com \
    --cc=sjackman@gmail.com \
    /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: link
Be 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).