diff options
Diffstat (limited to 'gdb/testsuite/gdb.hp/average.c')
-rw-r--r-- | gdb/testsuite/gdb.hp/average.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.hp/average.c b/gdb/testsuite/gdb.hp/average.c new file mode 100644 index 0000000..070eaef --- /dev/null +++ b/gdb/testsuite/gdb.hp/average.c @@ -0,0 +1,39 @@ +/* This is a sample program for the HP WDB debugger. */ + +#include <stdio.h> + +#define num 10 + +static int my_list[num] = {3,4,2,0,2,1,8,3,6,7}; + +#ifdef __STDC__ +void print_average(int list[], int low, int high) +#else +void print_average(list, low, high) +int list[], low, high; +#endif + { + int total, num_elements, average; + total = sum(list, low, high); + num_elements = high - low; /* note this is an off-by-one bug */ + + average = total / num_elements; + printf("%10.d\n", average); + } + +#ifdef __STDC__ +int main(void) +#else +main () +#endif +{ + char c; + int first = 0; + int last = num-1; + + /* Try two test cases. */ + print_average (my_list, first, last); + print_average (my_list, first, last - 3); +foo: + exit(0); +} |