moved to dvm_svn
This commit is contained in:
74
projects/dvm_svn/fdvm/trunk/include/calls.h
Normal file
74
projects/dvm_svn/fdvm/trunk/include/calls.h
Normal file
@@ -0,0 +1,74 @@
|
||||
#pragma once
|
||||
|
||||
#ifdef __SPF
|
||||
extern "C" void addToCollection(const int line, const char *file, void *pointer, int type);
|
||||
extern "C" void removeFromCollection(void *pointer);
|
||||
#endif
|
||||
|
||||
struct graph_node {
|
||||
int id; //a number of node
|
||||
graph_node *next;
|
||||
graph_node *next_header_node; //???
|
||||
graph_node *Inext;
|
||||
graph_node *same_name_next;
|
||||
SgFile *file;
|
||||
int file_id;
|
||||
int header_id;
|
||||
SgStatement *st_header;
|
||||
SgStatement *st_last;
|
||||
SgStatement *st_copy;
|
||||
SgStatement *st_copy_first;
|
||||
SgStatement *st_interface;
|
||||
SgSymbol *symb; //??? st_header->symbol()
|
||||
char *name;
|
||||
struct edge *to_called; //outcoming
|
||||
struct edge *from_calling; //incoming
|
||||
int type; //flag - type of procedure: 1-external,2-internal,3-module
|
||||
int split; //flag
|
||||
int tmplt; //flag
|
||||
int visited; //flag for partition algorithm
|
||||
int clone; //flag is clone node
|
||||
int count; //counter of inline expansions or calls
|
||||
int is_routine;// has ROUTINE attribute - 1, else - 0
|
||||
int samenamed; // flag - there is samenamed symbol
|
||||
struct argument_numbers *arg_numbs;
|
||||
|
||||
#if __SPF
|
||||
graph_node() { addToCollection(__LINE__, __FILE__, this, 1); }
|
||||
~graph_node() { removeFromCollection(this); }
|
||||
#endif
|
||||
};
|
||||
|
||||
struct graph_node_list {
|
||||
graph_node_list *next;
|
||||
graph_node *node;
|
||||
|
||||
#if __SPF
|
||||
graph_node_list() { addToCollection(__LINE__, __FILE__, this, 1); }
|
||||
~graph_node_list() { removeFromCollection(this); }
|
||||
#endif
|
||||
};
|
||||
|
||||
struct edge {
|
||||
edge *next;
|
||||
graph_node *from;
|
||||
graph_node *to;
|
||||
int inlined; //1 - inlined, 0 - not inlined
|
||||
|
||||
#if __SPF
|
||||
edge() { addToCollection(__LINE__, __FILE__, this, 1); }
|
||||
~edge() { removeFromCollection(this); }
|
||||
#endif
|
||||
};
|
||||
|
||||
struct edge_list {
|
||||
edge_list *next;
|
||||
edge *edg;
|
||||
|
||||
#if __SPF
|
||||
edge_list() { addToCollection(__LINE__, __FILE__, this, 1); }
|
||||
~edge_list() { removeFromCollection(this); }
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user