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: Incomplete TREE_CONSTANT-propagation in build() ?


Ziemowit Laski <zlaski@apple.com> writes:

| On 4 Nov, 2003, at 12.23, Gabriel Dos Reis wrote:
| 
| > Ziemowit Laski <zlaski@apple.com> writes:
| >
| > | P.S.  For the morbidly curious, I'm working on Motorola-style AltiVec
| > | support in the 3.4 tree, and I really need compound expressions like
| > | '(1, 2, 3, 4)' to be marked TREE_CONSTANT. :-)
| >
| > Why don't you use VECTOR_CST?
| 
| I am, but before they become VECTOR_CSTs, they are COMPOUND_EXPRs (due
| to the parenthesized Motorola notation).

OK, understood.  However, I would think that a TREE_LIST would be much
more appropriate: it really is a list of constant expression instead
of a sequence of expressions, evaluated and discarded  except the last
one.  It would be really helpful if the front-ends could be made much
more consistent in that area.  

| > A compound expression is NEVER a constant expression EVEN if its
| > operands are all constant expressions.
| 
| Why not?

I have no idea of the raionale behond "that is what the standard says". 

-- Gaby


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