This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
notes on gfortran internals?
- From: Steve Kargl <sgk at troutmask dot apl dot washington dot edu>
- To: fortran at gcc dot gnu dot org
- Date: Mon, 28 Feb 2005 21:20:11 -0800
- Subject: notes on gfortran internals?
Does anyone have any notes on gfortran internals?
This includes understanding simple data structures
to the more arcane internals on modules and derives
types. I can probably flesh out the how, what,
where and why of the expression node and adding a
new intrinsic procedure to gfortran, but modules,
derived types, and partically the entire backend
is opaque. I'm willing to collate the info into
some form of document, but will probably need some
help with texinfo markup.
PS: I'm starting to write up the intrinsic procedures
that we support in gfortran. I have a complete list
of intrinsics up to this past weekend. The document
will be in alphabetical order for all intrinsic names
and will be something along the lines:
ABS -- Absolute Value
Class: F95
Generic intrinsic function: ABS(X)
where X is INTEGER(KIND=*), REAL(KIND=*), or COMPLEX(kind=*) and
ABS(X) returns INTEGER(KIND=*) or REAL(KIND=*) depending on the
type and kind of X.
Specific intrinsic functions:
ABS(X) -- yada yada
DABS(X) -- yada yada
IABS(X) -- yada yada
CABS(X) -- yada yada
DABS -- Absolute Value
See ABS
IARGC -- Number of command line arguments
Class: Gnu
Generic intrinsic function: IARGC()
return the number of command line arguments. The return type
and kind is INTEGER(KIND=4).
Specific intrinsic functions: IARGC()
I will of course consult the Fortran 2003 standard (the only
doc I have) and M&R.
--
Steve