[gdb/symtab] Prefer def over decl (inter-CU case)
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.base / store.c
index 3a6964182d435ff9cbf3f8b993e282dfa871fa3f..545515dfc1030d071115e65a15c0e55ffacedc40 100644 (file)
    in the target.  This pretty much relies on the compiler taking heed
    of requests for values to be stored in registers.  */
 
-static char
-add_char (register char u, register char v)
+/* NOTE: carlton/2002-12-05: These functions were all static, but for
+   whatever reason that caused GCC 3.1 to optimize away some of the
+   function calls within main even when no optimization flags were
+   passed.  */
+
+typedef signed char charest;
+
+charest
+add_charest (register charest u, register charest v)
 {
   return u + v;
 }
 
-static short
+short
 add_short (register short u, register short v)
 {
   return u + v;
 }
 
-static int
+int
 add_int (register int u, register int v)
 {
   return u + v;
 }
 
-static long
+long
 add_long (register long u, register long v)
 {
   return u + v;
 }
 
-static float
+typedef long long longest;
+
+longest
+add_longest (register longest u, register longest v)
+{
+  return u + v;
+}
+
+float
 add_float (register float u, register float v)
 {
   return u + v;
 }
 
-static double
+double
 add_double (register double u, register double v)
 {
   return u + v;
 }
 
+typedef long double doublest;
+
+doublest
+add_doublest (register doublest u, register doublest v)
+{
+  return u + v;
+}
+
 /* */
 
-static char
-wack_char (register char u, register char v)
+charest
+wack_charest (register charest u, register charest v)
 {
-  register char l = u;
-  l = add_char (l, v);
-  return l;
+  register charest l = u, r = v;
+  l = add_charest (l, r);
+  return l + r;
 }
 
-static short
+short
 wack_short (register short u, register short v)
 {
-  register short l = u;
-  l = add_short (l, v);
-  return l;
+  register short l = u, r = v;
+  l = add_short (l, r);
+  return l + r;
 }
 
-static int
+int
 wack_int (register int u, register int v)
 {
-  register int l = u;
-  l = add_int (l, v);
-  return l;
+  register int l = u, r = v;
+  l = add_int (l, r);
+  return l + r;
 }
 
-static long
+long
 wack_long (register long u, register long v)
 {
-  register long l = u;
-  l = add_long (l, v);
-  return l;
+  register long l = u, r = v;
+  l = add_long (l, r);
+  return l + r;
+}
+
+long
+wack_longest (register longest u, register longest v)
+{
+  register longest l = u, r = v;
+  l = add_longest (l, r);
+  return l + r;
 }
 
-static float
+float
 wack_float (register float u, register float v)
 {
-  register float l = u;
-  l = add_float (l, v);
-  return l;
+  register float l = u, r = v;
+  l = add_float (l, r);
+  return l + r;
 }
 
-static double
+double
 wack_double (register double u, register double v)
 {
-  register double l = u;
-  l = add_double (l, v);
-  return l;
+  register double l = u, r = v;
+  l = add_double (l, r);
+  return l + r;
 }
 
+doublest
+wack_doublest (register doublest u, register doublest v)
+{
+  register doublest l = u, r = v;
+  l = add_doublest (l, r);
+  return l + r;
+}
+
+/* */
+
 struct s_1 { short s[1]; } z_1, s_1;
 struct s_2 { short s[2]; } z_2, s_2;
 struct s_3 { short s[3]; } z_3, s_3;
 struct s_4 { short s[4]; } z_4, s_4;
 
-static struct s_1
+struct s_1
 add_struct_1 (struct s_1 s)
 {
   int i;
@@ -104,7 +145,7 @@ add_struct_1 (struct s_1 s)
   return s;
 }
 
-static struct s_2
+struct s_2
 add_struct_2 (struct s_2 s)
 {
   int i;
@@ -115,7 +156,7 @@ add_struct_2 (struct s_2 s)
   return s;
 }
 
-static struct s_3
+struct s_3
 add_struct_3 (struct s_3 s)
 {
   int i;
@@ -126,7 +167,7 @@ add_struct_3 (struct s_3 s)
   return s;
 }
 
-static struct s_4
+struct s_4
 add_struct_4 (struct s_4 s)
 {
   int i;
@@ -137,7 +178,7 @@ add_struct_4 (struct s_4 s)
   return s;
 }
 
-static struct s_1
+struct s_1
 wack_struct_1 (void)
 {
   int i; register struct s_1 u = z_1;
@@ -146,7 +187,7 @@ wack_struct_1 (void)
   return u;
 }
 
-static struct s_2
+struct s_2
 wack_struct_2 (void)
 {
   int i; register struct s_2 u = z_2;
@@ -155,7 +196,7 @@ wack_struct_2 (void)
   return u;
 }
 
-static struct s_3
+struct s_3
 wack_struct_3 (void)
 {
   int i; register struct s_3 u = z_3;
@@ -164,7 +205,7 @@ wack_struct_3 (void)
   return u;
 }
 
-static struct s_4
+struct s_4
 wack_struct_4 (void)
 {
   int i; register struct s_4 u = z_4;
@@ -180,28 +221,28 @@ struct f_2 {unsigned i:2;unsigned j:2;unsigned k:2; } f_2 = {1,1,1}, F_2;
 struct f_3 {unsigned i:3;unsigned j:3;unsigned k:3; } f_3 = {1,1,1}, F_3;
 struct f_4 {unsigned i:4;unsigned j:4;unsigned k:4; } f_4 = {1,1,1}, F_4;
 
-static struct f_1
+struct f_1
 wack_field_1 (void)
 {
   register struct f_1 u = f_1;
   return u;
 }
 
-static struct f_2
+struct f_2
 wack_field_2 (void)
 {
   register struct f_2 u = f_2;
   return u;
 }
 
-static struct f_3
+struct f_3
 wack_field_3 (void)
 {
   register struct f_3 u = f_3;
   return u;
 }
 
-static struct f_4
+struct f_4
 wack_field_4 (void)
 {
   register struct f_4 u = f_4;
@@ -214,20 +255,24 @@ int
 main ()
 {
   /* These calls are for current frame test.  */
-  wack_char (1, 2);
-  wack_short (1, 2);
-  wack_int (1, 2);
-  wack_long (1, 2);
-  wack_float (1, 2);
-  wack_double (1, 2);
+  wack_charest (-1, -2);
+  wack_short (-1, -2);
+  wack_int (-1, -2);
+  wack_long (-1, -2);
+  wack_longest (-1, -2);
+  wack_float (-1, -2);
+  wack_double (-1, -2);
+  wack_doublest (-1, -2);
 
   /* These calls are for up frame.  */
-  wack_char (1, 2);
-  wack_short (1, 2);
-  wack_int (1, 2);
-  wack_long (1, 2);
-  wack_float (1, 2);
-  wack_double (1, 2);
+  wack_charest (-1, -2);
+  wack_short (-1, -2);
+  wack_int (-1, -2);
+  wack_long (-1, -2);
+  wack_longest (-1, -2);
+  wack_float (-1, -2);
+  wack_double (-1, -2);
+  wack_doublest (-1, -2);
 
   /* These calls are for current frame test.  */
   wack_struct_1 ();
This page took 0.029873 seconds and 4 git commands to generate.