Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!ukma!gatech!amdcad!crackle!tim From: tim@crackle.amd.com (Tim Olson) Newsgroups: comp.lang.c Subject: Re: *devaddr = 0 and volatile Message-ID: <23706@amdcad.AMD.COM> Date: 5 Dec 88 23:08:46 GMT References: <674@quintus.UUCP> <117@halcdc.UUCP> <468@auspex.UUCP> <13784@oberon.USC.EDU> <14832@mimsy.UUCP> <9059@smoke.BRL.MIL> <21686@apple.Apple.COM> Sender: news@amdcad.AMD.COM Reply-To: tim@crackle.amd.com (Tim Olson) Organization: Advanced Micro Devices, Inc. Sunnyvale CA Lines: 20 Summary: Expires: Sender: Followup-To: In article <21686@apple.Apple.COM> desnoyer@Apple.COM (Peter Desnoyers) writes: | In article <9059@smoke.BRL.MIL> gwyn@brl.arpa (Doug Gwyn (VLD/VMB)) writes: | >In article <14832@mimsy.UUCP> chris@mimsy.UUCP (Chris Torek) writes: | >>I would suggest that the compiler complain about volatile references | >>that it cannot compile `properly'. | > | >Sounds like a reasonable suggestion to me. | >After all, if the programmer specified "volatile" it is safe to | >assume that he had a reason for doing so, and if it can't be honored | >then something is probably going to break. I was speaking to Richard Relph about this subject, and he brought up the problem of unaligned accesses through a pointer to a volatile object which is larger than a char, but is not properly aligned [what a mouthful!]. These also require multiple accesses to be performed "correctly." What should be done here? -- Tim Olson Advanced Micro Devices (tim@crackle.amd.com)