revert between 56095 -> 55830 in arch
[AROS.git] / compiler / stdc / stdc.conf
blob6a000e118b633ae849717b1cca24847a96b9b303
1 ##begin config
2 version 0.14
3 basename StdC
4 libbasetypeextern struct StdCBase
5 libbasetype struct StdCIntBase
6 seglist_field StdCSegList
7 rootbase_field StdCRootBase
8 options peropenerbase,rellinklib
9 ##end config
11 ##begin cdef
12 #include <libraries/stdc.h>
13 #include <setjmp.h>
14 #include <complex.h>
15 #include <fenv.h>
16 #include <math.h>
17 #include <signal.h>
18 #include <stdarg.h>
19 #include <stdlib.h>
20 #include <time.h>
22 #ifdef __GNUC__
23 #undef cimag
24 #undef cimagf
25 #undef cimagl
26 #undef creal
27 #undef crealf
28 #undef creall
29 #endif
31 /* Avoid warning for redefinition of isinf()/isnan() */
32 #define STDC_NOLIBINLINE
33 #define STDC_NOLIBDEFINES
35 ##end cdef
37 ##begin stubprivate
38 #define STDC_NOINLINE
39 ##end stubprivate
41 ##begin cdefprivate
42 #include "__stdc_intbase.h"
43 ##end cdefprivate
45 ##begin startup
46 #include "stdc_startup.c"
47 ##end startup
49 ##begin functionlist
50 # == Internal functions ==
52 int __stdc_gmtoffset(void)
53 void __stdc_program_startup(jmp_buf exitjmp, int *errorptr)
54 void __stdc_program_end(void)
55 int *__stdc_set_errorptr(int *errorptr)
56 int *__stdc_get_errorptr(void)
57 void __stdc_set_exitjmp(jmp_buf exitjmp, jmp_buf previousjmp)
58 void __stdc_jmp2exit(int normal, int returncode)
59 # private functions for patching in softfloat/fenv support
60 void *__stdc_set_fpuprivate(void *fpuprivate)
61 void *__stdc_get_fpuprivate(void)
62 void *__stdc_get_fe_dfl(void)
63 void *__stdc_get_fe_nom(void)
64 int __stdc_get_fe_round(void)
65 .skip 8
66 # == C99 functions ordered per include file ==
67 # * assert.h: Support function for assert() macro
68 void __assert(const char * expr, const char * file, unsigned int line)
70 # * complex.h
71 double complex cacos(double complex z)
72 float complex cacosf(float complex z)
73 long double complex cacosl(long double complex z)
74 double complex casin(double complex z)
75 float complex casinf(float complex z)
76 long double complex casinl(long double complex z)
77 double complex catan(double complex z)
78 float complex catanf(float complex z)
79 long double complex catanl(long double complex z)
80 double complex ccos(double complex z)
81 float complex ccosf(float complex z)
82 long double complex ccosl(long double complex z)
83 double complex csin(double complex z)
84 float complex csinf(float complex z)
85 long double complex csinl(long double complex z)
86 double complex ctan(double complex z)
87 float complex ctanf(float complex z)
88 long double complex ctanl(long double complex z)
89 double complex cacosh(double complex z)
90 float complex cacoshf(float complex z)
91 long double complex cacoshl(long double complex z)
92 double complex casinh(double complex z)
93 float complex casinhf(float complex z)
94 long double complex casinhl(long double complex z)
95 double complex catanh(double complex z)
96 float complex catanhf(float complex z)
97 long double complex catanhl(long double complex z)
98 double complex ccosh(double complex z)
99 float complex ccoshf(float complex z)
100 long double complex ccoshl(long double complex z)
101 double complex csinh(double complex z)
102 float complex csinhf(float complex z)
103 long double complex csinhl(long double complex z)
104 double complex ctanh(double complex z)
105 float complex ctanhf(float complex z)
106 long double complex ctanhl(long double complex z)
107 double complex cexp(double complex z)
108 float complex cexpf(float complex z)
109 long double complex cexpl(long double complex z)
110 double complex clog(double complex z)
111 float complex clogf(float complex z)
112 long double complex clogl(long double complex z)
113 double cabs(double complex z)
114 float cabsf(float complex z)
115 long double cabsl(long double complex z)
116 double complex cpow(double complex x, double complex y)
117 float complex cpowf(float complex x, float complex y)
118 long double complex cpowl(long double complex x, long double complex y)
119 double complex csqrt(double complex z)
120 float complex csqrtf(float complex z)
121 long double complex csqrtl(long double complex z)
122 double carg(double complex z)
123 float cargf(float complex z)
124 long double cargl(long double complex z)
125 double cimag(double complex z)
126 float cimagf(float complex z)
127 long double cimagl(long double complex z)
128 double complex conj(double complex z)
129 float complex conjf(float complex z)
130 long double complex conjl(long double complex z)
131 double complex cproj(double complex z)
132 float complex cprojf(float complex z)
133 long double complex cprojl(long double complex z)
134 double creal(double complex z)
135 float crealf(float complex z)
136 long double creall(long double complex z)
138 # * ctype.h: functions are declared as static inline functions
140 # * errno.h
141 int __stdc_ioerr2errno(int ioerr)
142 .alias ioerr2errno
144 # * fenv.h
145 int feclearexcept(int excepts)
146 .function _feclearexcept
147 int fegetexceptflag(fexcept_t *flagp, int excepts)
148 .function _fegetexceptflag
149 int feraiseexcept(int excepts)
150 .function _feraiseexcept
151 int fesetexceptflag(const fexcept_t *flagp, int excepts)
152 .function _fesetexceptflag
153 int fetestexcept(int excepts)
154 .function _fetestexcept
155 int fegetround(void)
156 .function _fegetround
157 int fesetround(int round)
158 .function _fesetround
159 int fegetenv(fenv_t *envp)
160 .function _fegetenv
161 int feholdexcept(fenv_t *envp)
162 .function _feholdexcept
163 int fesetenv(const fenv_t *envp)
164 .function _fesetenv
165 int feupdateenv(const fenv_t *envp)
166 .function _feupdateenv
168 # * float.h: no functions in float.h
170 # * inttypes.h
171 intmax_t imaxabs(intmax_t j)
172 imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom)
173 intmax_t strtoimax(const char * restrict nptr, char ** restrict endptr, int base)
174 uintmax_t strtoumax(const char * restrict nptr, char ** restrict endptr, int base)
175 .skip 2
176 #intmax_t wcstoimax(const wchar_t * restrict nptr, wchar_t ** restrict endptr, int base)
177 #uintmax_t wcstoumax(const wchar_t * restrict nptr, wchar_t ** restrict endptr, int base)
179 # * iso646.h: no functions in iso646.h
181 # * limits.h: no functions in limits.h
183 # * locale.h
184 char *setlocale(int category, const char *locale)
185 struct lconv *localeconv(void)
187 # * math.h
188 int __fpclassifyd(double)
189 int __fpclassifyf(float)
190 int __fpclassifyl(long double)
191 int __isfinite(double)
192 .unusedlibbase
193 .alias finite
194 int __isfinitef(float)
195 .unusedlibbase
196 .alias finitef
197 int __isfinitel(long double)
198 .unusedlibbase
199 .alias finitel
200 int __isinf(double)
201 .unusedlibbase
202 .alias isinf
203 int __isinff(float)
204 .unusedlibbase
205 .alias isinff
206 int __isinfl(long double)
207 .unusedlibbase
208 .alias isinfl
209 int __isnan(double)
210 .unusedlibbase
211 .alias isnan
212 int __isnanf(float)
213 .unusedlibbase
214 .alias isnanf
215 int __isnanl(long double)
216 .unusedlibbase
217 .alias isnanl
218 int __isnormal(double)
219 .unusedlibbase
220 int __isnormalf(float)
221 .unusedlibbase
222 int __isnormall(long double)
223 .unusedlibbase
224 int __signbit(double)
225 .unusedlibbase
226 int __signbitf(float)
227 .unusedlibbase
228 int __signbitl(long double)
229 .unusedlibbase
230 double acos(double)
231 double asin(double)
232 double atan(double)
233 double atan2(double, double)
234 double cos(double)
235 double sin(double)
236 double tan(double)
237 double acosh(double)
238 double asinh(double)
239 double atanh(double)
240 double cosh(double)
241 double sinh(double)
242 double tanh(double)
243 double exp(double)
244 double exp2(double)
245 double expm1(double)
246 double frexp(double, int *)
247 int ilogb(double)
248 double ldexp(double, int)
249 double log(double)
250 double log10(double)
251 double log1p(double)
252 double log2(double) 
253 double logb(double)
254 double modf(double, double *)
255 double scalbn(double, int)
256 double scalbln(double, long)
257 double cbrt(double)
258 double fabs(double)
259 double hypot(double, double)
260 double pow(double, double)
261 double sqrt(double)
262 double erf(double)
263 double erfc(double)
264 double lgamma(double)
265 .alias gamma
266 double tgamma(double)
267 double ceil(double)
268 double floor(double)
269 double nearbyint(double)
270 double rint(double)
271 long lrint(double)
272 long long llrint(double)
273 double round(double)
274 long lround(double)
275 long long llround(double)
276 double trunc(double)
277 double fmod(double, double)
278 double remainder(double, double)
279 .alias drem
280 double remquo(double, double, int *)
281 double copysign(double, double)
282 double nan(const char *tagp)
283 double nextafter(double, double)
284 double nexttoward(double, long double)
285 double fdim(double, double)
286 double fmax(double, double)
287 double fmin(double, double)
288 double fma(double, double, double)
289 float acosf(float)
290 float asinf(float)
291 float atanf(float)
292 float atan2f(float, float)
293 float cosf(float)
294 float sinf(float)
295 float tanf(float)
296 float acoshf(float)
297 float asinhf(float)
298 float atanhf(float)
299 float coshf(float)
300 float sinhf(float)
301 float tanhf(float)
302 float expf(float)
303 float exp2f(float)
304 float expm1f(float)
305 float frexpf(float, int *)
306 int ilogbf(float)
307 float ldexpf(float, int)
308 float logf(float)
309 float log10f(float)
310 float log1pf(float)
311 float log2f(float) 
312 float logbf(float)
313 float modff(float, float *)
314 float scalbnf(float, int)
315 float scalblnf(float, long)
316 float cbrtf(float)
317 float fabsf(float)
318 float hypotf(float, float)
319 float powf(float, float)
320 float sqrtf(float)
321 float erff(float)
322 float erfcf(float)
323 float lgammaf(float)
324 .alias gammaf
325 float tgammaf(float)
326 float ceilf(float)
327 float floorf(float)
328 float nearbyintf(float)
329 float rintf(float)
330 long lrintf(float)
331 long long llrintf(float)
332 float roundf(float)
333 long lroundf(float)
334 long long llroundf(float)
335 float truncf(float)
336 float fmodf(float, float)
337 float remainderf(float, float)
338 .alias dremf
339 float remquof(float, float, int *)
340 float copysignf(float, float)
341 float nanf(const char *tagp)
342 float nextafterf(float, float)
343 float nexttowardf(float, long double)
344 float fdimf(float, float)
345 float fmaxf(float, float)
346 float fminf(float, float)
347 float fmaf(float, float, float)
348 long double acosl(long double)
349 long double asinl(long double)
350 long double atanl(long double)
351 long double atan2l(long double, long double)
352 long double cosl(long double)
353 long double sinl(long double)
354 long double tanl(long double)
355 long double acoshl(long double)
356 long double asinhl(long double)
357 long double atanhl(long double)
358 long double coshl(long double)
359 long double sinhl(long double)
360 long double tanhl(long double)
361 long double expl(long double)
362 long double exp2l(long double)
363 long double expm1l(long double)
364 long double frexpl(long double value, int *)
365 int ilogbl(long double)
366 long double ldexpl(long double, int)
367 long double logl(long double)
368 long double log10l(long double)
369 long double log1pl(long double)
370 long double log2l(long double)
371 long double logbl(long double)
372 long double modfl(long double, long double *)
373 long double scalbnl(long double, int)
374 long double scalblnl(long double, long)
375 long double cbrtl(long double)
376 long double fabsl(long double)
377 long double hypotl(long double, long double)
378 long double powl(long double, long double)
379 long double sqrtl(long double)
380 long double erfl(long double)
381 long double erfcl(long double)
382 long double lgammal(long double)
383 .alias gammal
384 long double tgammal(long double)
385 long double ceill(long double)
386 long double floorl(long double)
387 long double nearbyintl(long double)
388 long double rintl(long double)
389 long lrintl(long double)
390 long long llrintl(long double)
391 long double roundl(long double)
392 long lroundl(long double)
393 long long llroundl(long double)
394 long double truncl(long double)
395 long double fmodl(long double, long double)
396 long double remainderl(long double, long double)
397 .alias dreml
398 long double remquol(long double, long double, int *)
399 long double copysignl(long double, long double)
400 long double nanl(const char *tagp)
401 long double nextafterl(long double, long double)
402 long double nexttowardl(long double, long double)
403 long double fdiml(long double, long double)
404 long double fmaxl(long double, long double)
405 long double fminl(long double, long double)
406 long double fmal(long double, long double, long double)
408 # * setjmp.h
409 int setjmp(jmp_buf env)
410 .unusedlibbase
411 void longjmp(jmp_buf env, int val)
412 .unusedlibbase
414 # * signal.h
415 __sighandler_t *signal(int, __sighandler_t *)
416 int raise(int)
418 # * stdarg.h: implementation has to be provided by the compiler.
420 # * stdbool.h: no functions in stdbool.h
422 # * stddef.h: no functions in stddef.h
424 # * stdint.h: no functions in stdint.h
426 # * stdio.h: only string based functions are implemented, the rest in stdcio.library
427 int snprintf(char * restrict s, size_t n, const char * restrict format, ...)
428 int sprintf(char * restrict s, const char * restrict format, ...)
429 int sscanf(const char * restrict s, const char * restrict format, ...)
430 int vsnprintf(char * restrict s, size_t n, const char * restrict format, va_list arg)
431 int vsprintf(char * restrict s, const char * restrict format, va_list arg)
432 int vsscanf(const char * restrict s, const char * restrict format, va_list arg)
434 # * stdlib.h: getenv() and system() implemented in stdcio.library
435 double atof(const char *nptr)
436 int atoi(const char *nptr)
437 long int atol(const char *nptr)
438 long long int atoll(const char *nptr)
439 double strtod(const char * restrict nptr, char ** restrict endptr)
440 float strtof(const char * restrict nptr, char ** restrict endptr)
441 long double strtold(const char * restrict nptr, char ** restrict endptr)
442 long int strtol(const char * restrict nptr, char ** restrict endptr, int base)
443 long long int strtoll(const char * restrict nptr, char ** restrict endptr, int base)
444 unsigned long int strtoul(const char * restrict nptr, char ** restrict endptr, int base)
445 unsigned long long int strtoull(const char * restrict nptr, char ** restrict endptr, int base)
446 int rand(void)
447 void srand(unsigned int seed)
448 void *calloc(size_t count, size_t size)
449 void free(void *memory)
450 void *malloc(size_t size)
451 void *malloc_align(size_t size, size_t alignment)
452 void *realloc(void *oldmem, size_t newsize)
453 void *realloc_nocopy(void *oldmem, size_t newsize)
454 void abort(void)
455 int atexit(void (*func)(void))
456 int on_exit(void (*func)(int, void *), void *)
457 void exit(int code)
458 void _Exit(int)
459 .alias _exit
460 void *bsearch(const void * key, const void * base, size_t count, size_t size, int (*comparefunction)(const void *, const void *))
461 void qsort(void * array, size_t count, size_t elementsize, int (*comparefunction)(const void * element1, const void * element2))
462 int abs(int j)
463 long labs(long j)
464 long long llabs(long long j)
465 div_t div(int numer, int denom)
466 ldiv_t ldiv(long int numer, long int denom)
467 lldiv_t lldiv(long long int numer, long long int denom)
468 int mblen(const char *s, size_t n)
469 .skip 4
470 #int mbtowc(wchar_t * restrict pwc, const char * restrict s, size_t n)
471 #int wctomb(char *s, wchar_t wc)
472 #size_t mbstowcs(wchar_t * restrict pwcs, const char * restrict s, size_t n)
473 #size_t wcstombs(char * restrict s, const wchar_t * restrict pwcs, size_t n)
475 # * string.h: memcpy is the same as memmove
476 void *memmove (void * dest, const void * src, size_t n)
477 .unusedlibbase
478 .alias memcpy
479 char *strcpy (char * restrict dest, const char * restrict src)
480 .unusedlibbase
481 char *strncpy (char * restrict dest, const char * restrict src, size_t n)
482 .unusedlibbase
483 char *strcat (char * restrict dest, const char * restrict src)
484 .unusedlibbase
485 char *strncat (char * restrict dest, const char * restrict src, size_t n)
486 .unusedlibbase
487 int memcmp (const void * s1, const void * s2, size_t n)
488 .unusedlibbase
489 int strcmp (const char * s1, const char * s2)
490 .unusedlibbase
491 int strcoll (const char *s1, const char *s2)
492 .unusedlibbase
493 int strncmp (const char * s1, const char * s2, size_t n)
494 .unusedlibbase
495 size_t strxfrm (char * restrict s1, const char * restrict s2, size_t n)
496 .unusedlibbase
497 void *memchr (const void * dest, int c, size_t n)
498 .unusedlibbase
499 char *strchr (const char * s, int c)
500 .unusedlibbase
501 .alias index
502 size_t strcspn (const char *s1, const char *s2)
503 .unusedlibbase
504 char *strpbrk (const char * s1, const char * s2)
505 .unusedlibbase
506 char *strrchr (const char * s, int c)
507 .unusedlibbase
508 .alias rindex
509 size_t strspn (const char * s1, const char * s2)
510 .unusedlibbase
511 char *strstr (const char * buf, const char * str)c
512 .unusedlibbase
513 char *strtok (char * str, const char * sep)v
514 void *memset (void * dest, int c, size_t n)
515 .unusedlibbase
516 char *__stdc_strerror (int n)
517 .alias strerror
518 size_t strlen (const char * str)
519 .unusedlibbase
521 # * tgmath.h: not implemented in stdc.library
523 # * time.h
524 clock_t clock(void)
525 double difftime(time_t, time_t)
526 .unusedlibbase
527 time_t mktime(struct tm *)
528 .unusedlibbase
529 time_t time(time_t *)
530 char *asctime(const struct tm *)
531 char *ctime(const time_t *)
532 struct tm *gmtime(const time_t *)
533 struct tm *localtime(const time_t *)
534 size_t strftime(char *, size_t, const char *, const struct tm *)
536 # * wchar.h: not implemented in stdc.library
538 # * wctype.h: not implemented in stdc.library
540 # == Extensions ==
541 # <math.h>: Mostly BSD functions
542 double j0(double)
543 double j1(double)
544 double jn(int, double)
545 double scalb(double, double)
546 double y0(double)
547 double y1(double)
548 double yn(int, double)
549 double gamma_r(double, int *)
550 double lgamma_r(double, int *)
551 void sincos(double, double *, double *)
552 double significand(double)
553 float j0f(float)
554 float j1f(float)
555 float jnf(int, float)
556 float scalbf(float, float)
557 float y0f(float)
558 float y1f(float)
559 float ynf(int, float)
560 float gammaf_r(float, int *)
561 float lgammaf_r(float, int *)
562 void sincosf(float, float *, float *)
563 float significandf(float)
564 .skip 8
565 #long double j0l(long double)
566 #long double j1l(long double)
567 #long double jnl(int, long double)
568 #long double scalbl(long double, long double)
569 #long double y0l(long double)
570 #long double y1l(long double)
571 #long double ynl(int, long double)
572 #long double gammal_r(long double, int *)
573 long double lgammal_r(long double, int *)
574 void sincosl(long double, long double *, long double *)
575 .skip 1
576 #long double significandl(long double)
578 # * stdio.h: AROS specific support functions based on libnix
579 int __vcformat(void * data, int (*outc)(int, void *), const char * format, va_list args)
580 int __vcscan(void * data, int (*getc)(void *), int (*ungetc)(int, void *), const char * format, va_list args)
582 # * string.h: POSIX, BSD/UNIX, SAS/C
583 .skip 1
584 #void *memccpy(void *restrict, const void *restrict, int, size_t)
585 char *stpcpy(char *restrict, const char *restrict)
586 .skip 2
587 #char *stpncpy(char *restrict, const char *restrict, size_t)
588 #int strcoll_l(const char *, const char *, locale_t)
589 char *strdup(const char *)
590 .skip 2
591 #char *strerror_l(int, locale_t)
592 #int strerror_r(int, char *, size_t)
593 char *strndup(const char *, size_t)
594 size_t strnlen (const char *, size_t)
595 .unusedlibbase
596 .skip 1
597 #char *strsignal(int)
598 char *strtok_r(char *restrict, const char *restrict, char **restrict)
599 .skip 1
600 #size_t strxfrm_l(char *restrict, const char *restrict, size_t, locale_t)
601 size_t strlcpy(char *dst, const char *src, size_t size)
602 .unusedlibbase
603 size_t strlcat(char *dst, const char *src, size_t size)
604 .unusedlibbase
605 char *strsep(char **, const char *)
606 char *strlwr(char *)
607 .unusedlibbase
608 char *strupr(char *)
609 .unusedlibbase
610 char *strrev(char * s)
611 .unusedlibbase
612 int stch_l(const char * in, long * lvalue)
613 .unusedlibbase
614 int stcd_l(const char * in, long * lvalue)
615 .unusedlibbase
616 int stco_l(const char * in, long * lvalue)
617 .unusedlibbase
618 int stcl_d(char * out, long lvalue)
619 .unusedlibbase
620 int stcl_h(char * out, long lvalue)
621 .unusedlibbase
622 int stcl_o(char * out, long lvalue)
623 .unusedlibbase
624 int stcu_d(char * out, unsigned uivalue)
625 size_t stccpy(char *str1_ptr, const char *str2_ptr, size_t max)
626 .unusedlibbase
627 char *stpsym(char *str_ptr, char *dest_ptr, int dest_size)
628 .unusedlibbase
629 char *stpblk( const char * str )
631 # * strings.h: POSIX, BSD
632 int strcasecmp(const char * s1, const char * s2)
633 .skip 1
634 #int strcasecmp_l(const char *, const char *, locale_t)
635 int strncasecmp(const char *, const char *, size_t)
636 .skip 1
637 #int strncasecmp_l(const char *, const char *, size_t, locale_t)
639 # * time.h: reentrant versions of some C99 functions (POSIX)
640 char *asctime_r(const struct tm *, char *)
641 char *ctime_r(const time_t *, char *)
642 struct tm *gmtime_r(const time_t *, struct tm *)
643 struct tm *localtime_r(const time_t *, struct tm *)
645 ##end functionlist