OnWorks favicon

gnatelim - Online in the Cloud

Run gnatelim in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command gnatelim that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



gnatelim - eliminate dead code from Ada programs


gnatelim [OPTION]... name


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.


-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

-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).

Use gnatelim online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Phaser is a fast, free, and fun open
    source HTML5 game framework that offers
    WebGL and Canvas rendering across
    desktop and mobile web browsers. Games
    can be co...
    Download Phaser
  • 2
    VASSAL Engine
    VASSAL Engine
    VASSAL is a game engine for creating
    electronic versions of traditional board
    and card games. It provides support for
    game piece rendering and interaction,
    Download VASSAL Engine
  • 3
    OpenPDF - Fork of iText
    OpenPDF - Fork of iText
    OpenPDF is a Java library for creating
    and editing PDF files with a LGPL and
    MPL open source license. OpenPDF is the
    LGPL/MPL open source successor of iText,
    Download OpenPDF - Fork of iText
  • 4
    SAGA - System for Automated
    Geoscientific Analyses - is a Geographic
    Information System (GIS) software with
    immense capabilities for geodata
    processing and ana...
    Download SAGA GIS
  • 5
    Toolbox for Java/JTOpen
    Toolbox for Java/JTOpen
    The IBM Toolbox for Java / JTOpen is a
    library of Java classes supporting the
    client/server and internet programming
    models to a system running OS/400,
    i5/OS, o...
    Download Toolbox for Java/JTOpen
  • 6
    D3.js (or D3 for Data-Driven Documents)
    is a JavaScript library that allows you
    to produce dynamic, interactive data
    visualizations in web browsers. With D3
    Download D3.js
  • More »

Linux commands