summaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base/pointers.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite/gdb.base/pointers.c')
-rw-r--r--gdb/testsuite/gdb.base/pointers.c176
1 files changed, 176 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/pointers.c b/gdb/testsuite/gdb.base/pointers.c
new file mode 100644
index 00000000000..8cac2c2b906
--- /dev/null
+++ b/gdb/testsuite/gdb.base/pointers.c
@@ -0,0 +1,176 @@
+
+#if !defined (__STDC__) && !defined (_AIX)
+#define signed /**/
+#endif
+
+char v_char;
+signed char v_signed_char;
+unsigned char v_unsigned_char;
+
+short v_short;
+signed short v_signed_short;
+unsigned short v_unsigned_short;
+
+int v_int;
+signed int v_signed_int;
+unsigned int v_unsigned_int;
+
+long v_long;
+signed long v_signed_long;
+unsigned long v_unsigned_long;
+
+float v_float;
+double v_double;
+
+
+
+char *v_char_pointer;
+signed char *v_signed_char_pointer;
+unsigned char *v_unsigned_char_pointer;
+
+short *v_short_pointer;
+signed short *v_signed_short_pointer;
+unsigned short *v_unsigned_short_pointer;
+
+int *v_int_pointer;
+int *v_int_pointer2;
+signed int *v_signed_int_pointer;
+unsigned int *v_unsigned_int_pointer;
+
+long *v_long_pointer;
+signed long *v_signed_long_pointer;
+unsigned long *v_unsigned_long_pointer;
+
+float *v_float_pointer;
+double *v_double_pointer;
+
+
+char v_char_array[2];
+signed char v_signed_char_array[2];
+unsigned char v_unsigned_char_array[2];
+
+short v_short_array[2];
+signed short v_signed_short_array[2];
+unsigned short v_unsigned_short_array[2];
+
+int v_int_array[2];
+signed int v_signed_int_array[2];
+unsigned int v_unsigned_int_array[2];
+
+long v_long_array[2];
+signed long v_signed_long_array[2];
+unsigned long v_unsigned_long_array[2];
+
+float v_float_array[2];
+double v_double_array[2];
+
+int matrix[2][3] = { { 0, 1, 2}, {3, 4, 5}};
+int (*rptr)[3] = matrix;
+
+float ** ptr_to_ptr_to_float;
+
+int y;
+
+int main ()
+{
+ void dummy();
+
+ /* Ensure that malloc is a pointer type; avoid use of "void" and any include files. */
+ /* extern char *malloc();*/
+
+ /* void *malloc(size_t);*/
+
+
+
+#ifdef usestubs
+ set_debug_traps();
+ breakpoint();
+#endif
+ dummy();
+/* v_int_pointer2 = &v_int_pointer;
+ v_unsigned_int_pointer = &v_int;
+
+ y = (v_unsigned_int_pointer == v_double_pointer);
+
+ x = v_unsigned_int_pointer * v_double_pointer;
+
+ v_unsigned_int_pointer = v_double_pointer;
+
+ v_unsigned_int_pointer = v_unsigned_int;*/
+
+ return 0;
+
+}
+
+void dummy()
+{
+
+
+ v_char = 0;
+ v_signed_char = 1;
+ v_unsigned_char = 2;
+
+ v_short = 3;
+ v_signed_short = 4;
+ v_unsigned_short = 5;
+
+ v_int = 6;
+ v_signed_int = 7;
+ v_unsigned_int = 8;
+
+ v_long = 9;
+ v_signed_long = 10;
+ v_unsigned_long = 11;
+
+ v_float = 100.0;
+ v_double = 200.0;
+
+
+
+ v_char_pointer = &v_char;
+ v_signed_char_pointer = &v_signed_char;
+ v_unsigned_char_pointer = &v_unsigned_char;
+
+ v_short_pointer = &v_short;
+ v_signed_short_pointer = &v_signed_short;
+ v_unsigned_short_pointer = &v_unsigned_short;
+
+ v_int_pointer = &v_int;
+ v_signed_int_pointer = &v_signed_int;
+ v_unsigned_int_pointer = &v_unsigned_int;
+
+ v_long_pointer = &v_long;
+ v_signed_long_pointer = &v_signed_long;
+ v_unsigned_long_pointer = &v_unsigned_long;
+
+ v_float_pointer = &v_float;
+ v_double_pointer = &v_double;
+
+ ptr_to_ptr_to_float = &v_float_pointer;
+
+
+ v_char_array[0] = v_char;
+ v_signed_char_array[0] = v_signed_char;
+ v_unsigned_char_array[0] = v_unsigned_char;
+
+ v_short_array[0] = v_short;
+ v_signed_short_array[0] = v_signed_short;
+ v_unsigned_short_array[0] = v_unsigned_short;
+
+ v_int_array[0] = v_int;
+ v_int_array[1] = v_int * 3;
+
+ v_signed_int_array[0] = v_signed_int;
+ v_unsigned_int_array[0] = v_unsigned_int;
+
+ v_long_array[0] = v_long;
+ v_signed_long_array[0] = v_signed_long;
+ v_unsigned_long_array[0] = v_unsigned_long;
+
+ v_float_array[0] = v_float;
+ v_double_array[0] = v_double;
+
+}
+
+
+