From -6028326258423547877
X-Google-Thread: f78e5,e2cfdf64f67c7793
X-Google-Attributes: gidf78e5,public
X-Google-Language: ENGLISH,ASCII
Path: g2news1.google.com!news1.google.com!news.glorb.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local1.nntp.dca.giganews.com!nntp.speakeasy.net!news.speakeasy.net.POSTED!not-for-mail
NNTP-Posting-Date: Tue, 28 Sep 2004 09:00:18 -0500
Return-Path: <devnull@Algebra.Com>
X-Authentication-Warning: mulga.cs.mu.OZ.AU: fjh set sender to devnull@stump.algebra.com using -f
X-Robomod: STUMP, ichudov@algebra.com (Igor Chudov)
Date: Tue, 28 Sep 2004 13:53:26 GMT
Delivered-To: std-c++@ucar.edu
From: kanze@gabi-soft.fr
Newsgroups: comp.std.c++
Subject: Re: Eliminating uninitialised variables
Organization: http://groups.google.com
Message-ID: <d6652001.0409280133.3eb55853@posting.google.com>
References: <1GKClHFePJUBFwoH@jgharris.demon.co.uk> <memo.20040922212121.2520E@brangdon.m>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Complaints-To: groups-abuse@google.com
Approved: Fergus Henderson <fjh@cs.mu.oz.au>, moderator of comp.std.c++
X-Spam-Checker-Version: SpamAssassin 2.64 (2004-01-11) on manifold.algebra.com
X-Spam-Status: No, hits=0.3 required=3.0 tests=NO_REAL_NAME autolearn=no 
	version=2.64
	*  0.3 NO_REAL_NAME From: does not include a real name
Lines: 42
NNTP-Posting-Host: 64.81.147.48
X-Trace: sv3-O91AI8UbZ/nDavwe14RUqorqHCtTOShVz9C5S7UryFIo9BQgrKwHywe8DMXCtFY08NjvtWBIiuo1EPM!erXE/HBnxo392AQVlSHqA4OzscI/kALWkMjJhQ7D0hW5MKCVAbCBDnYpuZu5+0K5zIpcCo2RBjZb!YmT9p02Pj7kUkw8DlxAzdMuccQfdPx1O
X-Complaints-To: abuse@speakeasy.net
X-DMCA-Complaints-To: abuse@speakeasy.net
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.13
Xref: g2news1.google.com comp.std.c++:2895

brangdon@cix.co.uk (Dave Harris) wrote in message
news:<memo.20040922212121.2520E@brangdon.m>...

    [...]
> > 4 What about volatile?

> Good question. I hadn't thought about it, but I don't think it causes any 
> new problems. These:

>     // Proposed
>     volatile int x;
>     volatile int x( __uninitialised );

> under the new regime would have the semantics of:

>     // Current
>     volatile int x( 0 );
>     volatile int x;

> under the current regime - whatever semantics those happen to be.

Which means that you've introduced a quiet change, which could seriously
break user code.

I don't know if it is really a problem.  In all of the cases of memory
mapped IO I've seen, the access has been through a pointer to volatile
anyway (generally due to the fact that such memory must be at specific
addresses, and casting an int to a pointer was the easiest way of
achieving this).

--
James Kanze           GABI Software         http://www.gabi-soft.fr
Conseils en informatique orient�e objet/
                   Beratung in objektorientierter Datenverarbeitung
9 place S�mard, 78210 St.-Cyr-l'�cole, France, +33 (0)1 30 23 00 34

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html                       ]



