binutils-gdb/gprof/cg_arcs.h
Ian Lance Taylor 8c73afb353 Avoid some overflow cases:
* basic_blocks.h (bb_min_calls): Change to unsigned long.
	* call_graph.h (cg_tally): Change count parameter to unsigned
	long.
	* cg_arcs.h (Arc): Change count field to unsigned long.
	(arc_add): Change count parameter to unsigned long.
	* source.h (Source_File): Change ncalls field to unsigned long.
	* symtab.h (Sym): Change fields ncalls, bb_calls, and
	cg.self_calls to unsigned long.
	* Many files: Update accordingly.
1998-08-12 19:06:24 +00:00

37 lines
1.1 KiB
C

#ifndef cg_arcs_h
#define cg_arcs_h
#include "gprof.h"
#include "symtab.h"
/*
* Arc structure for call-graph.
*
* With pointers to the symbols of the parent and the child, a count
* of how many times this arc was traversed, and pointers to the next
* parent of this child and the next child of this parent.
*/
typedef struct arc
{
Sym *parent; /* source vertice of arc */
Sym *child; /* dest vertice of arc */
unsigned long count; /* # of calls from parent to child */
double time; /* time inherited along arc */
double child_time; /* child-time inherited along arc */
struct arc *next_parent; /* next parent of CHILD */
struct arc *next_child; /* next child of PARENT */
int has_been_placed; /* have this arc's functions been placed? */
}
Arc;
extern unsigned int num_cycles; /* number of cycles discovered */
extern Sym *cycle_header; /* cycle headers */
extern void arc_add PARAMS ((Sym * parent, Sym * child, unsigned long count));
extern Arc *arc_lookup PARAMS ((Sym * parent, Sym * child));
extern Sym **cg_assemble PARAMS ((void));
extern Arc **arcs;
extern unsigned int numarcs;
#endif /* cg_arcs_h */