Commit Graph

5339 Commits (63557d0d0237ad00f5d65e7f5a748d2b0652058f)

Author SHA1 Message Date
Tomas Hellström 7c394b9d58
x.websocket: docs and cleanup (#7078) 2020-12-02 04:02:53 +01:00
Alexander Medvednikov 953a51bec8 autofree: fix an off by 1 error 2020-12-02 03:45:08 +01:00
Lukas Neubert 8adc8ed103
parser: do not fail on comment direct after import (#7071) 2020-12-01 22:32:34 +02:00
Delyan Angelov 394e9c4c56
builder: replace single `goto start` usage, with `for { ... continue ... break}` 2020-12-01 22:11:44 +02:00
Alexander Medvednikov c5cd53ca79 parser: bring back old $if position calculation 2020-12-01 18:59:33 +01:00
Alexander Medvednikov 0ff541375d autofree: fix a bug with $if and add a test 2020-12-01 18:58:16 +01:00
Alexander Medvednikov 3612bd58ef fmt: revert the fn \n change 2020-12-01 17:00:06 +01:00
Alexander Medvednikov 0ddf0a4b92 gg: custom bold font path 2020-12-01 16:30:25 +01:00
yuyi d3deaa1f59
cgen: fix typeof variadic type (#7063) 2020-12-01 16:11:37 +01:00
Daniel Däschle 5b6eb7b2c9
cgen: simplify .str() generation (#7038) 2020-12-01 16:09:03 +01:00
Ned Palacios 54e03f60b9
x.json2: remove builder methods (#7008) 2020-12-01 16:23:59 +02:00
yuyi 6a1e0322bd
gen: fix interpolation variadic (#7059) 2020-12-01 12:40:38 +02:00
joe-conigliaro f1965c0510
ast: fmt ast.v 2020-12-01 21:20:27 +11:00
joe-conigliaro 88835a0456
cgen: remove some nasty replacements 2020-12-01 21:17:19 +11:00
joe-conigliaro 9b583f51f1
ast: remove field which should have been removed in #34e124d 2020-12-01 20:15:35 +11:00
joe-conigliaro 34e124d5f7
cgen: auto cast sum type in array init. fixes #6907 2020-12-01 20:03:45 +11:00
Delyan Angelov fe0ded9a91
tests: add a regression test for the inter module generics inference 2020-12-01 08:07:07 +02:00
joe-conigliaro a7d917474d
checker: simplify generic fn post processing 2020-12-01 16:43:10 +11:00
joe-conigliaro 0e54b9acb5
checker: remove debug println introduced in 4f658ec 2020-12-01 15:14:30 +11:00
joe-conigliaro 4f658ec292
fix auto inferred generic call of mod.func(). closes #6263 2020-12-01 15:10:06 +11:00
Alexander Medvednikov f4bd953771 pref: vfmt 2020-12-01 04:16:36 +01:00
Alexander Medvednikov f26f7ebc9d pref: nocache option 2020-12-01 04:05:44 +01:00
Leah Lundqvist ab225ff154
jsgen: fix JS.@typeof (#7055) 2020-12-01 04:02:10 +01:00
Lukas Neubert 552de94da6
sqlite: add Windows instructions to readme (#7041) 2020-12-01 04:00:41 +01:00
Daniel Däschle 879d238887
cgen: initial option auto str support (#7004) 2020-12-01 04:00:23 +01:00
Daniel Däschle 6af082e70e
doc: detailed documentation of the compiler pipeline (#7043) 2020-12-01 03:58:39 +01:00
spaceface777 83137cbe84
pref: don't use tcc by default in -prod mode (#7053) 2020-12-01 03:58:02 +01:00
spaceface777 0248e4955d
gen: fix `undef`ing __has_include on macos tcc (#7057) 2020-11-30 21:56:17 +02:00
Delyan Angelov 7511d6e4e8 builder: fix building thirdparty C files with tcc, when run outside vroot 2020-11-30 21:48:21 +02:00
Delyan Angelov 5bca6a4bfe cgen: undef *earlier* __has_include for tcc 2020-11-30 21:29:48 +02:00
Delyan Angelov ff42572e93 builder: show the C compiler output on -show-c-output, NOT on -showcc 2020-11-30 20:30:47 +02:00
Larpon ed08d96932
builtin: remove old type prefixes, add a few missing documentations, add missing punctuation (#7037) 2020-11-30 18:51:00 +01:00
Delyan Angelov b11d285680
v: support multiple paths in VMODULES env variable (#7048) 2020-11-30 18:31:37 +01:00
Alexander Medvednikov 376833aea7 builder: show tcc compiler error with -v and -showcc 2020-11-30 17:47:38 +01:00
Lukas Neubert a98162118b
fmt: orm delete (#7035) 2020-11-30 14:02:36 +01:00
Uwe Krüger a128ab4313
cgen: add support for shared maps (#7042) 2020-11-30 13:25:14 +01:00
Swastik Baranwal e3fab7e076
parser: add an error for an invalid string prefix (#7019) 2020-11-30 10:58:00 +02:00
yuyi 39b46e95a0
gen: minor optimization in `type_to_fmt()` (#7028) 2020-11-30 09:35:55 +02:00
yuyi f7cc3d3718
gen: minor cleanup in gen_expr_to_string() (#7026) 2020-11-30 09:16:50 +02:00
Delyan Angelov aae5812337 os: cleanup os.find_abs_path_of_executable/1 2020-11-30 08:40:39 +02:00
Alexander Medvednikov 05eeb8aa53 token: remove old keyword "embed" 2020-11-30 03:11:40 +01:00
joe-conigliaro ff63fb74d9
dont allow method on non-local types & no mod for arrays. closes #6971 2020-11-30 11:43:22 +11:00
ka-weihe 9367dcda10
all: fix remaining c warnings and add -Werror to CI (#7021) 2020-11-29 21:23:37 +02:00
spaceface777 4e6bc27b30
compiler: fix self compilation with cached modules on macOS (#7023) 2020-11-29 19:30:35 +01:00
Alexander Medvednikov c7cefa9ce6 json: fix encoding pointers 2020-11-29 17:45:22 +01:00
Delyan Angelov adeebad2a6
compiler: use thirdparty/tcc/tcc.exe by default, when no explicit -cc is given (#6598) 2020-11-29 16:18:49 +01:00
yuyi 0b96cd50e1
scanner: fix escape `\u` (fix #6849) (#7012) 2020-11-29 17:01:40 +02:00
Ned Palacios 6c634086b0
json2: decode fn returns `?T`; add new tests (#6933) 2020-11-29 14:54:45 +01:00
Nick Treleaven 8f15af6adc
pref: add -m32, -m64 command-line options (#7011) 2020-11-29 14:53:49 +01:00
joe-conigliaro 91eca539d0
all: -usecache fixes and self compilation & some type cname optimisation (#7015) 2020-11-29 14:10:45 +01:00
Swastik Baranwal 3afa606154
vfmt: fix eating `c` in `c'foo'` (#7009)
* fmt: add formatting for cstrs

* fmt
2020-11-29 10:39:50 +02:00
Takahiro Yaota 49a083fe79
time: improve parse_iso8601 (#7006) 2020-11-29 10:38:14 +02:00
Larpon 1192dfdc8a
term.ui: document functions (#6979) 2020-11-29 08:32:04 +02:00
Delyan Angelov a6f1667bce checker: make `sym == typ` an error 2020-11-29 00:43:06 +02:00
yuyi f336c2c5cc
scanner: fix error of backslash escaping x in ident_string(fix #6850) (#6994) 2020-11-29 00:39:45 +02:00
Daniel Däschle 32c027a0bf
parser: disallow ptr type as sum type variant (#6996) 2020-11-28 23:40:40 +02:00
Nick Treleaven 6da6a082c7
parser: fix showing error position for pratt.v (#6997) 2020-11-28 23:39:45 +02:00
Alexander Medvednikov 159abd4727 autofree: fix unused var error 2020-11-28 20:33:32 +01:00
Alexander Medvednikov 91007e87d2 autofree: remove old code 2020-11-28 20:26:32 +01:00
Alexander Medvednikov cb3367d734 autofree: free_before_break() test 2020-11-28 20:23:54 +01:00
Delyan Angelov 321daede1d cgen: fix a buggy comparison, add ability to do println(sym.debug()) 2020-11-28 19:48:53 +02:00
Alexander Medvednikov 0114333d34 autofree: fix _ 2020-11-28 16:45:08 +01:00
Swastik Baranwal aadeb62bbf
cgen: add a _T_ prefix in the C names for generic fn instances; fixes #6927 (#6999) 2020-11-28 17:07:07 +02:00
Daniel Däschle 6e4dad9acf
parser: fix position of array init (#6998) 2020-11-28 17:05:14 +02:00
Alexander Medvednikov ea04d23e1d tests: valgrind: use -autofree without -experimental 2020-11-28 15:53:08 +01:00
Alexander Medvednikov 57ad943b92 autofree: free arrays on re-assignment 2020-11-28 15:21:53 +01:00
Alexander Medvednikov ed39d151b7 V 0.1.30 2020-11-28 04:43:11 +01:00
Alexander Medvednikov 86b5f7ef5d string: fix ustring.free() 2020-11-28 03:41:43 +01:00
Alexander Medvednikov c3ed8bb5da autofree: remove old code 2020-11-28 02:28:43 +01:00
Delyan Angelov ac27a3ccee parser,cgen: improve `[flag]enum Abc{ a b }`, allow `x := Abc.a | Abc.b` 2020-11-27 23:09:14 +02:00
Daniel Däschle 18cf36a22c
parser: remove unnecessary match as code (#6972) 2020-11-27 22:25:08 +02:00
yuyi 64fa5e6383
szip: fix szip_test (#6980) 2020-11-27 21:20:43 +01:00
Alexander Medvednikov fcd127ed87 autofree: make -experimental the default 2020-11-27 20:49:48 +01:00
Alexander Medvednikov 13948152b6 cmd/v: rename reuse-tmpc to keepc 2020-11-27 20:16:24 +01:00
Delyan Angelov 1891f55c72 builtin: add voidptr.vbytes(len) and byteptr.vbytes(len) 2020-11-27 18:18:46 +02:00
Swastik Baranwal 2473f65278
cgen: minor cleanup (use replace_each) (#6978) 2020-11-27 16:13:30 +01:00
spaceface777 bbea7fb91f
docs: document the `[required]` struct attribute (#6956) 2020-11-27 15:37:12 +02:00
Delyan Angelov 7cd9530006 docs: fix most of the examples (ensure they at least have a valid syntax) 2020-11-27 13:03:32 +02:00
Delyan Angelov e6116c47be scanner: guarantee an early exit when the parser/scanner is stuck 2020-11-27 12:44:39 +02:00
yuyi 636efb3c20
cgen: fix windows escape errors for comptime @ pseudo vars (#6977) 2020-11-27 11:16:57 +02:00
Daniel Däschle ee2a5727fb
gen: fix assigning an anon fn to a struct field (#6965) 2020-11-27 11:15:48 +02:00
Delyan Angelov cbe607baf2 vfmt: fix compilation warning 2020-11-27 10:40:56 +02:00
Alexander Medvednikov 9b0c96d792 scanner: allow \r after $ 2020-11-27 03:27:34 +01:00
Alexander Medvednikov c27818e247 all: remove remaining broken escape sequences 2020-11-27 03:17:19 +01:00
Daniel Däschle 966b95ca4e
parser: move mut in if/match to expr (#6973) 2020-11-27 03:08:42 +01:00
Alexander Medvednikov 62ee436944 all: remove broken escape sequences after $ in strings 2020-11-27 03:07:37 +01:00
Daniel Däschle d71d9ad7c0
сgen: print generic structs (#6967) 2020-11-26 23:57:03 +01:00
spaceface777 6563535a3d
term.ui: simplify/fix the truecolor feature test (#6963) 2020-11-26 23:52:20 +01:00
Nick Treleaven ea8adfdbf9
gen: more efficient `for in` with a map (#6961) 2020-11-26 23:22:14 +01:00
Alexander Medvednikov 5e59718970 fmt: handle $tmpl 2020-11-26 18:53:38 +01:00
Alexander Medvednikov 5efd393af2 all: make comptime templates usable outside of vweb via $tmpl 2020-11-26 18:40:35 +01:00
Ruofan XU c6a8c3cad5
cgen: remove unneeded sumtype logic and add more tests (#6959) 2020-11-26 15:29:23 +01:00
Daniel Däschle 52b627feb3
checker: check filter, map and sort left type (#6952) 2020-11-26 11:28:54 +01:00
spaceface777 e03ae19372
term.ui: approximate colors into ansi if rgb isn't supported (#6951) 2020-11-26 00:28:57 +01:00
Takahiro Yaota 258f8f6af9
parser: report unused expression error in if and or blocks (#6953) 2020-11-26 00:28:41 +01:00
Larpon 2957541e48
pref: fix message on inferred run (#6947) 2020-11-25 21:44:26 +02:00
Daniel Däschle 8e2b7fe3d6
tests: cleanup sum type tests (#6950) 2020-11-25 20:40:29 +01:00
Delyan Angelov fa126b950a cgen: prevent `undefined symbol: tcc_backtrace` errors with tcc and `-shared -d no_backtrace` 2020-11-25 15:47:55 +02:00
Daniel Däschle 8446433bcf
parser: remove __type (#6946) 2020-11-25 14:27:15 +01:00
Delyan Angelov 35a0fe79f9 cgen: generate an unique sort comparator function for each .sort() call 2020-11-25 13:48:42 +02:00
Ekopalypse a46eda7c44
builder: fix dll generation on Windows (#6939) 2020-11-25 12:18:58 +01:00
Daniel Däschle 7d6f97259f
all: refactor UnionSumType to SumType (#6944) 2020-11-25 13:09:40 +02:00
Leah Lundqvist 96b73acad7
jsgen: optional "or blocks" (#6938) 2020-11-24 22:52:23 +01:00
Alexander Medvednikov 98034e5504 http: make download_file() return an optional 2020-11-24 18:07:08 +01:00
Daniel Däschle a042966082
all: remove old sumtype code (#6937) 2020-11-24 17:55:24 +01:00
Daniel Däschle aa6303f0b2
all: use the new types with old syntax (#6922) 2020-11-24 13:58:29 +01:00
Lukas Neubert 8be9bdacd1
fmt: do not wrap real multiline comments into single line in arrays (#6923) 2020-11-24 12:55:39 +01:00
pancake aa90625819
js: initial support for optional return unwrapping (#6926) 2020-11-24 12:54:26 +01:00
Daniel Däschle 789912238f
gen: generate typedef first on sum types (#6930) 2020-11-24 12:53:39 +01:00
Daniel Däschle 9fbf38c798
parser: fix generic structs from other modules (#6921) 2020-11-23 23:21:11 +01:00
Alexander Medvednikov e0d64903f8 table: rename atypes.v to types.v now that the order of the files is irrelevant 2020-11-23 18:19:51 +01:00
Takahiro Yaota 07fae5adf6
io: add a test for read_all (#6898) 2020-11-23 16:17:39 +01:00
Nick Treleaven 380e3640e3
gen: add panic message when using '?' with `none` (#6919) 2020-11-23 16:16:38 +01:00
Daniel Däschle 96539e43b5
all: nested sum types (#6913) 2020-11-23 16:16:13 +01:00
Takahiro Yaota 2f9b7fe0f7
vfmt: fix error with `return // comment` (#6914) 2020-11-23 11:36:20 +02:00
Nick Treleaven 51c737669d
checker: check labelled break/continue is inside a matching `for` loop (#6910) 2020-11-22 20:51:07 +01:00
Alexander Medvednikov a1827d7f98 autofree: handle array set/get 2020-11-22 20:48:23 +01:00
hirossan4049 67d5dfb315
gg: draw_rounded_rect() (#6909) 2020-11-22 20:13:40 +01:00
Alexander Medvednikov 311b5e8188 autofree: string.clone() fix 2020-11-22 13:45:12 +01:00
Alexander Medvednikov 65005fdae8 builtin: same fix for array.insert 2020-11-22 13:30:48 +01:00
Alexander Medvednikov f8827c3fe5 builtin: clone the strings correctly in array.push 2020-11-22 13:22:42 +01:00
Alexander Medvednikov ed7413ee51 autofree: handle SelectorExpr receivers 2020-11-21 23:19:04 +01:00
Daniel Däschle 22fdf76db5
gen: unwrap optional on if guard expr (#6903) 2020-11-21 22:40:05 +01:00
Alexander Medvednikov 2f50a9ea1f utf: fix utf32_to_str 2020-11-21 22:37:16 +01:00
Alexander Medvednikov 9a51f4e3c2 autofree: builtin fixes 2020-11-21 22:33:31 +01:00
Alexander Medvednikov 2afb9b30e9 autofree: minor fixes; skip in consts 2020-11-21 19:07:47 +01:00
Alexander Medvednikov ad940ff40e autofree: free parent scope vars only before fn returns 2020-11-21 18:23:50 +01:00
Delyan Angelov 2228d75657 ci: fix formatting of comptime.v 2020-11-21 19:04:31 +02:00
Delyan Angelov 018bd6aac3 os: fix flaky test in process_test.v 2020-11-21 18:01:21 +02:00
Delyan Angelov fa55c247a2 parser: add `-d print_vweb_template_expansions` to ease vweb template debugging 2020-11-21 17:59:02 +02:00
pancake 4b19a6e00d
js: fix code generation for `$if js` statements (#6896) 2020-11-21 15:40:37 +01:00
hirossan4049 54df7d1daf
gg: new draw_empty_rounded_rect() (#6891) 2020-11-21 15:40:02 +01:00
Tomas Hellström 155aa6dac5
x.websocket: fix autobahn tests for wss and wss close behavor (#6901) 2020-11-21 15:45:45 +02:00
Swastik Baranwal 650cdef8b4
checker: disallow array sum types without default field (#6892) 2020-11-21 00:07:25 +01:00
Daniel Däschle 838ad16296
all: refactor ast.Expr to use the new sum type implementation (#6792) 2020-11-21 00:05:57 +01:00
Alexander Medvednikov ff1752dfff gg: vfmt gg.v 2020-11-21 00:04:29 +01:00
Alexander Medvednikov c1486925d5 autofree: enable free_before_return test 2020-11-21 00:00:27 +01:00
Alexander Medvednikov 99bdb87a01 all: remove #objc for good 2020-11-20 23:49:52 +01:00
Delyan Angelov 9673d40bb9 ci: fix failing windows test run_v_code_from_stdin_test.v (2) 2020-11-20 16:57:44 +02:00
Takahiro Yaota f47c2468bb
net: fix socket.read_line with long lines #6842 2020-11-20 15:24:41 +01:00
Delyan Angelov 93d460f8fc ci: fix failing windows tests for `v run -` 2020-11-20 16:14:04 +02:00
Lukas Neubert 5d76e85a23
vfmt: fix extra whitspace in fn type decl with type-only args (#6888) 2020-11-20 15:00:40 +01:00
Alexander Medvednikov 30ddb89e3c gg: UI mode for much lower CPU usage in UI apps 2020-11-20 14:50:26 +01:00
Delyan Angelov 3c4b87bfec checker: add check against `fn test_opt() ?{}` 2020-11-20 15:12:53 +02:00
Nick Treleaven 9871d24929
fmt: fix labelled break & continue (#6889) 2020-11-20 14:12:40 +01:00
Nick Treleaven d5242e0bf5
gen: implement labelled break and continue (retry) (#6887) 2020-11-20 12:23:48 +01:00
Alexander Medvednikov 412e2a43e9 clipboard: fix clear() on macos 2020-11-20 12:00:16 +01:00
Ned Palacios 7c2c187743
vdoc: fix markdown and plaintext rendering (#6882) 2020-11-20 12:02:52 +02:00
Lukas Neubert ef3e8d2c84
vfmt: handle comments after type declarations (#6874) 2020-11-20 11:51:50 +02:00
Delyan Angelov d382db77ee ci: fix failing clipboard_test.v on MacOS 2020-11-20 11:44:26 +02:00