Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| Message-ID | <4FEC2BDA.3090801@loria.fr> (permalink) |
|---|---|
| Date | 2012-06-28 12:03 +0200 |
| From | Jens Gustedt <jens.gustedt@loria.fr> |
| Newsgroups | comp.lang.c |
| Subject | Re: Function casting - UB? |
| References | <0c176b1e-39f3-4e65-8a7b-eca16b8955c5@d24g2000yqh.googlegroups.com> <kfnzk7o4pxf.fsf@x-alumni2.alumni.caltech.edu> <jsh0qa$49g$1@news.albasani.net> <jsh10i$49g$2@news.albasani.net> |
| Organization | Guest of ProXad - France |
Am 28.06.2012 09:27, schrieb Johannes Bauer: > On 28.06.2012 09:23, Johannes Bauer wrote: >> On 27.06.2012 19:37, Tim Rentsch wrote: >>> The other example you give, >>> assigning to one member of a union and reading from another, is >>> actually defined behavior, _not_ undefined behavior. >> >> I also was under the impression that writing to member x and reading >> member y of a union is UB. Wikipedia says "This is not, however, a safe >> use of unions in general.", which is pretty vague (i.e. it's not clear >> which cases are safe and which are not). >> >> Could you elaborate on why you think this is well-defined? > > Ah, I just read James' response further down. Interesting. Really > thought this was undefined. Is this a recent change? I think this was not considered as a change in contents but given as more precision on the intent. n1256.pdf has modification marks in this region so I suppose that these came with TC3. They state > When a value is stored in a member of an object of union type, the > bytes of the object representation that do not correspond to that > member but do correspond to other members take unspecified values. which in terms of the standard means that it is only UB if these unspecific values are "forbidden" values for that type, in particular trap representations. This means that for most of modern architectures manipulating integer values (except of _Bool) through unions is completely ok. Floating point values, _Bool, and pointer types must be treated with more care. Jens
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Function casting - UB? nroberts <roberts.noah@gmail.com> - 2012-06-27 08:50 -0700
Re: Function casting - UB? Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-06-27 12:49 -0400
Re: Function casting - UB? Heikki Kallasjoki <fis+usenet@zem.fi> - 2012-06-27 17:54 +0000
Re: Function casting - UB? "io_x" <a@b.c.invalid> - 2012-06-28 18:58 +0200
Re: Function casting - UB? Tim Rentsch <txr@alumni.caltech.edu> - 2012-06-27 10:37 -0700
Re: Function casting - UB? Johannes Bauer <dfnsonfsduifb@gmx.de> - 2012-06-28 09:23 +0200
Re: Function casting - UB? Johannes Bauer <dfnsonfsduifb@gmx.de> - 2012-06-28 09:27 +0200
Re: Function casting - UB? Jens Gustedt <jens.gustedt@loria.fr> - 2012-06-28 12:03 +0200
Re: Function casting - UB? Tim Rentsch <txr@alumni.caltech.edu> - 2012-06-29 11:10 -0700
Re: Function casting - UB? Tim Rentsch <txr@alumni.caltech.edu> - 2012-06-29 11:03 -0700
Re: Function casting - UB? Les Cargill <lcargill99@comcast.com> - 2012-06-27 12:58 -0500
Re: Function casting - UB? Les Cargill <lcargill99@comcast.com> - 2012-06-27 12:59 -0500
Re: Function casting - UB? James Kuyper <jameskuyper@verizon.net> - 2012-06-27 14:45 -0400
Re: Function casting - UB? "christian.bau" <christian.bau@cbau.wanadoo.co.uk> - 2012-06-27 14:55 -0700
Re: Function casting - UB? Tim Rentsch <txr@alumni.caltech.edu> - 2012-06-27 17:44 -0700
Re: Function casting - UB? Joshua Maurice <joshuamaurice@gmail.com> - 2012-07-07 16:46 -0700
Re: Function casting - UB? Barry Schwarz <schwarzb@dqel.com> - 2012-07-08 09:19 -0700
Re: Function casting - UB? Tim Rentsch <txr@alumni.caltech.edu> - 2012-07-08 11:13 -0700
Re: Function casting - UB? Barry Schwarz <schwarzb@dqel.com> - 2012-07-08 15:24 -0700
Re: Function casting - UB? Joshua Maurice <joshuamaurice@gmail.com> - 2012-07-08 18:12 -0700
Re: Function casting - UB? Tim Rentsch <txr@alumni.caltech.edu> - 2012-07-10 10:40 -0700
Re: Function casting - UB? Tim Rentsch <txr@alumni.caltech.edu> - 2012-07-08 11:06 -0700
csiph-web