1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
.\" Hey, Emacs! This is an -*- nroff -*- source file.
.\"
.\" Copyright (C) 1996 Erick Branderhorst <branderh@debian.org>
.\"
.\" This is free software; you can redistribute it and/or modify it under
.\" the terms of the GNU General Public License as published by the Free
.\" Software Foundation; either version 2, or (at your option) any later
.\" version.
.\"
.\" This is distributed in the hope that it will be useful, but WITHOUT
.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
.\" for more details.
.\"
.\" You should have received a copy of the GNU General Public License with
.\" your Debian GNU/Linux system, in /usr/share/common-licenses/GPL, or with the
.\" dpkg source package as the file COPYING. If not, write to the Free
.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
.\"
.TH "GNATELIM" 1 "January 2002" "GNU Ada Tools" "ASIS Tools"
.SH NAME
\fBgnatelim\fR \- eliminate dead code from Ada programs
.SH SYNOPSIS
\fBgnatelim\fR [\fIOPTION\fR]... \fIname\fR
.SH DESCRIPTION
.PP
When you are working with a program which shares some set of Ada packages
with other programs, it may happen, that your program uses only a part of
subprogram defined in these packages, whereas the code created for unused
subprograms increases the size of the executable your program.
.PP
\fBgnatelim\fR is a utility tracking unused subprograms in an Ada
program. Its output consists of a list of Eliminate pragmas marking
all the subprograms that are declared, but never called in a given
program. Eliminate is a GNAT-specific pragma. By ecompiling your
program with these pragmas, you may decrease the size of its
executable, because the compiler will not create the code for unused
subprograms.
.PP
\fBgnatelim\fR is an ASIS application developed on top of the ASIS
implementation for GNAT. It needs a set of tree files representing a
program to analyze and the bind file for its main subprogram to be
created in the current directory. For the current version, it is a the
user's responsibility to maintain the consistency of the set of tree
files processed by \fBgnatelim\fR, if the user also changes the
sources of the Ada program to be processed.
.PP
To produce a list of Eliminate pragmas, \fBgnatelim\fR has to do an
extensive analysis and it may take some time. For example, to process
itself, \fBgnatelim\fR takes 4 minutes of CPU time on a Pentium 200.
.SH OPTIONS
.TP
\fB-v\fR
verbose mode: \fBgnatelim\fR version information is printed (in the form of
Ada comments) in stdout; the names of the files being processed are
printed to standard-error.
.TP
\fB-vf\fR
Same as -v, but in addition various debugging information and
information reflecting some details of the analysis done by
\fBgnatelim\fR are printed to standard-error.
.TP
\fB-a\fR
Process RTL components: by default, \fBgnatelim\fR does not analyze
the units which are the components of the GNAT Run-Time Library (RTL),
and it does not generate Eliminate pragmas for subprograms declared in
the RTL. If '-a' option is set, RTL components are also analyzed
(except some units, which contains subprograms implicitly called by
the compiler).
.TP
\fB-m\fR
Check missed units: if this option is set, \fBgnatelim\fR checks that
all the units which (according to the bind file) has to be analyzed by
\fBgnatelim\fR are really represented by the set of tree files
processed by \fBgnatelim\fR (depending on whether or not '-a' option
is set). By default (that is, if '-m' option is not set),
\fBgnatelim\fR analyzes a set of units represented by a given set of
tree files "as is" (excluding library packages which require bodies,
but for which bodies are not available).
.SH AUTHOR
.PP
ASIS-for-GNAT was originally developed by the ASIS-for-GNAT team at the
Software Engineering Laboratory of the Swiss Federal Institute of
Technology (LGL-EPFL) in Lausanne, Switzerland, in cooperation with the
Scientific Research Computer Center of Moscow State University (SRCC
MSU), Russia, with funding partially provided by grants from the Swiss
National Science Foundation and the Swiss Academy of Engineering
Sciences. ASIS-for-GNAT is now maintained by Ada Core Technologies Inc
(http://www.gnat.com).
.PP
This manual page was written by Ludovic Brenta
<ludovic@ludovic-brenta.org> for the Debian project.
.SH COPYRIGHT
Copyright (c) 1995-1997, Free Software Foundation, Inc.
.SH SEE ALSO
.PP
asistant(1), gnat(1), gnatcheck(1), gnatmetric(1), gnatpp(1), gnatstub(1)
.PP
The full documentation for \fBgnatelim\fR in
/usr/share/doc/asis-programs/README.gnatelim
.TP
\fBinfo asis_ug\fR ASIS-for-GNAT User's Guide
.TP
\fBinfo asis_rm\fR ASIS-for-GNAT Reference Manual
|