mescc: Mes C Library: Move posix bits to read.
[mes.git] / lib / libtcc1.c
1 /* -*-comment-start: "//";comment-end:""-*-
2  * GNU Mes --- Maxwell Equations of Software
3  * Copyright © 2017,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
4  *
5  * This file is part of GNU Mes.
6  *
7  * GNU Mes is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 3 of the License, or (at
10  * your option) any later version.
11  *
12  * GNU Mes is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with GNU Mes.  If not, see <http://www.gnu.org/licenses/>.
19  */
20
21 #include <mes/lib.h>
22
23 double
24 __divdi3 (double a, double b)
25 {
26   static int stub = 0;
27   if (__mes_debug () && !stub)
28     eputs ("__divdi3 stub\n");
29   stub = 1;
30   return ((int) a / (int) b);
31 }
32
33 double
34 __moddi3 (double a, double b)
35 {
36   static int stub = 0;
37   if (__mes_debug () && !stub)
38     eputs ("__moddi3 stub\n");
39   stub = 1;
40   return ((int) a % (int) b);
41 }
42
43 unsigned long long
44 __udivdi3 (unsigned long long a, unsigned long long b)
45 {
46   static int stub = 0;
47   if (__mes_debug () && !stub)
48     eputs ("__udivdi3 stub\n");
49   stub = 1;
50   int ai = a;
51   int bi = b;
52   return ai / bi;
53 }
54
55 unsigned long long
56 __umoddi3 (unsigned long long a, unsigned long long b)
57 {
58   static int stub = 0;
59   if (__mes_debug () && !stub)
60     eputs ("__umoddi3 stub\n");
61   stub = 1;
62   int ai = a;
63   int bi = b;
64   return ai % bi;
65 }
66
67 unsigned long long
68 __lshrdi3 (unsigned long long a, int b)
69 {
70   static int stub = 0;
71   if (__mes_debug () && !stub)
72     eputs ("__lshrdi3 stub\n");
73   stub = 1;
74   return a >> b;
75 }
76
77 long long
78 __ashldi3 (long long a, int b)
79 {
80   static int stub = 0;
81   if (__mes_debug () && !stub)
82     eputs ("__ashldi3 stub\n");
83   stub = 1;
84   return a << b;
85 }
86
87 long long
88 __ashrdi3 (long long a, int b)
89 {
90   static int stub = 0;
91   if (__mes_debug () && !stub)
92     eputs ("__ashrdi3 stub\n");
93   stub = 1;
94   return a >> b;
95 }
96
97 long double
98 __floatundixf (unsigned long long a)
99 {
100   static int stub = 0;
101   if (__mes_debug () && !stub)
102     eputs ("__floatundixf stub\n");
103   stub = 1;
104   return 0;
105 }
106
107 unsigned long long
108 __fixunsxfdi (double a1)
109 {
110   static int stub = 0;
111   if (__mes_debug () && !stub)
112     eputs ("__fixunsxfdi stub\n");
113   stub = 1;
114   return 0;
115 }
116
117 #if __TINYC__ == 9226
118 long
119 #elif __TINYC__
120 int
121 #else // !__TINYCC_
122 long long
123 #endif                          // !__TINYCC_
124 __fixdfdi (double a1)
125 {
126   static int stub = 0;
127   if (__mes_debug () && !stub)
128     eputs ("__fixdfdi stub\n");
129   stub = 1;
130   return 0;
131 }
132
133 unsigned long long
134 __fixxfdi (double a1)
135 {
136   static int stub = 0;
137   if (__mes_debug () && !stub)
138     eputs ("__fixxfdi stub\n");
139   stub = 1;
140   return 0;
141 }
142
143 long long
144 __fixsfdi (double a1)
145 {
146   static int stub = 0;
147   if (__mes_debug () && !stub)
148     eputs ("__fixsfdi stub\n");
149   stub = 1;
150   return 0;
151 }