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

540 Commits

Author SHA1 Message Date
Delyan Angelov
0ba5544446 checker: add a check for ptr = Abc{} 2020-11-07 21:19:46 +02:00
spaceface777
a9e9554b11
all: fix most C warnings (#6758) 2020-11-06 16:26:59 +02:00
Alexander Medvednikov
1b1d17cfb5 os: basic proof of concept stdout capture; autofree: small fixes 2020-11-05 08:44:37 +01:00
Ekopalypse
cc4bb71f29
os: prevent unnecessary dependencies when importing os on windows (#6741) 2020-11-04 10:19:46 +02:00
Delyan Angelov
f7698ea160 v symlink: fix windows PATH setting (cmd.exe needs C: not c:) 2020-10-22 17:31:37 +03:00
Delyan Angelov
50a2b033b7 ci: fix failing tests on windows too 2020-10-15 15:54:44 +03:00
Alexander Medvednikov
7da1afa140 all: switch to the new fn arg syntax everywhere; add lots of vfmt -verify tests 2020-10-15 12:32:28 +02:00
Delyan Angelov
3795aaab5c v test-fmt: reformat some skipped files, comment on the remaining ones 2020-10-15 00:39:09 +03:00
Ekopalypse
2622070f14
os: ensure that setenv creates the key on windows (#6560) 2020-10-04 19:43:28 +02:00
Enzo
fd88bfbac8
fmt: fix formatting of anon args (#6545) 2020-10-04 06:32:47 +02:00
Alexander Medvednikov
4879661f5a os: remove base_dir(); dir() and base() fixes 2020-10-01 01:25:52 +02:00
Lukas Neubert
3a8be4d8d9
os: home_dir() remove trailing slash (#6512) 2020-09-30 16:02:54 +02:00
Delyan Angelov
dc954bbb03 all: use macos consistently in os.user_os and the compiler 2020-09-29 22:32:20 +03:00
Delyan Angelov
03258db26d ci: other mut vlib test fixes 2020-09-27 11:18:55 +03:00
Alexander Medvednikov
e2c7126d11 checker: verify mutability of method args 2020-09-27 03:14:24 +02:00
Daniel Däschle
abc98c273c
parser: require assign on type alias (#6477) 2020-09-25 12:02:32 +02:00
Marcin
34884c1631
os: fix binary mode read/write on windows (#6431) 2020-09-20 16:28:45 +02:00
Daniel Däschle
c960b5979e
vlib: fix incompatible pointer warning (#6385) 2020-09-16 17:40:02 +03:00
Nick Treleaven
b552c29bef
os: add fn read_bytes_into with buffer argument (#6365) 2020-09-14 15:34:34 +02:00
Delyan Angelov
2bd4355a4c os: add check for path.len == 0 in vfopen 2020-09-13 18:08:58 +03:00
Delyan Angelov
8c71ba8912 os: add more error checking for os.read_bytes and os.read_file 2020-09-13 18:03:19 +03:00
Delyan Angelov
60ecb7e4b6 os: change f.write and f.writeln to return options too 2020-09-12 08:39:28 +03:00
Delyan Angelov
ce6d2759f5 os: add os.open_stdin/0 and os.File.get_line/0 2020-09-10 16:57:03 +03:00
Larpon
51d7d7cfae
os: fix os.mv edge case and Windows style paths (#6302) 2020-09-06 13:12:07 +02:00
Larpon
b4b898b769
os: enable is_file tests (#6312) 2020-09-06 12:39:02 +02:00
Larpon
81778e507f
os: is_file() (#6301) 2020-09-04 22:27:52 +02:00
Larpon
efa49bfbb7
os: make behave more like Unix "mv" command (#6300) 2020-09-04 13:08:47 +02:00
Delyan Angelov
718a4692dd os: enable test_write_and_read_bytes again 2020-08-29 07:43:31 +03:00
Maciej Obarski
7bd2804ce9
all: automatic error propagation in place of "or { return(err) }" 2020-08-29 01:58:03 +02:00
Delyan Angelov
5d18ece661 ci: fix msvc finding (3) 2020-08-28 20:06:41 +03:00
Delyan Angelov
dde1b89c5e vup: remove empty new line on unix 2020-08-28 19:09:47 +03:00
Maciej Obarski
2ce5797ec2
os: vfopen returns option now (#6244) 2020-08-28 14:24:00 +02:00
Larpon
d982aa54e8
os: add missing documentation (#6234) 2020-08-27 16:57:01 +02:00
Alexander Medvednikov
15bdb8f7cd autofree: tmp arg var frees fixes 2020-08-27 11:30:35 +02:00
Alexander Medvednikov
6921d46185 all: rune type for `` literals 2020-08-27 06:46:37 +02:00
Delyan Angelov
9b171b76e0 os: call os.real_path/1 before returning in os.find_abs_path_of_executable/1 2020-08-20 19:23:19 +03:00
Nick Treleaven
217f04e311
checker: disallow casting to bool, use some_int != 0 instead (#6138) 2020-08-19 14:37:55 +02:00
spaceface777
c1651bd271
gg: fixes and Android support (#6161) 2020-08-19 07:10:42 +02:00
Yarila682
29528196f2
os: close opened file descriptors in cp() (#6142) 2020-08-16 04:55:10 +02:00
Nick Treleaven
bab5c21224
parser: warn when fixed-size ArrayInit doesn't have trailing {}. (#6137) 2020-08-16 04:54:05 +02:00
Delyan Angelov
36eae1c175
builtin: x.vstring() instead of string(x) (#6102) 2020-08-10 18:05:26 +02:00
Nick Treleaven
2dd90de993
parser: error on [unsafe_fn] (#6090) 2020-08-09 12:22:11 +03:00
Larpon
09f1362305
os: let temp_dir adhere to posix/fhs version 3.0 on linux and mac (#6069) 2020-08-05 19:02:57 +02:00
Delyan Angelov
f331f63f53 ci: fix windows build 2020-08-05 09:09:18 +03:00
Delyan Angelov
5874d7c5ab os: add os.getpid(), use it in os.is_writable_folder on windows 2020-08-05 09:04:40 +03:00
Delyan Angelov
ab7936f514 os.exec: on unix return error, when the command was not found, instead of os.Result 2020-08-05 07:11:51 +03:00
dils2k
8dede3b535
builder: add a verror, when the output folder is not existing and writable (#5966) 2020-08-03 18:19:36 +03:00
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