/[cmucl]/src/lisp/undefineds.c
ViewVC logotype

Contents of /src/lisp/undefineds.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.7 - (show annotations)
Thu Sep 15 18:26:53 2005 UTC (8 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: sparc-tramp-assem-base, double-double-array-base, post-merge-intl-branch, merged-unicode-utf16-extfmt-2009-06-11, double-double-init-sparc-2, unicode-utf16-extfmt-2009-03-27, double-double-base, snapshot-2007-09, snapshot-2007-08, snapshot-2008-08, snapshot-2008-09, sse2-packed-2008-11-12, snapshot-2008-05, snapshot-2008-06, snapshot-2008-07, snapshot-2007-05, snapshot-2008-01, snapshot-2008-02, snapshot-2008-03, intl-branch-working-2010-02-19-1000, snapshot-2006-11, snapshot-2006-10, double-double-init-sparc, snapshot-2006-12, unicode-string-buffer-impl-base, sse2-base, release-20b-pre1, release-20b-pre2, unicode-string-buffer-base, sse2-packed-base, sparc-tramp-assem-2010-07-19, amd64-dd-start, release-19f-pre1, snapshot-2008-12, snapshot-2008-11, intl-2-branch-base, snapshot-2007-01, snapshot-2007-02, release-19e, release-19d, GIT-CONVERSION, double-double-init-ppc, release-19c, unicode-utf16-sync-2008-12, release-19c-base, cross-sol-x86-merged, label-2009-03-16, release-19f-base, merge-sse2-packed, merge-with-19f, intl-branch-working-2010-02-11-1000, unicode-snapshot-2009-05, unicode-snapshot-2009-06, double-double-init-%make-sparc, unicode-utf16-sync-2008-07, unicode-utf16-sync-2008-09, unicode-utf16-extfmts-sync-2008-12, RELEASE_20b, snapshot-2008-04, unicode-utf16-sync-label-2009-03-16, RELEASE_19f, snapshot-2007-03, release-20a-base, cross-sol-x86-base, unicode-utf16-char-support-2009-03-26, unicode-utf16-char-support-2009-03-25, unicode-utf16-extfmts-pre-sync-2008-11, snapshot-2008-10, snapshot-2007-04, snapshot-2010-12, snapshot-2010-11, unicode-utf16-sync-2008-11, snapshot-2007-07, snapshot-2011-09, snapshot-2011-06, snapshot-2011-07, snapshot-2011-04, snapshot-2007-06, snapshot-2011-02, snapshot-2011-03, snapshot-2011-01, pre-merge-intl-branch, double-double-array-checkpoint, double-double-reader-checkpoint-1, release-19d-base, release-19e-pre1, double-double-irrat-end, release-19e-pre2, snapshot-2010-05, snapshot-2010-04, snapshot-2010-07, snapshot-2010-06, snapshot-2010-01, snapshot-2010-03, snapshot-2010-02, release-19d-pre2, release-19d-pre1, snapshot-2010-08, double-double-init-checkpoint-1, double-double-reader-base, label-2009-03-25, cross-sol-x86-2010-12-20, double-double-init-x86, sse2-checkpoint-2008-10-01, intl-branch-2010-03-18-1300, snapshot-2005-11, double-double-sparc-checkpoint-1, sse2-merge-with-2008-11, sse2-merge-with-2008-10, snapshot-2005-10, RELEASE_20a, snapshot-2005-12, release-20a-pre1, snapshot-2009-11, snapshot-2009-12, unicode-utf16-extfmt-2009-06-11, portable-clx-import-2009-06-16, unicode-utf16-string-support, release-19c-pre1, cross-sparc-branch-base, release-19e-base, intl-branch-base, double-double-irrat-start, unicode-utf16-base, portable-clx-base, snapshot-2009-08, snapshot-2007-12, snapshot-2007-10, snapshot-2007-11, snapshot-2009-02, snapshot-2009-01, snapshot-2009-07, snapshot-2009-05, snapshot-2009-04, snapshot-2006-02, snapshot-2006-03, snapshot-2006-01, snapshot-2006-06, snapshot-2006-07, snapshot-2006-04, snapshot-2006-05, pre-telent-clx, snapshot-2006-08, snapshot-2006-09, HEAD
Branch point for: double-double-reader-branch, double-double-array-branch, RELEASE-19F-BRANCH, portable-clx-branch, cross-sparc-branch, RELEASE-20B-BRANCH, unicode-string-buffer-branch, sparc-tramp-assem-branch, release-19d-branch, sse2-packed-branch, RELEASE-20A-BRANCH, amd64-dd-branch, double-double-branch, unicode-string-buffer-impl-branch, intl-branch, unicode-utf16-branch, cross-sol-x86-branch, release-19e-branch, sse2-branch, release-19c-branch, intl-2-branch, unicode-utf16-extfmt-branch
Changes since 1.6: +22 -18 lines
File MIME type: text/plain
Indent all source files using GNU indent using the config in
.indent.pro.
1 /* Routines that must be linked into the core for lisp to work. */
2 /* $Header: /tiger/var/lib/cvsroots/cmucl/src/lisp/undefineds.c,v 1.7 2005/09/15 18:26:53 rtoy Rel $ */
3
4 #ifdef sun
5 #ifndef MACH
6 #if !defined(SUNOS) && !defined(SOLARIS)
7 #define SUNOS
8 #endif
9 #endif
10 #endif
11
12 typedef int func();
13
14 extern func
15 #define F(x) x,
16 #if !(defined(irix) || defined(SOLARIS))
17 /* XXXfixme next line probably wrong; was previous behavior */
18 #define D(x) x,
19 #else
20 #define D(x)
21 #endif
22 #include "undefineds.h"
23 #undef F
24 #undef D
25 exit; /* just a random function known to exist */
26
27 #if defined(SOLARIS) || defined(irix)
28
29 #ifdef irix
30 int errno; /* hack to be sure works with newer libc without having to redump */
31
32 /* causes libc to be relocated to match cmucl rather than vice
33 versa */
34 #endif
35
36 extern int
37 #define F(x)
38 #define D(x) x,
39 #include "undefineds.h"
40 #undef F
41 #undef D
42 errno; /* a random variable known to exist */
43
44 int
45 reference_random_symbols(void)
46 {
47 int a;
48
49 #if defined(SOLARIS) && defined(__GNUC__)
50 /*
51 * For some reason, gcc 3.0 still deletes function calls here, even
52 * with -O0. I don't know why. So, we don't define the functions
53 * here, but define them in the table below.
54 */
55 #define F(x)
56 #else
57 #define F(x) x(0);
58 #endif
59 #define D(x) a+=x;
60 #include "undefineds.h"
61 #undef F
62 #undef D
63 return a;
64 }
65
66 #if defined(SOLARIS) && defined(__GNUC__)
67 /*
68 * If we reference the functions here, gcc 3.0 will leave them in the
69 * object file. However, don't try to put the data symbols here. It
70 * will cause CMUCL to crash doing a get_timezone.
71 */
72
73 func *reference_random_symbols_table[] = {
74 #define F(x) x,
75 #define D(x)
76 #include "undefineds.h"
77 #undef F
78 #undef D
79 exit /* a random function known to exist */
80 };
81 #endif
82
83 #else
84
85 #if defined(SVR4)
86 extern char *tzname[];
87 extern int daylight;
88 extern long altzone;
89 extern long timezone;
90 #endif
91 func *reference_random_symbols[] = {
92 #define F(x) x,
93 /* XXXfixme next line is probably wrong but was previous behavior */
94 #define D(x) &x,
95 #include "undefineds.h"
96 #undef F
97 #undef D
98 exit /* a random function known to exist */
99 };
100
101 #endif

  ViewVC Help
Powered by ViewVC 1.1.5