Rune - Change regsave burden for syscalls
[rune.git] / librune / misc.c
1 /*
2  * MISC.C
3  *
4  * (c)Copyright 1993-2014, Matthew Dillon, All Rights Reserved.  See the  
5  *    COPYRIGHT file at the base of the distribution.
6  */
7
8 #include "defs.h"
9
10 string_t        String_Self;
11 string_t        String_This;
12 string_t        String_Super;
13 string_t        String_Pointer;
14 string_t        String_SelfContained;
15 string_t        String_Preempt;
16 string_t        String_NoPreempt;
17 string_t        String_Immediate;
18 string_t        String_Procedure;
19
20 void **DefaultDynamicVector;
21
22 void
23 LibRuneInit(void)
24 {
25         static int DidInit;
26
27         if (DidInit == 0) {
28                 DidInit = 1;
29                 String_Self = StrTableAlloc("self", 4, 0);
30                 String_This = StrTableAlloc("this", 4, 0);
31                 String_Super = StrTableAlloc("super", 5, 0);
32                 String_Pointer = StrTableAlloc("Pointer", 7, 0);
33                 String_SelfContained = StrTableAlloc("selfcontained", 13, 0);
34                 TypeInit();
35                 InitDecls();
36
37                 String_Preempt =
38                         StrTableAlloc("preempt", 7, SPECIAL_AUX_PREEMPT);
39                 String_NoPreempt =
40                         StrTableAlloc("nopreempt", 9, SPECIAL_AUX_NOPREEMPT);
41                 String_Immediate =
42                         StrTableAlloc("immediate", 9, SPECIAL_AUX_IMMEDIATE);
43
44                 String_Procedure =
45                         StrTableAlloc("procedure", 9, SPECIAL_AUX_PROCEDURE);
46
47                 dassert(sizeof(float) <= 4);
48                 dassert(sizeof(double) <= 8);
49                 dassert(sizeof(long double) <= 16);
50         }
51 }