1*a9fa9459Szrj /* ==> Do not modify this file!! It is created automatically
2*a9fa9459Szrj from fsf_callg_bl.m using the gen-c-prog.awk script. <== */
3*a9fa9459Szrj
4*a9fa9459Szrj #include <stdio.h>
5*a9fa9459Szrj #include "ansidecl.h"
6*a9fa9459Szrj
7*a9fa9459Szrj void fsf_callg_blurb (FILE *);
8*a9fa9459Szrj void
fsf_callg_blurb(FILE * file)9*a9fa9459Szrj fsf_callg_blurb (FILE *file)
10*a9fa9459Szrj {
11*a9fa9459Szrj fputs ("\n", file);
12*a9fa9459Szrj fputs (" This table describes the call tree of the program, and was sorted by\n", file);
13*a9fa9459Szrj fputs (" the total amount of time spent in each function and its children.\n", file);
14*a9fa9459Szrj fputs ("\n", file);
15*a9fa9459Szrj fputs (" Each entry in this table consists of several lines. The line with the\n", file);
16*a9fa9459Szrj fputs (" index number at the left hand margin lists the current function.\n", file);
17*a9fa9459Szrj fputs (" The lines above it list the functions that called this function,\n", file);
18*a9fa9459Szrj fputs (" and the lines below it list the functions this one called.\n", file);
19*a9fa9459Szrj fputs (" This line lists:\n", file);
20*a9fa9459Szrj fputs (" index A unique number given to each element of the table.\n", file);
21*a9fa9459Szrj fputs (" Index numbers are sorted numerically.\n", file);
22*a9fa9459Szrj fputs (" The index number is printed next to every function name so\n", file);
23*a9fa9459Szrj fputs (" it is easier to look up where the function is in the table.\n", file);
24*a9fa9459Szrj fputs ("\n", file);
25*a9fa9459Szrj fputs (" % time This is the percentage of the `total' time that was spent\n", file);
26*a9fa9459Szrj fputs (" in this function and its children. Note that due to\n", file);
27*a9fa9459Szrj fputs (" different viewpoints, functions excluded by options, etc,\n", file);
28*a9fa9459Szrj fputs (" these numbers will NOT add up to 100%.\n", file);
29*a9fa9459Szrj fputs ("\n", file);
30*a9fa9459Szrj fputs (" self This is the total amount of time spent in this function.\n", file);
31*a9fa9459Szrj fputs ("\n", file);
32*a9fa9459Szrj fputs (" children This is the total amount of time propagated into this\n", file);
33*a9fa9459Szrj fputs (" function by its children.\n", file);
34*a9fa9459Szrj fputs ("\n", file);
35*a9fa9459Szrj fputs (" called This is the number of times the function was called.\n", file);
36*a9fa9459Szrj fputs (" If the function called itself recursively, the number\n", file);
37*a9fa9459Szrj fputs (" only includes non-recursive calls, and is followed by\n", file);
38*a9fa9459Szrj fputs (" a `+' and the number of recursive calls.\n", file);
39*a9fa9459Szrj fputs ("\n", file);
40*a9fa9459Szrj fputs (" name The name of the current function. The index number is\n", file);
41*a9fa9459Szrj fputs (" printed after it. If the function is a member of a\n", file);
42*a9fa9459Szrj fputs (" cycle, the cycle number is printed between the\n", file);
43*a9fa9459Szrj fputs (" function's name and the index number.\n", file);
44*a9fa9459Szrj fputs ("\n", file);
45*a9fa9459Szrj fputs ("\n", file);
46*a9fa9459Szrj fputs (" For the function's parents, the fields have the following meanings:\n", file);
47*a9fa9459Szrj fputs ("\n", file);
48*a9fa9459Szrj fputs (" self This is the amount of time that was propagated directly\n", file);
49*a9fa9459Szrj fputs (" from the function into this parent.\n", file);
50*a9fa9459Szrj fputs ("\n", file);
51*a9fa9459Szrj fputs (" children This is the amount of time that was propagated from\n", file);
52*a9fa9459Szrj fputs (" the function's children into this parent.\n", file);
53*a9fa9459Szrj fputs ("\n", file);
54*a9fa9459Szrj fputs (" called This is the number of times this parent called the\n", file);
55*a9fa9459Szrj fputs (" function `/' the total number of times the function\n", file);
56*a9fa9459Szrj fputs (" was called. Recursive calls to the function are not\n", file);
57*a9fa9459Szrj fputs (" included in the number after the `/'.\n", file);
58*a9fa9459Szrj fputs ("\n", file);
59*a9fa9459Szrj fputs (" name This is the name of the parent. The parent's index\n", file);
60*a9fa9459Szrj fputs (" number is printed after it. If the parent is a\n", file);
61*a9fa9459Szrj fputs (" member of a cycle, the cycle number is printed between\n", file);
62*a9fa9459Szrj fputs (" the name and the index number.\n", file);
63*a9fa9459Szrj fputs ("\n", file);
64*a9fa9459Szrj fputs (" If the parents of the function cannot be determined, the word\n", file);
65*a9fa9459Szrj fputs (" `<spontaneous>' is printed in the `name' field, and all the other\n", file);
66*a9fa9459Szrj fputs (" fields are blank.\n", file);
67*a9fa9459Szrj fputs ("\n", file);
68*a9fa9459Szrj fputs (" For the function's children, the fields have the following meanings:\n", file);
69*a9fa9459Szrj fputs ("\n", file);
70*a9fa9459Szrj fputs (" self This is the amount of time that was propagated directly\n", file);
71*a9fa9459Szrj fputs (" from the child into the function.\n", file);
72*a9fa9459Szrj fputs ("\n", file);
73*a9fa9459Szrj fputs (" children This is the amount of time that was propagated from the\n", file);
74*a9fa9459Szrj fputs (" child's children to the function.\n", file);
75*a9fa9459Szrj fputs ("\n", file);
76*a9fa9459Szrj fputs (" called This is the number of times the function called\n", file);
77*a9fa9459Szrj fputs (" this child `/' the total number of times the child\n", file);
78*a9fa9459Szrj fputs (" was called. Recursive calls by the child are not\n", file);
79*a9fa9459Szrj fputs (" listed in the number after the `/'.\n", file);
80*a9fa9459Szrj fputs ("\n", file);
81*a9fa9459Szrj fputs (" name This is the name of the child. The child's index\n", file);
82*a9fa9459Szrj fputs (" number is printed after it. If the child is a\n", file);
83*a9fa9459Szrj fputs (" member of a cycle, the cycle number is printed\n", file);
84*a9fa9459Szrj fputs (" between the name and the index number.\n", file);
85*a9fa9459Szrj fputs ("\n", file);
86*a9fa9459Szrj fputs (" If there are any cycles (circles) in the call graph, there is an\n", file);
87*a9fa9459Szrj fputs (" entry for the cycle-as-a-whole. This entry shows who called the\n", file);
88*a9fa9459Szrj fputs (" cycle (as parents) and the members of the cycle (as children.)\n", file);
89*a9fa9459Szrj fputs (" The `+' recursive calls entry shows the number of function calls that\n", file);
90*a9fa9459Szrj fputs (" were internal to the cycle, and the calls entry for each member shows,\n", file);
91*a9fa9459Szrj fputs (" for that member, how many times it was called from other members of\n", file);
92*a9fa9459Szrj fputs (" the cycle.\n", file);
93*a9fa9459Szrj fputs ("\n", file);
94*a9fa9459Szrj fputs ("Copyright (C) 2012-2016 Free Software Foundation, Inc.\n", file);
95*a9fa9459Szrj fputs ("\n", file);
96*a9fa9459Szrj fputs ("Copying and distribution of this file, with or without modification,\n", file);
97*a9fa9459Szrj fputs ("are permitted in any medium without royalty provided the copyright\n", file);
98*a9fa9459Szrj fputs ("notice and this notice are preserved.\n", file);
99*a9fa9459Szrj }
100