NAME¶
gnatelim - eliminate dead code from Ada programs
SYNOPSIS¶
gnatelim [
OPTION]... 
name
DESCRIPTION¶
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.
gnatelim 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.
gnatelim 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
  
gnatelim, if the user also changes the sources of the Ada program to be
  processed.
To produce a list of Eliminate pragmas, 
gnatelim has to do an extensive
  analysis and it may take some time. For example, to process itself,
  
gnatelim takes 4 minutes of CPU time on a Pentium 200.
OPTIONS¶
  - -v
 
  - verbose mode: gnatelim version information is
      printed (in the form of Ada comments) in stdout; the names of the files
      being processed are printed to standard-error.
 
  - -vf
 
  - Same as -v, but in addition various debugging information
      and information reflecting some details of the analysis done by
      gnatelim are printed to standard-error.
 
  - -a
 
  - Process RTL components: by default, gnatelim 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).
 
  - -m
 
  - Check missed units: if this option is set, gnatelim
      checks that all the units which (according to the bind file) has to be
      analyzed by gnatelim are really represented by the set of tree
      files processed by gnatelim (depending on whether or not '-a'
      option is set). By default (that is, if '-m' option is not set),
      gnatelim 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).
    
 
   
AUTHOR¶
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).
This manual page was written by Ludovic Brenta
  <ludovic@ludovic-brenta.org> for the Debian project.
COPYRIGHT¶
Copyright (c) 1995-1997, Free Software Foundation, Inc.
SEE ALSO¶
asistant(1), 
gnat(1), 
gnatcheck(1), 
gnatmetric(1), 
gnatpp(1), 
gnatstub(1)
The full documentation for 
gnatelim in
  /usr/share/doc/asis-programs/README.gnatelim
  - info asis_ug ASIS-for-GNAT User's Guide
 
  
  - info asis_rm ASIS-for-GNAT Reference Manual