1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

693 Commits

Author SHA1 Message Date
Nick Treleaven
8dcc3cda97
os.cp: fix returning false error on Windows (#6037) 2020-08-02 14:08:45 +03:00
Carlos Esquerdo Bernat
d71c11577a
os: move file logic to file.v (#6013) 2020-08-01 23:07:37 +02:00
pancake
04ef2a2671
os: implement os.system for iOS and uncomment the $if ios blocks (#5947) 2020-07-24 10:17:32 +03:00
Alexander Medvednikov
632e27a4a9 all: fix a big mutability bug and update all mutable vars 2020-07-23 23:16:36 +02:00
pancake
36352085ae
v: add support for iOS crosscompilation (#5943) 2020-07-23 07:58:44 +03:00
Nick Treleaven
ee349691f9
v/checker: Warn about pointer indexing outside unsafe {} (#5918) 2020-07-22 20:28:53 +03:00
Delyan Angelov
4cb9e651a6 vfmt: fix sizeof(C.Type) 2020-07-21 16:28:30 +03:00
Nick Treleaven
a74cbf55c7
checker: warn if C.m* or C.s* functions are called outside unsafe blocks (#5869) 2020-07-20 20:06:41 +03:00
Ryan Willis
e804ba5294
vfmt: add support for VDIFF_TOOL, detect more diffing tools (#5857) 2020-07-17 14:03:07 +03:00
Ryan Willis
f66967a88c
vsymlink: real Windows symbolic link, fallback to batch, make.bat updates (#5841) 2020-07-16 18:33:26 +02:00
ka-weihe
df45488e09
cgen: fix warnings (#5820) 2020-07-14 00:16:31 +02:00
Delyan Angelov
1baa7ef806 os: implement os.write_file_array and os.read_file_array . 2020-07-13 10:46:37 +03:00
Takeru Tanaka
f61a7bf3df
os,rand.mt19937: fix broken links in code comments (#5806) 2020-07-12 16:18:52 +03:00
Alexander Medvednikov
b92ce38593 os: fix v_realloc call on windows 2020-07-11 12:45:22 +02:00
yuyi
4490cd2e8a
os: replace panics with optionals (#5718) 2020-07-07 12:41:42 +02:00
Delyan Angelov
6b2777e681 compiler: support VTMP; tests: delete .tmp.c files on successfull tests 2020-07-06 15:08:46 +03:00
Delyan Angelov
bae9ed0350 os: fix file.writeln(s) too, where s contains 0 bytes 2020-07-04 14:14:43 +03:00
div72
95696559b7
os: fix early termination when saving binary (#5646) 2020-07-04 01:48:01 +02:00
Nick Treleaven
0b49e4db1c
v/checker.v: disallow pointer arithmetic for InfixExpr outside unsafe {} (#5640) 2020-07-03 18:10:10 +02:00
Alexander Medvednikov
5eb76606ae cgen: store return vals in tmp vars with -autofree 2020-07-01 14:34:14 +02:00
yuyi
c69ef876c5
os: remove return none in fn()? 2020-06-29 15:06:26 +02:00
Ned Palacios
025652bb78
vdoc: dd .vdocignore + minor fixes 2020-06-29 11:03:09 +02:00
yuyi
c588bdee5a
cgen: fix fn()? return 2020-06-29 11:02:40 +02:00
Delyan Angelov
c83c5e7c61 os: use return none in functions returning ? 2020-06-26 17:57:02 +03:00
Delyan Angelov
951f30853a os: fix rmdir on windows 2020-06-26 17:24:36 +03:00
Lukas Neubert
692ca8ac83
os: make all rm functions return an optional 2020-06-26 15:01:10 +02:00
yuyi
5e9c154376
os_api: cp/cp_all/... ?bool => ? 2020-06-25 12:06:47 +02:00
Lukas Neubert
30169f86c1
os: make rm return an optional 2020-06-24 14:01:19 +02:00
yuyi
7efb3ecb34
checker: check deprecated functions 2020-06-23 16:25:24 +02:00
Alexander Medvednikov
63ef04e03e os: make write_file() return an optional 2020-06-23 11:41:23 +02:00
Swastik Baranwal
72b09d4794
term: add clear 2020-06-19 17:15:41 +02:00
spaceface777
624005bbd0
tcc_win: fix tests 2020-06-19 12:54:56 +02:00
Mike 'Fuzzy' Partin
206e64d72c
os: add os.uname() 2020-06-14 16:46:30 +03:00
Adam Stankiewicz
471c931ada
os: do not trim space from output of exec 2020-06-14 01:41:47 +02:00
Ned Palacios
36edd6295f
vlib: transfer intro to readme; normalize comments 2020-06-08 00:04:23 +03:00
Delyan Angelov
16bf300934 os: fix compilation with -cc gcc -prod of programs using os.cp 2020-06-06 22:05:23 +03:00
Delyan Angelov
3aecdeab63 os,gl,sync: cleanup, prepare for .toplevel_comments vdoc mode 2020-06-06 18:47:25 +03:00
Alexander Medvednikov
13a7ce9e69 gg: GG => Context 2020-06-04 20:26:18 +02:00
Naheel
4fcabb71c4
os: implement cp for nix 2020-06-01 21:11:40 +02:00
Delyan Angelov
c6a7d0a3a0 tests: update the remaining erroring tests, CI should be green now 2020-06-01 18:30:26 +03:00
Alexander Medvednikov
3d83934caf checker: check mutating methods; generics fixes 2020-06-01 15:44:10 +02:00
Emily Hudson
75eac291ac
all: variable sized options 2020-05-31 12:57:26 +02:00
Emily Hudson
f0a9b88ac4
all: add stdcall attribute, unhandled exception handler, get_raw_stdin, v_realloc 2020-05-29 03:06:27 +02:00
Matt Baulch
c7501e2d3d
os: fix build issue caused by fileno on *BSD 2020-05-28 11:08:59 +02:00
Uwe Krüger
013fdb8a4b
checker: restrict numeric promotions to cases where no data is lost 2020-05-27 05:42:48 +02:00
Julia K
b4eadb9030
cmd/v: reimplement -path flag 2020-05-26 03:17:52 +02:00
yuyi
dda875a9c8
all: unify const names to snake_case 2020-05-22 17:36:09 +02:00
penguindark
8bf290acf0
os: minor fixes 2020-05-22 06:21:11 +02:00
Delyan Angelov
ac396ea02f http: cleanup backend_nix.c.v, fixes vpm too 2020-05-20 12:04:28 +03:00
Delyan Angelov
931c846602 os: cleanup code duplication for os.create and os.open 2020-05-19 13:38:06 +03:00
Alexander Medvednikov
03525843a0 parser: do not allow calling private functions 2020-05-18 22:54:11 +02:00
Uwe Krüger
2635be511f
all: re-apply C++ support 2020-05-18 21:38:06 +02:00
Alexander Medvednikov
07a78b2843 Revert "all: C++ compiler support"
This reverts commit 9a237c3e82.
2020-05-18 17:05:48 +02:00
Uwe Krüger
9a237c3e82
all: C++ compiler support 2020-05-18 15:51:36 +02:00
yuyi
7f4cf08516
parser: check (mut f Foo) syntax 2020-05-17 13:51:18 +02:00
asvvvad
e245e22875
os: make exists_in_system_path function public 2020-05-16 22:46:05 +02:00
asvvvad
57dd26650c
os: add new function exists_in_system_path 2020-05-16 17:10:34 +02:00
Enzo Baldisserri
f44a40eee0
checker: check incorrect names 2020-05-16 16:12:23 +02:00
Alexander Medvednikov
d7c4630d33 checker: make pub field check an error 2020-05-09 18:34:07 +02:00
Alexander Medvednikov
c64f8b0d1f parser/checker: pub: struct fields 2020-05-09 15:16:48 +02:00
Alexander Medvednikov
a0ca68ce3f checker: do not allow string(int) 2020-05-05 15:26:42 +02:00
Alexander Medvednikov
32a7bd3a48 parser/checker: do not allow using private types from other modules 2020-05-04 21:56:41 +02:00
Delyan Angelov
acd80f052b
tests: improve diagnostic output on failure 2020-05-04 11:21:25 +03:00
joe-conigliaro
9f76a7b250
parser: simplify unused vars & add loop/if vars etc 2020-04-27 23:16:31 +10:00
yuyi
2574dce174
all: fix remaining []array warnings 2020-04-26 16:25:54 +02:00
yuyi
9f4d498ff1
all: updateimport () and []array 2020-04-26 13:49:31 +02:00
Alexander Medvednikov
3ab8dc0092 parser: array init: []string => []string{} 2020-04-26 09:17:17 +02:00
Delyan Angelov
86ba1645b0 os: add os.input(prompt) 2020-04-25 22:04:12 +03:00
yuyi
ec9566988a
cmdline: minor optimizaztion 2020-04-25 17:49:51 +02:00
Enzo Baldisserri
323ca2b3bb
checker: check duplicates on match with no else
Refactor match duplication test to work even if there is not else, and to include every expression.
Add tests for duplicate expressions in match.
2020-04-24 17:04:39 +03:00
Delyan Angelov
ebc41375f1 os.executable: fix panic when os.executable_fallback fails (early in startup) 2020-04-23 21:53:18 +03:00
Alexander Medvednikov
1b6ae00966 os: rename os_nix.v to os_nix.c.v 2020-04-11 20:43:17 +02:00
lutherwenxu
dc4db87be3
vlib: use new filename format 2020-04-11 19:51:32 +02:00
Delyan Angelov
3abbdd4a39 tests: fix vlib/os/environment.v 2020-04-08 18:01:19 +03:00
Delyan Angelov
b9ec1479e4 checker: allow again fallthrough in or{} blocks of option calls without assignment 2020-04-08 02:56:24 +03:00
Daniel Däschle
0024ff848d
parser: check if the last or {} block expression is valid
These checks allows for:

a) `x := call() or { 'abc' }`
b) `x := call() or { panic('abc') }`
c) `x := call() or { exit(123) }`
d) `x := call() or { continue }`
e) `x := call() or { break }`
f) `x := call() or { return }`

... but produce errors for:

g) `x := call() or { println('an error') }` , etc.
2020-04-07 17:36:00 +03:00
Delyan Angelov
206c1f4ca1 os: implement os.is_writable_folder/1 2020-04-05 16:56:54 +03:00
Daniel Däschle
e077cce103
vlib: add inode/mode information functionality (#4242)
* vlib: add inode/mode information functionality

* vlib: add docs to inode
2020-04-05 00:37:13 +03:00
yuyi
0796eb4149
os: optimize os_windows.v 2020-04-04 11:59:25 +02:00
Alexander Medvednikov
1d52847924 checker: error on an unknown ident 2020-04-03 10:52:48 +02:00
Alexander Medvednikov
5b53b3d7e3 cgen/os: minor fixes 2020-04-02 14:00:28 +02:00
Alexander Medvednikov
5b835d294c more windows fixes + bring back windows ci 2020-04-02 13:44:46 +02:00
Alexander Medvednikov
1178bfa578 windows: a temp SUCCESS fix 2020-04-02 13:31:37 +02:00
Alexander Medvednikov
d9c7253836 windows: "".to_wide() fixes 2020-04-02 13:24:23 +02:00
Alexey
cedf185b41
v2: fix Windows errors 2020-03-28 10:19:38 +01:00
Alexander Medvednikov
473d9fef55 checker: do not allow extra () in if conditions 2020-03-27 14:57:19 +01:00
yuyi
9c5de77f12
os: ext => file_ext 2020-03-26 14:18:08 +01:00
Delyan Angelov
d54843275f
os_test.v: simplify cleanup 2020-03-26 00:09:30 +01:00
Alexander Medvednikov
7070b1cda9 cgen: GotoStmt, err variable 2020-03-25 17:24:55 +01:00
Delyan Angelov
2a7bc63919
vmft2: support for multiline comments, CompIf, AssertStmt, octal literals 2020-03-24 22:18:58 +01:00
Alexander Medvednikov
0e240458d3 os: fix os_test 2020-03-24 17:16:00 +01:00
Alexander Medvednikov
32c8eb6490 os: vfmt os_test.v 2020-03-24 16:18:37 +01:00
Alexander Medvednikov
f101e9b9e2 v2: string fixes, is_dir fix 2020-03-24 11:14:11 +01:00
Alexander Medvednikov
b69ebd73b2 cgen: minor fixes. v2 can now compile itself! 2020-03-22 16:55:42 +01:00
Alexander Medvednikov
2738a0c776 cgen: backtrace and sigaction fixes 2020-03-22 14:47:45 +01:00
Alexander Medvednikov
ab3f6d9202 cgen: generate indents for more readable C code 2020-03-22 10:12:45 +01:00
Naheel
c50c6812ce
os: fix cp() spaces in files names 2020-03-22 08:43:24 +01:00
Alexander Medvednikov
e5f6a0949f cgen: autofree: first step 2020-03-21 19:52:19 +01:00
Delyan Angelov
ba088056ed
solaris: make 'v test-compiler' pass (stage 2) 2020-03-21 09:48:02 +01:00
yuyi
2f27758a4b
os: realpath => real_path 2020-03-20 16:41:18 +01:00
yuyi
010f3efcf0
os: filename => file_name 2020-03-19 15:49:07 +01:00
Joe Conigliaro
126ef0f5c2 checker/gen: add unchecked exprs & small fixes 2020-03-18 19:56:19 +11:00
Delyan Angelov
19f9c18305
os: make executable() more robust 2020-03-13 22:19:02 +01:00
Alexander Medvednikov
973b5c226a cgen: optionals fixes 2020-03-13 12:22:36 +01:00
yuyi
8ff86dbee6
os: is_abs => is_abs_path 2020-03-10 16:09:37 +01:00
yuyi
57b1b12ab6
os: tmpdir => temp_dir 2020-03-10 15:02:09 +01:00
Delyan Angelov
7036ca55e6
os: implement os.environ() (part 2/2) (#3971) 2020-03-10 14:25:16 +01:00
yuyi
876b73f92c
os: join => join_path 2020-03-09 02:23:34 +01:00
yuyi
a569959fb8
os api: cachedir => cache_dir 2020-03-08 15:57:47 +01:00
yuyi
23b11c84b1
os api: basedir => base_dir 2020-03-08 15:43:56 +01:00
yuyi
783dee1f48
os: merge with filepath 2020-03-07 22:26:26 +01:00
Alexander Medvednikov
b7e2af8151
os: better deprecated message 2020-03-04 20:29:17 +01:00
Alexander Medvednikov
f27f832ede cgen: definitions + other fixes; calloc fix 2020-03-04 17:08:28 +01:00
yuyi
448ed41562
os api: rmdir_recursive => rmdir_all 2020-03-03 15:02:50 +01:00
yuyi
ea10f44fe6
os api: flush_stdout => flush 2020-03-03 00:00:30 +01:00
yuyi
8ac0739858
os api: cp_r => cp_all 2020-03-02 19:30:04 +01:00
Alexander Medvednikov
7f5a15372f os: fix get_raw_line() + minor v2 fixes 2020-02-28 14:05:20 +01:00
Nicolas Sauzede
f5fdbfd004
os: fix getline warning for linux 2020-02-28 02:43:42 +01:00
Alexander Medvednikov
a5db9c3519 os: bring back write_bytes_at() 2020-02-27 00:41:05 +01:00
spaceface777
ef8c1203b4
cleanup: replace C for loops with range 2020-02-24 17:55:16 +01:00
SleepyRoy
7d2eb4f604
scanner: make 0o prefix the only way to define octals 2020-02-23 23:43:04 +01:00
yuyi
9d2a60bb11
os: optimize os_windows.v 2020-02-23 20:46:13 +01:00
yuyi
1a1aa267b7
vlib: remove malloc unsafe warning 2020-02-22 12:41:24 +01:00
yuyi
b325320f29
os: minor fixes 2020-02-21 20:14:01 +01:00
Alexander Medvednikov
b309e7d0e5 type_to_str() 2020-02-21 14:47:42 +01:00
yuyi
527377dc86
fix os_test.v 2020-02-21 12:24:13 +01:00
Alexey
8677a5981c
os: use unified way to deprecate functions 2020-02-20 23:00:02 +01:00
vitalyster
2e1dbd9f5a
windows: use %USERPROFILE% for os.home_dir() 2020-02-18 02:12:10 +01:00
yuyi
6849a4e770
filepath: path separator (#3756) 2020-02-17 20:31:23 +01:00
yuyi
e272a10bda
vfmt fixes 2020-02-16 12:42:28 +01:00
Alexander Medvednikov
9610821884 v2: defer; match a,b; if x := 2020-02-11 10:26:46 +01:00
yuyi
c1c2b648ab
os: typo in wait 2020-02-10 18:48:01 +01:00
joe-conigliaro
94537c5901
compiler: scope type alias to module 2020-02-09 15:40:31 +01:00
Delyan Angelov
1618596218
os: fix compiler warnings when just importing os 2020-02-05 11:23:49 +01:00
Delyan Angelov
da21b50750
gg,os: minimize memory allocation 2020-02-03 04:01:39 +01:00
Alexander Medvednikov
9f4661391d v2: simplify the type system; an initial version of the V interpreter 2020-02-02 07:56:18 +01:00
radare
2fbfbf45c7
os: simplify read_lines( 2020-01-31 15:59:23 +01:00
Shun Sakai
c8c43a2475 update copyright year 2020-01-23 21:04:46 +01:00
KJ Lawrence
ae3d84df6b os: add open_file function 2020-01-21 16:58:47 +01:00
Delyan Angelov
f317b65808 ui: fixes so that the ui demo works on linux too
* Implement os.resource_abs_path/1 .
* Implement glfw.get_window_size and glfw.get_framebuffer_size .
2020-01-12 19:35:06 +01:00
Alexander Medvednikov
b6c0b22742 interfaces fixes; freetype.text_width(); gl and stbi fixes 2020-01-12 16:11:28 +01:00
vitalyster
66a6fa163e windows: read console using ReadFile/ReadConsole (#3387) 2020-01-10 14:06:40 +01:00
r00ster
025efcb731 os: add is_executable, is_writable and is_readable 2020-01-06 09:15:06 +01:00
Delyan Angelov
4c3df963fa v repl: fix println regression on linux 2020-01-05 22:49:09 +01:00
Delyan Angelov
8053175ead android: fix os.create and builtin 2020-01-05 20:13:35 +01:00
Delyan Angelov
67f397f888 os: implement os.cachedir() . Use it inside os.tmpdir() too 2020-01-03 19:46:23 +01:00
Alexander Medvednikov
b7663848ef os: fix create() 2020-01-01 12:57:27 +01:00
Alexander Medvednikov
47908c22df cgen_test: skip empty lines; os: make vc_gen compile 2020-01-01 12:50:25 +01:00
Alexander Medvednikov
78c706ab71 Revert "enable macos syscalls"
This reverts commit d226fa7b17.
2020-01-01 12:24:50 +01:00
Alexander Medvednikov
d226fa7b17 enable macos syscalls 2020-01-01 12:10:39 +01:00
Alexander Medvednikov
96d02849aa parser: parse_file(path) 2020-01-01 10:15:05 +01:00
Alexander Medvednikov
87cff0386c time: gmt offset; macos syscalls 2020-01-01 10:09:19 +01:00
Alexander Medvednikov
4424f83470 os: disable write_bytes_at() and read_bytes_at() for now 2019-12-31 11:43:10 +00:00
Alexander Medvednikov
f9cc419dba os: syscalls 2019-12-31 10:16:34 +00:00
mY9Yd2
6cee50afda os: fix tmpdir on unix 2019-12-30 05:25:26 +01:00
Delyan Angelov
a0f32f5c29 tests: improved test output formatting 2019-12-30 05:23:54 +01:00
Abdullah Atta
4f173c8900 vpm: implement & improve install, search, update, remove 2019-12-30 05:22:28 +01:00
Nicolas Sauzede
4925aa594b os: fix deprecated os.dir to work as advertised 2019-12-28 08:49:27 +01:00
Don Alfons Nisnoni
06fba73ab9 os: add os.symlink() function 2019-12-27 19:10:06 +01:00
vitalyster
2f23ee4818 windows: cleanup after bootstrapping with unicode entrypoint 2019-12-27 19:07:31 +01:00
Delyan Angelov
6c16bac908 vfmt: it can now be used for _platform.v files too, no matter the host os 2019-12-27 17:59:04 +01:00
vitalyster
3f0f8bac49 windows: do not link gdi32/shell32 to console applications
* read os.args from argv when we have console
* dynamically load CommandLineToArgvW when we are GUI app
* link gdi32/shell32 in glfw module
2019-12-27 11:27:19 +03:00
Delyan Angelov
96fa15c125 v fmt: process .v files from a module too 2019-12-24 05:43:31 +03:00
Alexey
dced76d1a4 os, filepath: reorganize functions 2019-12-23 13:09:22 +03:00
Alexander Medvednikov
848cd3cb3e run vfmt on http, net, sync, strconv 2019-12-22 01:57:50 +03:00
Alexander Medvednikov
6210984c97 run vfmt 2019-12-20 02:09:56 +03:00
Alexander Medvednikov
519f2990f2 vfmt: minor fixes 2019-12-19 10:02:47 +03:00
Delyan Angelov
4b7aa4ec09 freebsd: fix compilation 2019-12-18 13:21:20 +03:00
Abdullah Atta
20e73ff69a os: fix nreadelements naming 2019-12-18 08:22:52 +03:00
prime31
f00f9fbf5a os: fix bug where read_bytes would return only the first byte 2019-12-18 00:16:56 +03:00
Alexander Medvednikov
b8f728590b string: last_index ?int 2019-12-12 21:54:48 +03:00
Delyan Angelov
1bb38a38bb tooling: add tools/oldv , for use with 'git bisect', or for testing with older V 2019-12-08 20:21:17 +03:00
Alexander Medvednikov
49f960aea5 fix some windows cast warnings 2019-12-07 22:42:20 +03:00
Alexander Medvednikov
9cba3bdf78 windows: WideCharToMultiByte() returns an int 2019-12-07 17:31:07 +03:00
Alexander Medvednikov
2fb7fba856 require else in match statements 2019-12-07 17:01:44 +03:00
Alexander Medvednikov
f51784ee01 remove unnecessary casts everywhere 2019-12-07 15:51:00 +03:00
Delyan Angelov
353805e170 os: test is_link() 2019-12-06 12:09:35 +03:00
BilligsterUser
0a38b307cd os_test: use rmdir() to del dirs 2019-12-05 17:08:55 +03:00
Nicolas Sauzede
9d854c5df0 vlib: sdl module + tVintris example 2019-12-05 11:25:55 +03:00
Alexander Medvednikov
e707ac4f28 test v -live message.v 2019-12-05 00:17:38 +03:00
Alexander Medvednikov
2144c162c4 os: is_link() 2019-12-04 23:53:11 +03:00
Alexander Medvednikov
a57e29dfc5 os: replace dir_exists with is_dir; file_exists() => exists() 2019-12-04 23:17:45 +03:00
Alexander Medvednikov
b2b34e18e4 use the new &C.Foo(0) cast 2019-12-04 12:19:32 +03:00
Alexander Medvednikov
2bafd41183 &C.Foo(0) cast to replace &C.Foo{!} hack 2019-12-04 12:13:17 +03:00
bogen85
a9aaa13a09 freestanding: sys_getuid, sys_waitid; minimal fork check; remove bare.S 2019-12-04 11:46:09 +03:00
Delyan Angelov
eb20dd39b1 freestanding: init consts 2019-12-04 01:40:26 +03:00
Alexander Medvednikov
66f271f100 fix a string interpolation bug 2019-12-03 20:41:49 +03:00
Alexander Medvednikov
f192429c8a $if mac => $if macos 2019-12-03 16:29:37 +03:00
Enrico Lefass
6d28a80bf8 haiku support (part 2) 2019-12-03 11:26:47 +03:00
Delyan Angelov
ec15bfb7d1 v test v => v test-compiler 2019-12-01 12:50:13 +03:00
Alexander Medvednikov
3fea8f3de5 *char => charptr everywhere 2019-12-01 10:33:26 +03:00
Alexander Medvednikov
7e4799334f array: make left/right/slice private 2019-11-30 12:37:34 +03:00
Alexander Medvednikov
1bfcdaa2cc ci: test the new prebuilt packages 2019-11-29 19:14:26 +03:00
Delyan Angelov
7545ea709a enable alpine/musl CI tests 2019-11-28 11:46:52 +03:00
Unknown User
268a6dc6d9 add missing cfns 2019-11-25 04:35:41 +03:00
Alexander Medvednikov
24b40be548 default struct vals 2019-11-24 13:53:59 +03:00
Alexander Medvednikov
7cc21be7de clipboard: make compile on Linux 2019-11-24 13:22:57 +03:00
Alexander Medvednikov
f4fe90ea6d C fn definitions on Linux 2019-11-22 19:00:56 +03:00
Alexander Medvednikov
e9e931fe4a force C function definitions 2019-11-24 12:14:22 +03:00
Alexander Medvednikov
1f93bb5a9a os: windows fixes 2019-11-23 21:40:32 +03:00
Alexander Medvednikov
cfd4f0c69c os: fix fullpath call on windows 2019-11-23 21:05:49 +03:00
Alexander Medvednikov
ccb261f00d os: fix unreachable code 2019-11-23 21:00:20 +03:00
Alexander Medvednikov
0aa2196eec os: fix realpath on windows 2019-11-23 20:56:22 +03:00
Don Alfons Nisnoni
3a6ccf7f31 os: mkdir() error handling 2019-11-23 19:55:18 +03:00
Alexander Medvednikov
9712213f50 x64 machine code generation (ELF) 2019-11-22 14:33:22 +03:00
Delyan Angelov
a620e66af5 compiler: add os.mv_by_cp and use it for the temporary files 2019-11-19 12:55:02 +03:00
Alexander Medvednikov
20d6492775 os: make read_lines() return ?[]string 2019-11-19 02:25:55 +03:00
Alexander Medvednikov
52e3586be3 os: use mkdir() on Linux for now 2019-11-19 00:33:43 +03:00
joe-conigliaro
6d7fe1f83c fix vtool used with paths w/spaces (win/nix) 2019-11-17 14:36:05 +03:00
Delyan Angelov
be7cf3e812 compiler: support storing temporary files under TMPDIR/v/
Fix for filepath.join not \0 terminating its result
2019-11-17 06:45:20 +03:00
Alexander Medvednikov
5a1de13e10 bare: fix str[idx] 2019-11-16 23:22:40 +03:00
Alexander Medvednikov
a545ccb740 bare: stdint.h 2019-11-16 11:24:25 +03:00
Alexander Medvednikov
d1b8d34dd5 os_linux.v 2019-11-16 09:16:51 +03:00
Nicolas Sauzede
1dadf9d966 fix Windows warnings 2019-11-16 02:30:50 +03:00
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