Commit Graph

379 Commits (1a9690cc624924f4b8420af9f93cce479a4b9400)

Author SHA1 Message Date
Delyan Angelov e577b40743 compiler: add support for $if x32, x64, big_endian, little_endian 2019-11-15 16:14:28 +03:00
Alexander Medvednikov 96cde10696 C string literals (c'str'); bare builtin module; bare println() 2019-11-15 02:29:20 +03:00
Alexander Medvednikov bd97dc0134 os: realpath potential fix 2019-11-15 01:07:38 +03:00
Alexander Medvednikov a04c3bac83 CI: ubuntu-musl target 2019-11-15 00:46:40 +03:00
Alexander Medvednikov 9499275180 os: mkdir syscall on linux 2019-11-15 00:15:23 +03:00
Alexander Medvednikov 34c4565f7c wrap up -bare 2019-11-14 11:11:52 +03:00
Alexander Medvednikov 4a833d8151 parser: clean up all [] 2019-11-14 09:21:20 +03:00
Alexander Medvednikov 8d4ef822b6 1 2019-11-14 07:08:11 +03:00
Alexander Medvednikov ffa6bcfff5 vfmt: handle comments 2019-11-13 11:54:22 +03:00
Steven Gay 51663520c8 MSVC backtrace 2019-11-13 11:05:06 +03:00
Delyan Angelov cc81e9adfa v test v: cleanup more temporary files 2019-11-11 18:45:11 +03:00
Alexander Medvednikov ffa9646749 Revert "print_backtrace_skipping_top_frames: Implementation for MSVC "
This reverts commit d1e7a54f3a.
2019-11-10 20:01:19 +03:00
Alexander Medvednikov c7f3413d70 more vfmt fixes 2019-11-10 19:49:19 +03:00
Steven Gay d1e7a54f3a print_backtrace_skipping_top_frames: Implementation for MSVC 2019-11-10 19:34:53 +03:00
Alexander Medvednikov 3d4f85069f more vfmt fixes 2019-11-10 02:44:26 +03:00
Toby Webb ab37081f02 add production mode tests
Due to the inability to detect warnings in REPL tests, I implemented running something very similar, but with the -prod flag enabled.
(See https://github.com/vlang/v/pull/2536)

There is also a minor change in os.walk_ext to not add duplicated path separators:
/path//file.ext -> /path/file.ext
2019-11-09 19:35:26 +03:00
Nicolas Sauzede 5a8c3daba3 os: fix stat mode signedness warning 2019-11-08 03:02:02 +03:00
Delyan Angelov a44ba0b8a2 bignum module wrapper for kokke/tiny-bignum-c 2019-11-07 22:04:18 +03:00
Alexander Medvednikov fbd71e1539 expression.v 2019-11-07 17:48:48 +03:00
vitalyster 86447c1301 windows: use CreateProcess for os.exec 2019-11-07 16:01:17 +03:00
Nicolas Sauzede c8de2c0bd4 fix i64 overflow warning 2019-11-07 06:00:00 +03:00
lorenzo pirro bd18f50c8a os: cp_r fn to copy files recursively 2019-11-06 23:05:35 +03:00
vitalyster 8dbeab9a7b make V work on Windows 7 2019-11-06 23:04:40 +03:00
Alexander Medvednikov c5d868c928 start the C header removal process 2019-11-05 19:24:00 +03:00
Alexander Medvednikov 883041fbcc os: replace FILE with voidptr to remove stdlib.h dep 2019-11-05 18:42:10 +03:00
Daren Liang e3d8ab5849 os: do not allow || and \n in system/exec 2019-11-04 02:41:15 +03:00
Alexander Medvednikov 3449a8bc4d os: do not allow ; and && in system/exec 2019-11-03 23:13:56 +03:00
Trivaxy 8de2f00294 os: add windows cp 2019-11-02 22:37:29 +03:00
joe-conigliaro 7b1993b1e4 vlib: filepath module 2019-11-01 19:29:51 +03:00
Alexander Medvednikov f8f7881f89 thirdparty/ui for macOS (temporary) 2019-11-01 01:14:08 +03:00
Nicolas Sauzede 71450828bd fix missing protos for popen and backtrace_symbols 2019-11-01 00:52:08 +03:00
Alexander Medvednikov 128d37c671 vh fixes for the UI module 2019-10-31 21:26:12 +03:00
joe-conigliaro 59378dce46 compiler/vlib: replace substr/left/right with `[start..end]` everywhere 2019-10-27 10:03:15 +03:00
Nicolas Sauzede 7ba5248e56 os_win.v: switch => match 2019-10-27 09:36:40 +03:00
Don Alfons Nisnoni 678ce54e70 os: document functions 2019-10-26 20:21:07 +03:00
vitalyster 272b0aec82 os: fix os.get_error_msg on Windows 2019-10-26 14:58:05 +03:00
Alexander Medvednikov cba12d0106 macos libproc fix 2 2019-10-26 02:19:14 +03:00
Alexander Medvednikov 203f967677 macos libproc fix 1 2019-10-26 02:16:37 +03:00
Alexander Medvednikov 7de95a642e remove more C headers 2019-10-26 02:08:46 +03:00
Simon Ernst 2032da7fe2 os: make Result public 2019-10-24 21:58:28 +03:00
Alexander Medvednikov 36eb1b77d0 compiler: remove remaining switch statements and show a warning 2019-10-24 19:26:51 +03:00
Larpon 98c016b41d os: walk() function 2019-10-24 15:17:09 +03:00
Alexander Medvednikov 4a88a28a3b make all necessary structs public 2019-10-24 12:51:00 +03:00
Alexander Medvednikov dce3275df4 make necessary consts public 2019-10-24 12:36:57 +03:00
Alexander Medvednikov 27e254c738 now bring _windows.v back 2019-10-23 12:54:45 +03:00
Alexander Medvednikov 1752f6879c os: remove duplicate consts 2019-10-23 12:45:52 +03:00
Alexander Medvednikov 8021a01365 rename windows files for now 2019-10-23 12:37:42 +03:00
Alexander Medvednikov 92185a1a6f os: move windows consts to a separate file 2019-10-23 12:28:48 +03:00
Alexander Medvednikov 5ef4b2064f windows: _win.v => windows.v 2019-10-23 12:21:33 +03:00
Emily Hudson 2829298de7 live: Fix MSVC hot code reloading (#2460) 2019-10-21 12:15:43 +11:00
Enrico Lefass c23155790a os: add pub fn read_bytes and pub fn read_bytes_at 2019-10-20 20:45:16 +03:00
Simon Ernst 270934441c os: make ls() return an optional 2019-10-17 14:30:05 +03:00
Alexander Medvednikov 5cd38ec91b V shell scripts 2019-10-17 08:27:27 +03:00
joe-conigliaro 9a2b8a0814
compiler: move msvc compiler to -cc flag instead of -os (#2338)
* move msvc to -cc flag instead of -os

* undo unrelated change

* do first build without msvc

* remvove flags temp

* fix comment
2019-10-14 16:41:46 +11:00
Alexander Medvednikov ae2af4c36d parser: a small immutable field fix 2019-10-13 01:50:19 +03:00
Alexander Medvednikov a76165828b snake_case consts 2019-10-12 22:36:14 +03:00
Alexander Medvednikov 81f8b26127 os.path_separator 2019-10-12 22:18:19 +03:00
joe-conigliaro 40156392f8
compiler: cached modules - windows fixes & organise cached module path (#2302)
compiler: cached modules - windows fixes & organise cached module path (#2302)
2019-10-12 16:41:41 +11:00
Alexander Medvednikov b107b4f1e5 modules: create the modules directory if it's missing, use cache/ 2019-10-12 05:04:59 +03:00
Alexander Medvednikov e1dd4c19b5 compiler: cache modules if they are not built yet 2019-10-10 22:53:59 +03:00
vitalyster e64609387d term: colors on Windows console
* isConsole moved to builtin is_atty function
* Windows console initialization moved to builtin.init
2019-10-10 20:08:36 +03:00
vitalyster e10848e0d5 windows: read console with ReadConsole when it is not redirected 2019-10-08 12:29:09 +03:00
Delyan Angelov 60d4f47f7a improve crash diagnosis/detection when a test segfaults 2019-10-08 02:34:55 +03:00
Alexander Medvednikov ee8ff39454 rename ModPath to v_modules_path; do not allow long variable names without _ 2019-09-29 05:34:17 +03:00
Alexander Medvednikov d68e31a863 fix os_win.v 2019-09-29 04:16:15 +03:00
Alexander Medvednikov a52662fca0 do not allow duplicate methods; fix os_win.v; minor fixes and docs 2019-09-29 04:13:32 +03:00
Alexander Medvednikov 74bbf592d1 solaris: another fix 2019-09-27 00:30:41 +03:00
Alexander Medvednikov fcf8f7fc93 solaris: small fix 2019-09-27 00:24:15 +03:00
Alexander Medvednikov 107e9107c8 solaris support 2019-09-27 00:23:27 +03:00
joe-conigliaro d4bae356ba compiler/vlib: add error for no new vars in loop ("_,_") & remove "." from errors 2019-09-25 17:59:50 +03:00
Alexander Medvednikov bf1ee28194 ui: Objective-C @interface support for Cocoa; minor clean-ups 2019-09-23 15:54:17 +03:00
vitalyster f1bb25bfaf windows: Unicode input in REPL 2019-09-20 17:03:13 +03:00
hazohelet 9158ba4640 vlib: add Android checks to build V on Android 2019-09-16 18:23:11 +03:00
Alexander Medvednikov 3db4d66824 operator | not defined on bool 2019-09-15 19:35:48 +03:00
Alexander Medvednikov 48c05b5a45 cgen: use *char in all functions with *char args to avoid warnings 2019-09-15 18:56:33 +03:00
Alexander Medvednikov 849bef987c more C warnings fixed 2019-09-15 15:53:57 +03:00
Alexander Medvednikov 5cc81b91cb JavaSript backend (early stage) 2019-09-15 03:49:57 +03:00
Alexander Medvednikov 9dd86f6fb8 compiler: more memory logic + replace "cur_fn &Fn" with "cur_fn Fn" 2019-09-13 15:47:31 +03:00
Delyan Angelov a53c69de38 os: use path separator more consistently 2019-09-11 01:08:23 +03:00
Alexander Medvednikov 718041194f os: clean up 2019-09-02 13:57:00 +03:00
Alexander Medvednikov 0e2c41e0f9 replace *Foo with &Foo everywhere 2019-09-01 22:51:16 +03:00
Delyan Angelov aa438c7c3f os: fix exec() and get_raw_line(); fix Windows tests and examples 2019-08-26 13:51:48 +03:00
Alexander Medvednikov 4c07df6a21 small webassembly fix 2019-08-24 03:09:23 +03:00
Alexander Medvednikov 031e7fe113 os: libproc.h on macos only 2019-08-24 02:53:11 +03:00
Alexander Medvednikov 7fd9827318 all: add missing includes 2019-08-24 02:48:47 +03:00
Alexander Medvednikov d98c20466e cc.v: build with "implicit-function-declaration" and fix declarations
required for the webassembly backend

2
2019-08-24 00:20:53 +03:00
Alexander Medvednikov dcfc9eb1a1 remove from the language 2019-08-22 23:19:31 +03:00
Delyan Angelov 77b31de117 compiler: produce errors in C "filepath:line:column:" format 2019-08-22 14:15:11 +03:00
Alexander Medvednikov 8a1324c141 os: make exec() return ?Result with exit code and output 2019-08-17 21:11:40 +03:00
Alexander Medvednikov 100bb7c54c os: clean up windows functions 2019-08-17 16:17:43 +03:00
Alexander Medvednikov 7ed0438b04 os: remove PathSeparator hack now that we have v_win.c 2019-08-17 16:02:59 +03:00
Alexander Medvednikov be141d9c5f os: Windows fixes 2019-08-17 02:09:36 +03:00
Alexander Medvednikov b188ecf680 Makefile: re-write `make test` in V 2019-08-16 16:51:46 +03:00
Julian Schurhammer 1864e92ff4 parser: disallow statements after a return, branch check $if, $else, switch, and loops correctly 2019-08-10 10:26:42 +02:00
Julian Schurhammer 28147c0930 os.exec: return ?string instead of string 2019-08-08 07:30:05 +02:00
Alexander Medvednikov 52f473d1c7 all: fix immutable fn args 2019-08-07 05:28:00 +02:00
Alexander Medvednikov 43fb954234 os: fix executable on FreeBSD and older C compilers 2019-08-04 00:16:37 +02:00
Alexander Medvednikov a7e464fee9 user modules + `v install` from vpm 2019-08-01 17:28:25 +02:00
Alvydas Vitkauskas cd49c2103b os: fix read_lines for win/dos files on unix 2019-08-01 00:48:10 +02:00
Alvydas Vitkauskas 2e1da4b4bc Merge pull request #1050 from avitkauskas/fix-read-lines
os: fix read_lines
2019-07-31 10:56:36 +02:00
jilio fa24a0cec5 os: fix is_dir 2019-07-31 10:38:29 +02:00
Alexander Medvednikov 207bab5f79 generics, vweb, comptime codegen, etc 2019-07-29 18:24:48 +02:00
Alvydas Vitkauskas 8484de86c7 fix #1353 os.get_line 2019-07-29 04:44:54 +02:00
Alexander Medvednikov 299d41e3b9 os: fix a memory leak in File.write(string) 2019-07-24 22:47:06 +02:00
F1ssi0N ca70d1f8a3 os: Make windows allocations more consistent & LocalFree args_list
if max is 512 then allocate `max * sizeof(wchar_t)`
2019-07-24 19:10:06 +02:00
F1ssi0N f8bc893972 Re-add the case for msvc now that it is a valid comp-time option 2019-07-24 18:14:44 +02:00
AtjonTV 99355ae8b2 os: Implement a read-all for STDIN 2019-07-24 18:14:13 +02:00
Alexander Medvednikov 2306901e6e os.flush_stdout() 2019-07-24 16:15:28 +02:00
Emily Hudson 32aae80a64 Windows: fix some heap corruptions, fix msvc not building with unicode flags, fix os.getwd, fix mscrazy using a less recent installation 2019-07-24 15:00:26 +02:00
Vitaly Takmazov 0bbefca875 Windows: unicode command line 2019-07-24 14:32:36 +02:00
vitalyster fcb1f211e3 Windows Unicode I/O 2019-07-24 12:16:45 +02:00
Alexander Medvednikov 2291e9fcfe Revert "Windows Unicode support"
This reverts commit 8462e99bc5.
2019-07-24 00:24:34 +02:00
vitalyster 8462e99bc5 Windows Unicode support 2019-07-23 23:40:24 +02:00
Emily Hudson e25ea7f9dd add MSVC C backend support; fix live code reloading on Windows; other Windows fixes 2019-07-23 23:23:13 +02:00
Alexander Medvednikov 390394b56b string: make substr() copy the data, like in Java and C#; remove .cstr()
this makes managing memory used by strings much easier
V strings are now fully compatible with C strings
2019-07-22 17:03:45 +02:00
Alexander Medvednikov 23c5f88f3e Revert "Windows Unicode I/O "
This reverts commit 3e005074a3.
2019-07-21 17:29:40 +02:00
Alexander Medvednikov 9c9fe7029e fix os.is_dir on Windows 2019-07-21 17:14:25 +02:00
Alexander Medvednikov a6e4720a4d
os: fix popen on Windows 2019-07-21 13:37:27 +02:00
vitalyster 3e005074a3 Windows Unicode I/O 2019-07-21 13:29:32 +02:00
Alexander Medvednikov 6e6f6bc387 free/malloc fixes 2019-07-21 12:36:21 +02:00
0x9ef d6ddfa124d Fixed get_error_msg for *nix
* Fixed undefined: get_error_msg
2019-07-18 20:21:48 +02:00
Alexander Medvednikov 251e32948e fix Windows build: move hostname to net/ 2019-07-17 13:50:58 +02:00
Alexander Medvednikov b9f3f2d622 v script 2019-07-17 13:49:42 +02:00
unknown-v a743ecaff9 Windows : fix build
curl -Os https://raw.githubusercontent.com/vlang/vc/master/v.c
cc -std=gnu11 -w -o v v.c -lm
ccK5ic4o.o:v.c:(.text+0x6f62): undefined reference to `__imp_gethostname'
collect2.exe: error: ld returned 1 exit status
2019-07-17 00:02:31 +02:00
0x9ef 8ef3313d63 Fixed buf on hostname and added optional type.
Before submitting this PR, submit https://github.com/vlang/v/pull/1188
2019-07-17 00:02:07 +02:00
0x9ef 91a712fdf0 Check for max error code overflow
If do not check the overflow of the maximum error code (15841), this can lead to a program crash.
2019-07-17 00:01:42 +02:00
Rustem B 47b0221b82 os: hostname function 2019-07-16 19:23:47 +02:00
Joe Conigliaro 36442976c3 fix dir_exists on win 2019-07-16 18:31:49 +02:00
Ned Palacios e638e47af5 `setenv` and `unsetenv` for windows fix 2019-07-16 17:18:08 +02:00
Alexander Medvednikov f5fa43d2fa os: fix executable() for all other BSDs 2019-07-16 16:37:59 +02:00
Alexander Medvednikov 674969665e freebsd fix 2019-07-16 16:22:25 +02:00
Alexander Medvednikov 6fabd36732 freebsd: fix os.executable() 2019-07-16 16:19:55 +02:00
Ned Palacios c3ad75191d os: fix 'rm' and 'rmdir' implementation on windows 2019-07-16 15:55:51 +02:00
Alexander Medvednikov 961ffb1868 Windows: temporary fix of dir_exists 2019-07-16 03:17:49 +02:00
Alexander Medvednikov 9c63cac54d another Windows fix 2019-07-16 02:06:39 +02:00
Alexander Medvednikov 090cdcf3b9 os: fix PathSeparator on Windows 2019-07-16 01:59:28 +02:00
Alexander Medvednikov cc06fe7ae6 os.dir(); fix vroot on Windows 2019-07-16 01:57:06 +02:00
Alexander Medvednikov 24a1e0e24a better os.executable on macos 2019-07-15 23:25:11 +02:00
0x9ef 9b5383341d Add get_error_msg 2019-07-15 20:39:09 +02:00
Alexander Medvednikov 449fd372f9 *_nix.v support 2019-07-15 19:23:09 +02:00
Alexander Medvednikov 7c6f59afa6 FreeBSD support 2019-07-15 17:24:44 +02:00
Paparoni Alvardo 7058333f17 Add get_module_filename 2019-07-15 14:27:33 +02:00
joe-conigliaro 6c2e313155 add missing implementation of os.getexepath for mac 2019-07-14 16:50:24 +02:00
0x9ef 82ed0156c5 Fixed clang build for windows.
Fixed:
C:\Users\C182~1\AppData\Local\Temp\ccb5oFDP.o: In function `os__fork':
C:/Users/─рэ //.vlang//v2.exe.c:4831: undefined reference to `fork'
C:\Users\C182~1\AppData\Local\Temp\ccb5oFDP.o: In function `os__wait':
C:/Users/─рэ //.vlang//v2.exe.c:4840: undefined reference to `wait'
collect2.exe: error: ld returned 1 exit status
2019-07-14 12:38:03 +02:00
Justice Suh 436d7592c7 os: fork() and wait() 2019-07-14 10:22:41 +02:00
Justice Suh 5d7bac2016 os: add flush method 2019-07-13 12:30:52 +02:00
aguspiza d0e7d0070d fix travis windows user home 2019-07-12 20:35:01 +02:00
Alexander Medvednikov f834644db4 make gg work on Windows; prebuild glad and cJSON; new ft module 2019-07-12 04:50:14 +02:00
Alexander Medvednikov de8dc4cddb hot code reloading examples 2019-07-07 22:02:27 +02:00
Alexander Medvednikov d47e2f113f Revert "make function arguments immutable"
This reverts commit 0f0ed8d716.
2019-07-05 02:44:22 +02:00
Alexander Medvednikov 0f0ed8d716 make function arguments immutable 2019-07-05 00:24:13 +02:00
Alexander Medvednikov ebbea9f560 Revert "Added const INVALID_HANDLE_VALUE"
This reverts commit adef37f0f4.
2019-07-04 22:39:20 +02:00
0x9ef adef37f0f4 Added const INVALID_HANDLE_VALUE 2019-07-04 22:26:07 +02:00
Justice Suh 9e4ae929a4 os: remove test file 2019-07-04 20:37:35 +02:00
joe-conigliaro 4e1afc148a os: add term colors for Windows +minor fixes 2019-07-04 17:39:35 +02:00
Alexander Medvednikov 8f10e37370 make << work with appending arrays; PostgreSQL driver 2019-07-04 17:31:14 +02:00
Joe Conigliaro 6b0e4a1d7b fix ls() win not ret []string when cant open dir 2019-07-04 12:59:41 +02:00
Alexander Medvednikov 68ed555e91 V 0.1.12 2019-07-04 02:21:27 +02:00
joe-conigliaro 4d9c6197fd initial Implementation of ls() for windows 2019-07-04 02:16:39 +02:00
Alexander Medvednikov dec0d961f5 os: clean up file functions, use optionals 2019-07-03 21:37:12 +02:00
Justice Suh 5c42a31b9b os: capture signals 2019-07-02 23:08:57 +02:00
Alexander Medvednikov 1bbf3a3a0c make compiler 2019-07-02 21:45:51 +02:00
joe-conigliaro 4ed67fbe7e implement get_line & get_raw_line for windows + REPL 2019-07-02 16:39:40 +02:00
aguspiza 1cd95091f2 remove additional line from write_file 2019-07-01 23:46:06 +02:00
0x9ef 01d5f4d744 Change permission from 'r' to 'rb'
it is preferable to open the file in binary mode.
2019-07-01 23:41:32 +02:00
0x9ef 1ca20196d0 Created os_win.v and added `get_file_handle` 2019-07-01 17:57:55 +02:00
Alexander Medvednikov 95841a31d4 Revert "Added permission bits."
This reverts commit ae1313a35c.
2019-07-01 17:46:28 +02:00
0x9ef ae1313a35c Added permission bits. 2019-07-01 17:37:01 +02:00
Alexander Medvednikov 61c7fa073b fix compilation on Linux 2019-07-01 17:04:09 +02:00
Alexander Medvednikov 99a9a6572a lots of Windows fixes and cross compilation for Windows 2019-07-01 16:51:17 +02:00
0x9ef 87fb898864 Create types_win.v for Win API basic types. 2019-07-01 02:45:40 +02:00
0x9ef 42a622c10f Create const.v for Unix/Win32 API constants. 2019-06-30 21:59:56 +02:00
Alexander Medvednikov ef5a91a87a os: make write_bytes() public 2019-06-30 21:07:24 +02:00
Alexander Medvednikov 61b51f6149 os.File clean up + socket.v (dial()) 2019-06-30 20:28:50 +02:00
Alexander Medvednikov 386367c3d5 os: remove unused functions 2019-06-30 20:28:50 +02:00
Alexander Medvednikov 820aa3d3b3 os: remove os_mac.v and os_win.v, fix os.ls() on Windows 2019-06-30 14:57:27 +02:00
Zaoqi 8d13880cab Update os.v 2019-06-30 13:05:41 +02:00
Alexander Medvednikov 18525922fd Windows fixes 2019-06-29 21:26:39 +02:00
Alexander Medvednikov 4594d78bd6 move all vlib modules to vlib/ 2019-06-29 12:00:31 +02:00