Man Linux: Main Page and Category List

NAME

       gnatsync - The GNAT global dependency detector

SYNOPSIS

       gnatsync [OPTION]... filename [-cargs gcc_switches]

       gnatsync [OPTION]... -files=filename [-cargs gcc_switches]

DESCRIPTION

       gnatsync  is  the  GNAT  static  analysis  tool  that  helps  to detect
       potential race conditions in multitasking  programs,  by  exposing  the
       global  data  that  is accessed in unsynchronized manner by independent
       threads or Ada tasks.

       Input to gnatsync is a set of compilable Ada sources that constitutes a
       complete  program.  As  it output, the tool prints out a list of a data
       objects for which potential unsynchronized access is detected, and  for
       each  such  object the tool provides a list of threads that access this
       object. Each access is specified by  a  full  sequence  of  subprograms
       calls when a given thread does not reference the object directly.

       gnatsync is an ASIS-based tool. It compiles the given sources to create
       the corresponding tree files. All these compilations take  place  in  a
       temporary  directory,  which  is created in the beginning of a gnatsync
       run and is deleted when the  processing  of  the  argument  sources  is
       completed.  If  a  source  file specified as gnatsync argument does not
       contain a legal Ada program unit, that is to say  if  the  program  has
       syntactic  of  semantic  errors,  gnatsync  cannot  process  it. If the
       specified source contains an  Ada  unit  which  depends  on  Ada  units
       located  in  other  directories, the user can either specify the source
       search path by means of a -I option in  ’-cargs’  section  of  gnatsync
       parameters,  in the same way as the source search path can be specified
       for GNAT. This is not needed if gnatsync is called from the GNAT driver
       with the corresponding project file.

       In  the  first  form,  gnatsync examines the specified Ada source files
       (wildcards are allowed).

       In the second form, gnatsync examines the Ada source  files  listed  in
       the specified file.

OPTIONS

       -a     Process RTL units.

       -cargs gcc_switches
              Pass gcc_switches to GCC when producing the tree files.

       -d     Debug mode.

       -dd    Progress indicator mode, for use in the GNAT Programming Studio.

       -main=filename
              Specify file containing main subprogram

       -o(s|m|f)
              Output detail level: s=short, m=medium (the default), f=full.

       -out_file=filename
              Send output to filename.

       -q     Quiet mode: do not report detections on standard output.

       -t     Output execution time.

       -threads=filename
              Specify file describing foreign threads

       -v     Verbose mode.

       -wq    Turn warnings off.

PROJECT FILE SUPPORT

       gnasync can be applied to any set of sources, but it can produce useful
       and  complete  results  when  called to a set of sources that make up a
       complete program. The most convenient way to  specify  such  a  set  of
       sources  is a project file. gnatsync can be called from the GNAT driver
       as other tools, so the most practical way of invoking the tool is:

       gnat sync -Pproj -U [options]

AUTHOR

       gnatsync was written by AdaCore (http://www.adacore.com).

       This manual page was written by Ludovic Brenta <lbrenta@debian.org> for
       the Debian project, from gnatsync’s README file.

COPYRIGHT

       gnatsync is Copyright (c) 2007-2009 AdaCore

       This    manual    page   is   Copyright   (C)   2009   Ludovic   Brenta
       <lbrenta@debian.org>.

SEE ALSO

       asistant(1),   gnat(1),   gnatcheck(1),   gnatelim(1),   gnatmetric(1),
       gnatpp(1)

       The   full   documentation   for   gnatsync   in   /usr/share/doc/asis-
       programs/README.gnatsync.

       info asis_ug ASIS-for-GNAT User’s Guide

       info asis_rm ASIS-for-GNAT Reference Manual