public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Gabriel Dos Reis <gdr@integrable-solutions.net>
To: Dale Johannesen <dalej@apple.com>
Cc: Andrew Haley <aph@redhat.com>,
	"D. Hugh Redelmeier" <hugh@mimosa.com>,
	gcc@gcc.gnu.org, Nathan Sidwell <nathan@codesourcery.com>,
	Mike Stump <mrs@apple.com>
Subject: Re: volatile semantics
Date: Sat, 16 Jul 2005 21:17:00 -0000	[thread overview]
Message-ID: <m34qauv4d6.fsf@uniton.integrable-solutions.net> (raw)
In-Reply-To: <a315399723d359b46360b94cbdcb1af4@apple.com>

Dale Johannesen <dalej@apple.com> writes:

| >  the type of an object
| > changes depending on how it is accessed.
| 
| this also makes nonsense of gcc's implementation of type-based aliasing
| rules.
| 
|    *((int *)&x) = 3

No.  That one is specifically covered by the C and C++  standards
(although they use different terminologies).  C uses the notion of
*effective type* to formulate the rule.


       [#6] The effective type of an object for an  access  to  its
       stored value is the declared type of the object, if any.72)
       If a value is stored into an object having no declared  type
       through  an  lvalue  having  a  type that is not a character
       type, then the type of the lvalue becomes the effective type
       of  the  object  for that access and for subsequent accesses
       that do not modify the stored value.  If a value  is  copied
       into  an  object  having  no  declared  type using memcpy or
       memmove, or is copied as an array of  character  type,  then
       the  effective  type  of the modified object for that access
       and for subsequent accesses that do not modify the value  is
       the  effective  type  of  the object from which the value is
       copied, if it has one.  For all other accesses to an  object
       having no declared type, the effective type of the object is
       simply the type of the lvalue used for the access.


-- Gaby

  reply	other threads:[~2005-07-16 21:17 UTC|newest]

Thread overview: 118+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-03  8:41 Mike Stump
2005-05-03  8:52 ` Paolo Bonzini
2005-05-03  9:53 ` Giovanni Bajo
2005-05-03 14:31 ` Dave Korn
2005-05-03 14:41 ` Nathan Sidwell
2005-05-03 17:04   ` Dale Johannesen
2005-05-03 18:03     ` Nathan Sidwell
2005-05-03 18:32       ` Paul Koning
2005-05-03 18:37         ` Dale Johannesen
2005-05-11 23:01         ` Geoffrey Keating
2005-05-12 14:46           ` Paul Koning
2005-05-03 18:35       ` Dale Johannesen
2005-05-03 18:54         ` Nathan Sidwell
2005-05-03 19:25           ` Dale Johannesen
2005-05-04  8:18             ` Nathan Sidwell
2005-05-04 10:23               ` Andrew Haley
2005-05-04 11:30                 ` Gabriel Dos Reis
2005-05-04 17:59                   ` Dale Johannesen
2005-05-04 18:01                     ` Paul Koning
2005-05-04 19:49                     ` Nathan Sidwell
2005-07-16 16:51     ` D. Hugh Redelmeier
2005-07-16 16:56       ` Daniel Berlin
2005-07-16 17:26         ` Nathan Sidwell
2005-07-16 17:32           ` Daniel Berlin
2005-07-16 18:35             ` Nathan Sidwell
2005-07-16 20:35               ` Daniel Berlin
2005-07-16 21:29                 ` Gabriel Dos Reis
2005-07-16 21:41                   ` Daniel Berlin
2005-07-16 21:59                     ` Gabriel Dos Reis
2005-07-16 21:07             ` Gabriel Dos Reis
2005-07-16 19:20         ` D. Hugh Redelmeier
2005-07-16 21:10           ` Gabriel Dos Reis
2005-07-16 20:52         ` Gabriel Dos Reis
2005-07-16 21:07           ` Daniel Berlin
2005-07-16 21:24             ` Gabriel Dos Reis
2005-07-16 21:30               ` Daniel Berlin
2005-07-16 22:19                 ` Gabriel Dos Reis
2005-07-16 21:36               ` Daniel Berlin
2005-07-16 22:06                 ` Gabriel Dos Reis
2005-07-16 22:17                   ` Daniel Berlin
2005-07-16 22:25                     ` Gabriel Dos Reis
2005-07-19  7:27                       ` Kai Henningsen
2005-07-19  9:25                         ` Gabriel Dos Reis
2005-07-16 22:34               ` D. Hugh Redelmeier
2005-07-16 22:57                 ` Gabriel Dos Reis
2005-07-17  1:37                   ` D. Hugh Redelmeier
2005-07-17  2:24                     ` Gabriel Dos Reis
2005-07-17  2:36                       ` Daniel Berlin
2005-07-17  3:08                         ` Gabriel Dos Reis
2005-07-17  4:32                           ` Michael Veksler
2005-07-17  5:19                           ` Michael Veksler
2005-07-17  5:31                             ` Gabriel Dos Reis
2005-07-17  7:33                               ` Michael Veksler
2005-07-17 14:33                             ` Daniel Berlin
2005-07-17 15:30                               ` Michael Veksler
2005-07-17  7:53                           ` Andrew Pinski
2005-07-17 11:41                             ` Gabriel Dos Reis
2005-07-17  7:40                       ` D. Hugh Redelmeier
2005-07-17 11:50                         ` Gabriel Dos Reis
2005-07-18 19:30                           ` Mike Stump
2005-07-18 20:05                             ` Gabriel Dos Reis
2005-07-17 15:45                         ` Richard Henderson
2005-07-17 16:04                           ` Nathan Sidwell
2005-07-17 16:18                             ` Richard Henderson
2005-07-17 16:54                               ` Gabriel Dos Reis
2005-07-17 16:06                           ` Falk Hueffner
2005-07-17 16:18                           ` Ian Lance Taylor
2005-07-17 16:44                             ` Richard Henderson
2005-07-17 12:49                       ` Joseph S. Myers
2005-07-17  2:27                     ` Daniel Berlin
2005-07-17  3:14                       ` Gabriel Dos Reis
2005-07-17  3:27                         ` Daniel Berlin
2005-07-17 20:34                           ` Mark Mitchell
2005-07-17  4:38                         ` D. Hugh Redelmeier
2005-07-17  5:27                           ` Gabriel Dos Reis
2005-07-18 13:13                           ` Gerald Pfeifer
2005-07-17  7:54                       ` D. Hugh Redelmeier
2005-07-17 10:11               ` Andrew Haley
2005-07-17 12:03                 ` Gabriel Dos Reis
2005-07-16 17:33       ` Andrew Haley
2005-07-16 17:53         ` Daniel Berlin
2005-07-17  8:25           ` Ian Lance Taylor
2005-07-22 23:20             ` Geoffrey Keating
2005-07-22 23:33               ` Ian Lance Taylor
2005-07-23  1:28                 ` Geoff Keating
2005-07-23  2:59                   ` Gabriel Dos Reis
2005-07-23  9:50                     ` Geoff Keating
2005-07-23  6:03                   ` Ian Lance Taylor
2005-07-23 16:03                   ` Mike Stump
2005-07-16 19:05         ` Dale Johannesen
2005-07-16 21:17           ` Gabriel Dos Reis [this message]
2005-07-22 23:20       ` Geoffrey Keating
2005-07-25 23:08         ` Olivier Galibert
2005-05-06  0:45   ` Kai Henningsen
2005-05-06  1:42     ` Paul Koning
2005-05-06  2:04     ` Gabriel Dos Reis
2005-05-06  2:57     ` Dale Johannesen
2005-05-03 21:19 ` Thorsten Glaser
2005-05-06  5:06 Paul Schlie
2005-07-17 17:58 Paul Schlie
2005-07-18  1:29 Paul Schlie
2005-07-18  6:36 ` Gabriel Dos Reis
2005-07-18 11:20   ` Paul Schlie
2005-07-18 12:12     ` Paolo Bonzini
2005-07-18 12:17     ` Paul Schlie
2005-07-18 12:27       ` Gabriel Dos Reis
2005-07-18 13:27         ` Paul Schlie
2005-07-18 15:47           ` D. Hugh Redelmeier
2005-07-18 12:24     ` Gabriel Dos Reis
2005-07-18 12:11 ` Jonathan Wakely
2005-07-18 12:31   ` Paul Schlie
2005-07-19 17:56 Paul Schlie
2005-07-19 18:13 ` Gabriel Dos Reis
2005-07-19 18:32   ` Paul Schlie
2005-07-23  2:15 Paul Schlie
2005-07-23  9:50 ` Geoff Keating
2005-07-23 11:39   ` Paul Schlie
2005-07-23 11:44   ` Paul Schlie

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=m34qauv4d6.fsf@uniton.integrable-solutions.net \
    --to=gdr@integrable-solutions.net \
    --cc=aph@redhat.com \
    --cc=dalej@apple.com \
    --cc=gcc@gcc.gnu.org \
    --cc=hugh@mimosa.com \
    --cc=mrs@apple.com \
    --cc=nathan@codesourcery.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).