Vincent Lefevre <[EMAIL PROTECTED]> writes:

| On 2005-04-27 17:30:25 +0200, Gabriel Dos Reis wrote:
| > Vincent Lefevre <[EMAIL PROTECTED]> writes:
| > 
| > | On 2005-04-27 15:30:39 +0200, Gabriel Dos Reis wrote:
| > | > Vincent Lefevre <[EMAIL PROTECTED]> writes:
| > | > 
| > | > [...]
| > | > 
| > | > | >  > But if they are never modified, they evaluate to
| > | > | >  > constants, right?
| > | > | >  > 
| > | > | >  > The fact that they are not considered as constant
| > | > | >  > expressions, is it due to the fact that the environment
| > | > | >  > is allowed to modify them?
| > | > | > 
| > | > | > It's due to what the C standard says. A const variable in C
| > | > | > isn't a constant, it's just a read-only variable.
| > | > | 
| > | > | 1+1 isn't a constant either
| > | > 
| > | > It is an integer constant expression, and its evaluation yields a
| > | > constant (see 6.6).  Can you explain why you believe that is false?
| > | 
| > | I never said that it was false.
| > 
| > Ah, then what exactly is your point?
| 
| That a constant expression isn't necessarily a constant (6.4.4).
| So, if one says that some expression isn't a constant, it doesn't
| necessarily mean that it isn't a constant expression.
| 
| Example: the expression 1+1 is not a constant, but it evaluates to
| a constant (2) and it is a constant expression.
| 
| So, the only fact that a const variable is not a constant does not
| imply that it is not a constant expression, and my questions above
| have not been answered.

It has been answered, but I do not believe you made the effort to
understand the answer.  Now, let me asnwer it one more time.

Read Zack's sentence 

      These are not constants.

from

   http://gcc.gnu.org/ml/gcc/2005-04/msg01436.html

as 

     These (i.e. AAA, etc.) are not constant expressions.

Are you happy now?

-- Gaby

Reply via email to