Provided by: asis-programs_2010-6_amd64 bug


       gnatsync - The GNAT global dependency detector


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

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


       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

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


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

              Specify file containing main subprogram

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

              Send output to filename.

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

       -t     Output execution time.

              Specify file describing foreign threads

       -v     Verbose mode.

       -wq    Turn warnings off.


       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]


       gnatsync was written by AdaCore (

       This manual page was  written  by  Ludovic  Brenta  <>  for  the  Debian
       project, from gnatsync's README file.


       gnatsync is Copyright (c) 2007-2009 AdaCore

       This manual page is Copyright (C) 2009 Ludovic Brenta <>.


       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