Provided by: asis-programs_2010-6_amd64 bug

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