Commit Graph

54 Commits

Author SHA1 Message Date
Feoramund ac9484206b Fix STDIN, STDOUT, STDERR handles for BSDs
Tested on FreeBSD 14.0 and NetBSD 10.0

OpenBSD is untested, but link names were sourced from:
https://github.com/openbsd/src/blob/master/include/stdio.h

According to this, OpenBSD shares the same layout as NetBSD.

FreeBSD has the same as Darwin in this regard.
2024-06-02 19:29:27 -04:00
Feoramund 95c2e020ff Share libc signal definitions with more platforms
I confirmed that these 3 platforms share the same signal definitions
from these sources.

Haiku: https://github.com/haiku/haiku/blob/master/headers/posix/signal.h
OpenBSD: https://github.com/openbsd/src/blob/master/sys/sys/signal.h
NetBSD: http://fxr.watson.org/fxr/source/sys/signal.h?v=NETBSD
2024-06-02 14:34:30 -04:00
Andreas T Jonsson dd95a8d11d More std lib fixes
Just selecting the same codepath as other BSD's for the most part.
2024-04-19 10:42:09 +02:00
Andreas T Jonsson 07fc07822d Added some libc bindings for NetBSD 2024-04-18 16:22:07 +02:00
gingerBill 53ce945034 Merge pull request #3230 from avanspector/haiku
Add Haiku OS support
2024-03-08 11:15:13 +00:00
Laytan Laats 50ded324e0 move va_list into core:c 2024-03-01 20:30:19 +01:00
avanspector 180902468f Revert "fix haiku"
This reverts commit 7290c69257.
2024-02-26 08:09:58 +01:00
avanspector 7290c69257 fix haiku 2024-02-26 08:07:17 +01:00
avanspector 6c16860be6 fix runtime and libc 2024-02-25 03:43:41 +01:00
avanspector c3746d9f56 fix core and libc 2024-02-25 03:32:35 +01:00
avanspector b03f17dd8d add haiku to base:runtime and core:c/libc 2024-02-25 02:59:45 +01:00
gingerBill 3e7e779abf Replace core:* to base:* where appropriate 2024-01-28 22:18:51 +00:00
Laytan Laats ce8801c37f c/libc: add to_stream proc
Adds the `to_stream` procedure to `core:c/libc` to improve usability of
the core collection when you have to use libc.
2024-01-08 19:20:06 +01:00
gingerBill 3baf8d92c3 Add assert to disallow -no-crt when importing core:c/libc 2023-11-23 01:20:19 +00:00
reluctant-git-user 496765c043 Update stdio.odin
snprintf() prototype fix
2023-10-15 17:09:41 +03:00
gingerBill 2cc22d118d Require parentheses for #align(N) 2023-08-15 14:55:02 +01:00
gingerBill e05944601a Minor fixes 2023-03-16 13:35:38 +00:00
gingerBill d085283f20 Fix cnd_timedwait 2023-01-16 15:32:23 +00:00
Julian Fondren 9f55404845 fix core:c/libc.errno link_name for Linux and FreeBSD
Although the FreeBSD link matches Darwin, its EILSEQ still matches Linux.

Confirmed with the following program:

```odin
package main
import "core:c/libc"

main :: proc() {
	libc.printf("%d\n", libc.errno()^) // 0
	_ = libc.fopen("nonexistent file", "r")
	libc.printf("%d\n", libc.errno()^) // 2
}
```

on Linux:

	Odin: dev-2022-10:075040ae
	OS:   Manjaro Linux, Linux 5.10.147-1-MANJARO
	CPU:  Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
	RAM:  15953 MiB

and FreeBSD:

	Odin: dev-2022-10:075040ae
	OS:   FreeBSD: Unknown
	CPU:  Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
	RAM:  990 MiB

FreeBSD uname -r: 13.0-RELEASE
2022-10-17 22:32:10 -05:00
gingerBill 35ee7f3cba Add system:legacy_stdio_definitions.lib to .odin for Windows 2022-10-02 11:58:17 +01:00
gingerBill eb0d7465e2 Fix libc.aligned_alloc for Windows (thanks Microsoft(!)) 2022-09-22 01:22:48 +01:00
gingerBill 07d798c61a Fix libc.aligned_alloc on Windows 2022-09-22 01:17:58 +01:00
13419596 4b4c2a2abd Correcting libc pow bindings
Adding tests that libc pow(f) functions
- have two arguments
- behave as expected for simple inputs.
2022-09-21 17:15:28 -05:00
cui fliter dc8b7a0eb8 fix some typos
Signed-off-by: cui fliter <imcusg@gmail.com>
2022-08-05 20:10:20 +08:00
gingerBill f28547cae1 Fix libc.putchar 2022-07-14 11:56:05 +01:00
gingerBill d7195b0798 Add missing commas 2022-06-13 11:12:31 +01:00
Jeroen van Rijn e85f1dd9fb Fix is* proc in libc. 2022-05-20 20:00:27 +02:00
gingerBill a232c0888c intrinsics.atomic_type_is_lock_free 2022-04-02 14:38:42 +01:00
gingerBill 9f2d710c35 Change intrinsics.Atomic_Memory_Order fields to use Ada_Case rather than snake_case 2022-03-31 12:57:24 +01:00
gingerBill 1eac3482a6 Add checks for memory ordering on fences 2022-03-31 01:01:51 +01:00
gingerBill ba1930eb01 Update core to use new atomic intrinsics 2022-03-31 00:22:54 +01:00
gingerBill 743a461aa9 Merge pull request #1614 from semarie/openbsd-fpos_t
use distinct type for fpos_t on OpenBSD
2022-03-14 11:11:29 +00:00
Sébastien Marie ca67cf032c freebsd_amd64 support 2022-03-13 11:42:42 +00:00
Sébastien Marie f7c8b40ea2 use distinct type for fpos_t on OpenBSD 2022-03-12 09:40:55 +00:00
Sébastien Marie 5676c9e7eb initial OpenBSD support 2022-02-25 08:49:25 +00:00
gingerBill f5697dd7f2 Merge branch 'master' into odin-global-constants-as-enums 2022-02-15 15:47:24 +00:00
Dale Weiler a5e1693774 Fix fread definition 2022-01-23 03:12:59 -05:00
gingerBill 3d7d347192 Convert ODIN_OS and ODIN_ARCH to use enums rather than use strings 2022-01-20 19:56:05 +00:00
Tyler Erickson 8c9597b24b add schar to core:c and core:c/libc 2022-01-04 16:45:16 -08:00
gingerBill f09638318f Add support for darwin to core:c/libc 2021-11-16 21:19:08 +00:00
gingerBill bfc92d0aaf Make runtime.memset use int for the length from uint 2021-09-23 23:43:29 +01:00
gingerBill 344abf2cb2 Make core and vendor adhere to -vet, -strict-style, and -disallow-do 2021-09-11 16:40:19 +01:00
gingerBill b712c84afb Fix typo 2021-09-10 16:37:43 +01:00
gingerBill 9980f81062 Add other constants to c and libc 2021-09-10 16:14:39 +01:00
gingerBill 12af657369 Unify memset usage across platforms and core:c/libc 2021-09-10 15:59:14 +01:00
gingerBill 99df0f1b12 libc changes: unify c and libc types; Add [^]T where appropriate 2021-09-10 15:41:51 +01:00
gingerBill bff66ff600 Remove unnecessary operations 2021-09-08 19:07:25 +01:00
gingerBill 0434281f73 Strip semicolons; Make odin strip-semicolon replace .. with ..= if used as a binary operator 2021-09-06 20:15:59 +01:00
vassvik f9bea5b791 Updated comment for Windows version of setjmp. 2021-08-28 13:41:14 +02:00
vassvik 8ca4286624 Add core:c/libc tests 2021-08-28 13:32:32 +02:00