[Prev][Next][Index]
Fortran M support
- To: sage-bugs@cica.cica.indiana.edu
- Subject: Fortran M support
- Date: Wed, 19 Oct 94 15:52:16 -0700
- From: lth@owyhee.cs.uoregon.edu
libSage++ does not completely support the Fortran M _PROCESS_ statement; in
the code for SgSymbol::body() (around line 2240 in libSage++) there is the
following code:
> if ((SYMB_CODE(thesymb) == FUNCTION_NAME) ||
> (SYMB_CODE(thesymb) == PROGRAM_NAME) ||
> (SYMB_CODE(thesymb) == PROCEDURE_NAME) ||
> (SYMB_CODE(thesymb) == MEMBER_FUNC))
> {
> bif = SYMB_FUNC_HEDR(thesymb); // needed, otherwise breaks pC++
> if (!bif)
> bif = getFunctionHeader(thesymb);
> } else
> {
> Message("Body not found, may not be implemented yet",0);
> SORRY;
> }
> }
I need this code to support PROCESS_NAME symbols in addition to the
others. I am not particularly familiar with the internal representation yet,
but since a PROCESS is essentially a SUBROUTINE, am I correct in assuming
that if I add another case (for PROCESS_NAME) to the above IF nest, it will
have the desired effect?
--lars
Follow-Up(s):