This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GCC 3.3 release criteria


On Tue, 25 Feb 2003, Richard Earnshaw wrote:

> > There are a lot of ill-formed (note I don't use other terms like 
> > undefined) programs for which it is impossible to emit a diagnostic.  The 
> > following, for example is ill-formed, though each statement is 
> > well-defined.
> > 
> > int x;
> > int plus_x() { x+=1; return x;}
> > int get_x() {return x;}
> > extern int f(int, int);
> > int g()
> > { return g(plus_x(), get_x();}
> 
> Err, before the pedants start, that last line should read:
> 
> {return f(plus_x(), get_x());}

What is meant to be wrong with this code?  There isn't a sequence point
problem: function calls do not overlap (DR#087; C++ states this
explicitly).

-- 
Joseph S. Myers
jsm28 at cam dot ac dot uk


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]