summaryrefslogtreecommitdiff
blob: af226b28ed9c181a7d7a41ca8f80a450e41ad711 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
--- js/src/jscpucfg.c	15 Nov 2003 00:10:56 -0000	3.21
+++ js/src/jscpucfg.c	22 Oct 2004 05:45:36 -0000
@@ -153,19 +153,34 @@ static int Log2(unsigned int n)
  */
 static void BitsPerByte(void)
 {
     bpb = 8;
 }
 
+#ifdef __GNUC__
+#if (__GNUC__ > 2)
+__attribute__((noinline))
+#endif
+static int StackGrowthDirection(int *dummy1addr)
+{
+    int *dummy2 = alloca (sizeof (int));
+
+    return (dummy2 < dummy1addr) ? -1 : 1;
+}
+
+#else /* __GNUC__ */
+
 static int StackGrowthDirection(int *dummy1addr)
 {
     int dummy2;
 
     return (&dummy2 < dummy1addr) ? -1 : 1;
 }
 
+#endif /* __GNUC__ */
+
 int main(int argc, char **argv)
 {
     int sizeof_char, sizeof_short, sizeof_int, sizeof_int64, sizeof_long,
         sizeof_float, sizeof_double, sizeof_word, sizeof_dword;
     int bits_per_int64_log2, align_of_short, align_of_int, align_of_long,
         align_of_int64, align_of_float, align_of_double, align_of_pointer,