Bug report


I have found some strange behavior of Sage++ that I believe could
be considered bugs:

1) Fortran DATA statements: even if I change the expressions inside
   a DATA statement, those changes are not reflected in the unparsed code.
   Apparently a DATA statement is represented simply as a string?

2) Not all forms of declaration statements can be typecasted to
   "SgDeclarationStatement". Although "isSgDeclarationStatement(SgStatement*)"
   works if SgStatement* is pointing to a SgVarDeclStmt, it does not
   work if it is pointing to SgVarListDeclStmt or SgNestedVarListDeclStmt.

3) Array references that appear in an EQUIVALENCE statement are misunderstood
   as being array declarations. The sequence of statements:

	REAL A(10,10), B(10,10)
	EQUIVALENCE (A(1,1), B(1,1))

   will leave both A and B with size 1,1 in the symbol table.

4) The SgExprListExp* returned by SgNestedVarListDeclStmt::list(int)
   is different for COMMON and EQUIVALENCE statements. In case of EQUIVALENCE
   each element of the returned list is a variable reference. In case
   of COMMON the elements can be lists (with only one element).

Thank you -- Jose Moreira