Commit Graph

152 Commits

Author SHA1 Message Date
LemonBoy
62e3579655 Fix regression due to type change
The change is technically correct but requires too much type juggling
and the effort outweighs the gains.
2018-09-16 20:29:45 +02:00
LemonBoy
a2a06d43f2 Fix connectUnix/bindUnix with abstract socket paths
The only way to make this work for both abstract and non-abstract
sockets is to send the kernel an incomplete structure.

Reported by Epictek on the forum.
2018-09-15 20:43:08 +02:00
LemonBoy
2c8361bd39 Constant folding for integer casts (#8095) 2018-08-31 13:45:42 +02:00
alaviss
7ef268274f Haiku support for Nim (#8542)
* posix_other: Haiku now has spawn.h

This is added per https://dev.haiku-os.org/ticket/13446

* posix_other: Add Haiku specific Dirent members

* cpuinfo: Add an implementation for Haiku

* distros: Add basic Haiku support

* encodings: update Haiku support

* fenv, math: Haiku now provides libm

* times: Add Haiku struct members

* ansi_c, osalloc: Add Haiku constants

* threads: Add Haiku support

* testament: Haiku uses LIBRARY_PATH

* nim.cfg: Update Haiku support

libnetwork should only be linked if network functions are used

* threads: Haiku does not support -pthread switch

* tworkingdir: Haiku's env is in /bin

* posix_other: add SIGKILLTHR for Haiku

* sockets: link with libnetwork on Haiku

* coro: correct ucontext.h location

http://pubs.opengroup.org/onlinepubs/009696699/basedefs/ucontext.h.html

* coro: ucontext backend is not available on Haiku

Haiku doesn't provide the <ucontext.h> header, as it was removed from POSIX

* coro: fix setjmp backend

The compiler does not allow statements after a noreturn function

* nativesockets: Haiku doesn't support AI_V4MAPPED

* system: hostOS can contains "haiku"

* os: add support for Haiku's packagefs

packagefs is read-only, but there are writable holes to the underlying
file system as well

* os: update constant for Haiku
2018-08-14 09:35:07 +02:00
Jeff Ciesielski
f8723cd1e3 Add extended baud rates to posix/termios (#8322)
115200 is really common.  I'd like to get support in nimserial, but
I'm guessing it would help to have support in the stdlib first.
2018-07-16 15:15:47 -04:00
Vindaar
681d8e0749 Deprecate 'c', 'C' prefix for octal literals, fixes #8082 (#8178)
* deprecate `0c`, `0C` prefix for octal literals

Deprecates the previously allowed syntax of `0c` and `0C` as a prefix for
octal literals to bring the literals in line with the behavior of
`parseOct` from parseutils.

* add `msgKind` arg to `lexMessageLitNum` for deprecation messages

* change literal tests to check all valid integer literals

Also adds the `tinvaligintegerlit3` test to test for the (still)
invalid `0O` prefix.
2018-07-03 01:56:36 +02:00
Joey
559a7615ad Nintendo switch support (#8069)
* Add config section for Nintendo Switch
* Add compiler configuration for Nintendo Switch and it's CPU
* Add specific lib code for Nintendo Switch
* Add GC support for Nintendo Switch
* Update changelog for Nintendo Switch
* Update changelog with more info about fixed paths
* Cleaned up GC memory management a bit
* Relocate docs for Switch
* Rename aarch64NoneElfGcc to nintendoSwitchGCC
* Remove armv8a57
* Fix installer.ini
* Reuse code in linux and amd64
* Add posix defs for nintendo switch
* Add more defined sections for nintendo switch
* Remove old comment
* Add what's not supported for Nintendo Switch docs
* Make nintendoswitch == posix
* Remove DEVKITPRO references from nim.cfg
* Make PR extccomp changes
* Remove Result type alias
* Add separate switch consts file
* Update docs for nintendo switch
* Fix travis errors with undefined consts and add correct wait.h procs
2018-06-27 12:35:09 +02:00
Oscar Nihlgård
05b447374b Use higher time resolution when available in os.nim (#7709) 2018-06-04 14:56:56 +02:00
Jacek Sieka
72dfe176f5 remove dead code elimination option (#7669) 2018-04-23 11:02:38 +02:00
Oscar Nihlgård
fdf1d12380 Change type of Timeval.tv_sec to posix.Time (#7646) 2018-04-18 21:24:28 +02:00
aguspiza
63160855aa Move RLimit and getrlimit to posix.nim and add setrlimit to easily limit FD allocation (#7564) 2018-04-12 17:42:33 +02:00
Jacek Sieka
9e51e737b6 RLIMIT_NOFILE as posix const 2018-04-01 20:17:32 +08:00
Dominik Picheta
22cc7c62e5 Fixes times module compilation on cpp backend. (#7004) 2018-01-03 12:46:55 +01:00
GULPF
a879973081 Better times module (#6552)
* First work on better timezones

* Update tests to new api.
Removed tests for checking that `isDst` was included when formatting, since `isDst` no longer affects utc offset (the entire utc offset is stored directly in `utcOffset` instead).

* Deprecate getLocaltime & getGmTime
* Add `now()` as a shorthand for GetTIme().inZone(Local)
* Add FedericoCeratto's timezone tests (#6548)
* Run more tests in all timezones

* Make month enum start at 1 instead of 0
* Deprecate getDayOfWeekJulian
* Fix issues with gc safety
* Rename TimeInfo => DateTime
* Fixes #6465
* Improve isLeapYear
* FIx handling negative adjTime

* Cleanup:
- deprecated toSeconds and fromSeconds, added fromUnix and toUnix instead (that returns int64 instead of float)
- added missing doc comments
- removed some unnecessary JS specific implementations

* Fix misstake in JS `-` for Time

* Update usage of TimeEffect
* Removed unecessary use of `difftime`
* JS fix for local tz
* Fix subtraction of months
* Fix `days` field in `toTimeInterval`
* Style and docs
* Fix getDayOfYear for real this time...
* Fix handling of adding/subtracting time across dst transitions
* Fix some bad usage of the times module in the stdlib
* Revert to use proper time resoultion for seeding in random.nim
* Move deprecated procs to bottom of file
* Always use `epochTime` in `randomize`
* Remove TimeInterval normalization
* Fixes #6905

* Fix getDayOfWeek for year < 1
* Export toEpochDay/fromEpochDay and change year/month/monthday order
* Add asserts for checking that the monthday is valid
* Fix some remaining ambiguous references to `Time`
* Fix ambiguous reference to Time
2017-12-18 23:11:28 +01:00
Dominik Picheta
d3394be555 Async upcoming (#6585)
* Merge upcoming async with current.
* Various improvements to selectors (mostly docs).

Two changes to highlight:

* Renamed ``setEvent`` to ``trigger``
* Reused setBlocking from nativesockets.
* Various changes/fixes to asyncdispatch after upcoming merge.
* Make some attempts to be compatible with older selectors.
* Reuse epoll module in ioselectors_epoll.
2017-11-22 15:43:10 +01:00
Stefan Rakel
d47fec5bcc Fix #6553 (#6580) 2017-10-24 10:51:05 +02:00
Andreas Rumpf
b27e587087 fixes #6496 2017-10-15 20:27:02 +02:00
Andreas Rumpf
28da04c1f7 Android support: put Termux specific dependencies behind a -d:termux switch 2017-08-30 13:33:09 +02:00
Fredrik Høisæther Rasch
c39e202976 Introduce first class support for Android (#5772) 2017-08-06 02:18:15 +02:00
James Cowgill
fed1b0a077 Add mips64 and mips64el CPU platforms (#5866) 2017-08-03 18:37:02 +02:00
Arne Döring
000b8afd26 Remove expr/stmt (#5857) 2017-07-25 09:28:23 +02:00
Emery Hemingway
85d4109a0d Genode readdir fix (#6080)
The Genode readdir is inherited from then FreeBSD libc.
2017-07-14 16:43:42 +02:00
Jacek Sieka
797301ace8 add back SIG_IGN, SIG_DFL and friends to posix.nim (#5820)
* add back SIG_IGN, SIG_DFL and friends to posix.nim

accidentally wiped by ce86b4ad78

* move deprecated sig_hold after consts include
2017-05-16 13:45:09 +01:00
Jacek Sieka
0055729755 WIFSIGNALED means process has exited too (with a bang!) (#5678) 2017-04-27 21:39:32 +02:00
Jacek Sieka
ce86b4ad78 Posix from detect (#5697)
* refactor posix.nim
* types move to separate files for platform-specifc and generic
("other')
* consts move to separate files that get autogenerated by detect.nim
* proc's stay where they are for now, though in a second stage might
move as well
* fix missing when
2017-04-12 23:10:54 +02:00
Jacek Sieka
e512358bc9 Linux abi take 3 (#5692)
* avoid generating object fields for imported types
* fix some abi/type issues for linux_amd64
2017-04-12 22:57:10 +02:00
Eugene Kabanov
316b680f5d Proper fix for osproc.nim on Android (#5646) 2017-04-02 08:32:54 +02:00
wt
c480505797 Fix wrong value range of ntohs ... (#5390) 2017-03-31 22:13:06 +02:00
Eugene Kabanov
977758fe06 Fix posix.nim dirent structure to be more compatible with OSes. (#5623) 2017-03-29 08:34:07 +02:00
Ryan Gonzalez
244bf68fb0 Fix #5550 (#5553) 2017-03-18 21:05:12 +01:00
Eugene Kabanov
336a7c9b3f Fixes to support Dragonfly BSD. (#5552)
* Fix kqueue.nim and ansi_c.nim to support dragonfly.
* Fix ioselectors.nim, threads.nim to support dragonfly.
* Fix deprecated dealloc call in tioselectors.nim.
* Fix tfsmonitor.nim test to run only on Linux.
* Fix osproc.nim return wrong exit codes.
* Fix getAppFilename() for dragonfly.
* Fix proper exit code handling.
2017-03-17 08:22:11 +01:00
Charles Blake
3680cbaf25 Use old approach for Mac OSX which, as of 2016, does not yet support POSIX
high-resolution file times.
2017-02-07 09:39:41 -05:00
Charles Blake
53dfb21d6c Move Timespec up, use in Stat for st_?tim and define accessors for the seconds
portion of the Timespec.
2017-02-07 09:00:19 -05:00
Andreas Rumpf
e22c36dfc2 posix.nim: make new sigaction wrapper compatible with C++ 2017-01-20 12:40:54 +01:00
Andreas Rumpf
ecf1802568 posix.nim add 'sigaction' with 3rd nil parameter 2017-01-19 20:00:31 +01:00
John Novak
a245514146 Use imported symbols & remove non-POSIX stuff
* All symbols were hardcoded using Linux specific values, using
  imports now (because of this, the module was broken on OS X, for example)
* There were many non-POSIX (Linux specific) symbols and
  functions included, these have been removed
2016-12-01 16:46:35 +10:00
Federico Ceratto
7d24656b0a Fix few typos 2016-10-17 13:12:15 +01:00
Simon Ruderich
1cee3eb011 posix: add INADDR_LOOPBACK 2016-09-17 18:11:12 +02:00
Simon Ruderich
8ed241a1f0 posix: add mkstemp 2016-09-17 16:57:51 +02:00
Charles Blake
7b39545eb3 Evidently Travis build termios.h does not pull in sys/ioctl.h
but my initial test system did.
2016-09-01 14:08:40 -04:00
Charles Blake
8df2078f08 Change type name to be more NEP-1-ish as per Araq request. 2016-09-01 08:33:39 -04:00
Charles Blake
19f83ccd0b Add terminal.terminalWidth and supporting types/calls. 2016-09-01 07:34:42 -04:00
Andreas Rumpf
8876ed23f1 expr and stmt are now deprecated 2016-07-30 16:34:42 +02:00
Andreas Rumpf
0834cd63d9 prepare Nim codebase for upcoming parser changes 2016-07-15 12:56:03 +02:00
Ruslan Mustakov
45f76738ee Added 'android4' define support that declares a different gethostbyaddr. Fixes #4376 2016-06-22 20:50:18 +06:00
tormund
ac4201132d Fix android compile time error 2016-06-07 19:24:23 +03:00
Dominik Picheta
a484e3f8c2 Merge branch 'unix-sockets' of https://github.com/girvo/Nim into girvo-unix-sockets 2016-05-30 09:38:37 +01:00
Andreas Rumpf
d727581430 make SO_REUSEPORT independent of Linux header 2016-05-29 22:31:31 +02:00
Andreas Rumpf
7bf7c4d49e Merge pull request #4235 from cheatfate/nosignal
Solaris dont have MSG_NOSIGNAL
2016-05-29 22:22:05 +02:00
Andreas Rumpf
380524caa8 Merge pull request #3648 from FedericoCeratto/reuse_port
Add SO_REUSEPORT support
2016-05-29 22:21:56 +02:00