summaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.hp/average.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite/gdb.hp/average.c')
-rw-r--r--gdb/testsuite/gdb.hp/average.c39
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 00000000000..070eaefa27e
--- /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);
+}