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: Patch for Bug No-8081


"Sitikant Sahu, Noida" <sitikants@noida.hcltech.com> writes:

| Gabriel Dos Reis wrote,
| 
| | >  int *p = &func().val[i];
| | 
| | >Bleah ill-thought-out extensions...
| | 
| | Here the C parser takes care of semantics and emits the error.  
| 
| >Why an error?
| 
| 
| while compiling the above statement in gcc 2.96, I get this.
| x.c:15: invalid use of non-lvalue array
| 
| while compiling the above statement in gcc 3.3, I get this.
| x.c:15: error: invalid operands to binary +
| 
| These are also the error messages where the return type is not variable
| size.  
| Is it the desired behaviour?

In C90, that is undefined behaviour.  In C99, it is defined behaviour
and we should NOT error.  Therefore, I suggest that the error be
conditionalized on the selected standard.

-- Gaby


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