Dave,

Hard to know exactly what you are looking for.

Do you want to stay at the source level with a static anyliser ?

If not, you could try GCOV (GNU Coverage tool) that works fine
with GNAT. Just compile the sources with some specific options,
run you program and use GCOV to see what parts of your code has 
been called. So this is a runtime anyliser, not sure you are looking
for that :-)

Pascal.

--|------------------------------------------------------------
--| Pascal Obry                               Team-Ada Member |
--|                                                           |
--| EDF-DER-IPN-SID- T T I                                    |
--|                       Intranet: http://cln46gb            |
--| Bureau N-023            e-mail: [log in to unmask]        |
--| 1 Av Général de Gaulle  voice : +33-1-47.65.50.91         |
--| 92141 Clamart CEDEX     fax   : +33-1-47.65.50.07         |
--| FRANCE                                                    |
--|------------------------------------------------------------
--|
--|   http://ourworld.compuserve.com/homepages/pascal_obry
--|
--|   "The best way to travel is by means of imagination"