spaceface
1658c4789f
cgen: fix `match`ing interface types ( #8889 )
2021-02-22 14:55:43 +02:00
Nick Treleaven
15daeaeafa
cgen: add fixed array bounds checking for non-literal index ( #8832 )
2021-02-22 14:54:24 +02:00
Nick Treleaven
59446d7051
cgen: use `(void)` parameter list instead of `()` for type safety ( #8898 )
2021-02-22 14:48:32 +02:00
zakuro
f54c1a5cc2
all: add strings.Builder.write_string and use write_string instead of write ( #8892 )
2021-02-22 13:18:11 +02:00
Joe Conigliaro
0470baafa6
cgen: fix duplicate optional generation for struct field
2021-02-22 00:00:39 +11:00
yuyi
6e46f3850c
ast: change `expr.is_mut_ident()` to `expr.is_auto_deref_var()` ( #8869 )
2021-02-21 12:15:36 +02:00
yuyi
e106dc3ad5
cgen: fix match_return with complex expr stmts ( #8876 )
2021-02-21 11:47:46 +02:00
Nicolas Sauzede
f67a4c3ee0
checker, cgen: allow | between bitfield enum values, autogenerate a more specific .str method for them too ( #8856 )
2021-02-20 21:51:54 +02:00
Stanislav Ershov
30ed201600
cgen: cleanup header for MSVC ( #8863 )
2021-02-20 20:39:46 +02:00
Delyan Angelov
5a333b0fdc
gen,parser: allow enums as map keys
2021-02-20 19:39:25 +02:00
yuyi
e8abda189a
cgen: minor optimization in match_expr() ( #8848 )
2021-02-20 15:51:40 +02:00
yuyi
4878077c62
gen/c: fix gen_str_for_struct with custom ref str ( fix #7179 ) ( #8820 )
2021-02-18 18:19:42 +02:00
yuyi
a119affeba
cgen: check unknown sizeof type ( #8815 )
2021-02-18 09:38:57 +02:00
Nick Treleaven
0f8edd918a
checker: disallow `unsafe` map copy ( #8720 )
2021-02-17 05:19:25 +01:00
Delyan Angelov
2002d20249
io: remove unused Zzz_CoerceInterfaceTableGeneration struct; add test for `x := Enum{}`
2021-02-17 01:37:05 +02:00
Delyan Angelov
995e1c84a2
ci: fix `./v -cc gcc -cflags "-Werror" vlib/io/os_file_reader_test.v`
2021-02-17 01:08:28 +02:00
Delyan Angelov
fb09333a73
ci: fix interface table generation for vlib/io/os_file_reader_test.v with -cflags "-Werror"
2021-02-16 23:36:44 +02:00
Delyan Angelov
843de10442
parser,gen: fix `arr << map[key] using map_get_and_set_1, leading to double free
2021-02-16 16:39:31 +02:00
yuyi
982e35909d
cgen: fix `mut` var in `for` loop reads as address ( fix #8548 ) ( #8745 )
2021-02-16 13:24:19 +01:00
Nick Treleaven
01aa09d515
checker: do not allow copying any map lvalue ( #8662 )
2021-02-16 12:46:12 +01:00
Uwe Krüger
0520b755f4
checker/cgen: support `print*()`, `.str()` and '$x' for `shared` ( #8771 )
2021-02-16 12:40:13 +01:00
spaceface
fe007f9b16
gen: fix type_name for sumtype/interface pointers ( #8769 )
2021-02-15 17:35:31 +02:00
Louis Schmieder
4bdbb0cfa8
orm: add type detection of db ( #8756 )
2021-02-15 17:14:39 +02:00
yuyi
a9c2045dbd
cgen: fix var name clash of array/map ( fix #1994 ) ( #8765 )
2021-02-15 15:51:57 +02:00
Peter Badida
6781f732f4
gen: fix infinite loop when struct's ref field is pointing to self ( #8632 ) ( #8641 )
2021-02-15 15:43:10 +02:00
spaceface
e3649ec4d3
all: implement `type_name()` for interfaces too ( #8767 )
2021-02-15 15:29:44 +02:00
Delyan Angelov
eaaac220be
checker: make -skip-unused more conservative to make `v test vlib/builtin` pass
2021-02-13 15:47:17 +02:00
Delyan Angelov
0b60510c9c
cgen: cleanup generating helper comments with -skip-unused
2021-02-13 10:31:48 +02:00
Uwe Krüger
40066a5daa
checker: obey [ref_only] tag, allow embedding in other ref struct ( #8707 )
2021-02-13 00:47:37 +01:00
yuyi
67c6f24c84
cgen: format match_expr ( #8692 )
2021-02-12 03:37:31 +01:00
yuyi
3164e29651
all: fix fn_or_for_in mut value (part 1) ( #8671 )
2021-02-12 02:03:11 +02:00
Nick Treleaven
84a16d8684
map: add `move` method ( #8660 )
2021-02-12 02:02:33 +02:00
zakuro
f371803a32
cgen: move comp_if_to_ifdef to comptime.v ( #8668 )
2021-02-11 01:22:49 +01:00
Alexander Medvednikov
035a163454
json: encode_pretty (p. 2) + tests
2021-02-10 10:17:29 +01:00
Alexander Medvednikov
f67e4ab57c
json: encode_pretty (p. 1)
2021-02-10 10:13:06 +01:00
yuyi
95c3ef3a6a
cgen: minor cleanup in stmt() ( #8659 )
2021-02-09 23:00:43 +01:00
Uwe Krüger
f3c5f24c17
allow `lock` expression to return multiple objects ( #8657 )
2021-02-09 17:09:10 +02:00
Delyan Angelov
5308b63a01
ci: fix the `-cflags "-Werror"` job, by explicit casting to `void**`
2021-02-09 14:22:51 +02:00
Delyan Angelov
3d2afcf02e
cgen: fix gohandle_name generation (use .cname)
2021-02-09 12:55:05 +02:00
spaceface
1bb4be17d8
cgen: remove srwlock definition workaround for tcc on windows ( #8652 )
2021-02-09 12:44:18 +02:00
spaceface
4152c704f3
sokol: remove `.lib` extensions in `#pragma` directives ( #8639 )
...
fixes tcc on windows - this kind of fix has been done several times in the past, and should probably be upstreamed to sokol soon to prevent things from breaking every time we update the headers.
2021-02-09 11:36:01 +02:00
Alexander Medvednikov
bfee8a528c
cgen: add "case" to c_reserved
2021-02-09 03:49:19 +01:00
Swastik Baranwal
09cff69919
all: allow using aliases as keys in map ( #8589 )
2021-02-08 18:51:05 +01:00
Lukas Neubert
5abd49d9bc
cgen: cast default struct field value to correct SumType/interface ( #8619 )
2021-02-08 17:33:05 +02:00
Swastik Baranwal
e2ff26a066
cgen: fix gen of .sort method for `>` operator and improve grammar of error ( #8615 )
2021-02-08 17:19:54 +02:00
Nick Treleaven
e2ff2a5405
parser: deprecate `{var |` struct update ( #8618 )
2021-02-08 17:03:05 +02:00
yuyi
f2100166c7
cgen: minor cleanup in gen_str_for_option ( #8622 )
2021-02-08 17:00:51 +02:00
Nick Treleaven
9e751f72c4
doc, fmt: use `map{key: value}` syntax for map literals ( #8623 )
2021-02-08 16:57:42 +02:00
zakuro
e5839effbc
checker/cgen: allow `<<` operator for aliases ( #8561 )
2021-02-08 01:41:47 +01:00
Lukas Neubert
473cd1d416
fmt: single line ternary return ( #8605 )
2021-02-08 00:28:46 +01:00