aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base/nodebug.c
diff options
context:
space:
mode:
authorStan Shebs <shebs@codesourcery.com>1999-04-16 01:35:26 +0000
committerStan Shebs <shebs@codesourcery.com>1999-04-16 01:35:26 +0000
commitc906108c21474dfb4ed285bcc0ac6fe02cd400cc (patch)
treea0015aa5cedc19ccbab307251353a41722a3ae13 /gdb/testsuite/gdb.base/nodebug.c
parentcd946cff9ede3f30935803403f06f6ed30cad136 (diff)
downloadgdb-c906108c21474dfb4ed285bcc0ac6fe02cd400cc.zip
gdb-c906108c21474dfb4ed285bcc0ac6fe02cd400cc.tar.gz
gdb-c906108c21474dfb4ed285bcc0ac6fe02cd400cc.tar.bz2
Initial creation of sourceware repositorygdb-4_18-branchpoint
Diffstat (limited to 'gdb/testsuite/gdb.base/nodebug.c')
-rw-r--r--gdb/testsuite/gdb.base/nodebug.c58
1 files changed, 58 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/nodebug.c b/gdb/testsuite/gdb.base/nodebug.c
new file mode 100644
index 0000000..4aad099
--- /dev/null
+++ b/gdb/testsuite/gdb.base/nodebug.c
@@ -0,0 +1,58 @@
+/* Test that things still (sort of) work when compiled without -g. */
+
+int dataglobal = 3; /* Should go in global data */
+static int datalocal = 4; /* Should go in local data */
+int bssglobal; /* Should go in global bss */
+static int bsslocal; /* Should go in local bss */
+
+int
+inner (x)
+ int x;
+{
+ return x + dataglobal + datalocal + bssglobal + bsslocal;
+}
+
+static short
+middle (x)
+ int x;
+{
+ return 2 * inner (x);
+}
+
+short
+top (x)
+ int x;
+{
+ return 2 * middle (x);
+}
+
+int
+main (argc, argv)
+ int argc;
+ char **argv;
+{
+#ifdef usestubs
+ set_debug_traps();
+ breakpoint();
+#endif
+ return top (argc);
+}
+
+char *malloc ();
+
+int *x;
+
+int
+array_index (arr, i)
+ char *arr;
+ int i;
+{
+ /* The basic concept is just "return arr[i];". But call malloc so that gdb
+ will be able to call functions. */
+ char retval;
+ x = (int *) malloc (sizeof (int));
+ *x = i;
+ retval = arr[*x];
+ free (x);
+ return retval;
+}