Delyan Angelov
|
857e047d01
|
json: tag functions that cgen may call internally for json.encode/json.decode, as [markused]
|
2022-08-02 11:45:41 +03:00 |
|
yuyi
|
ce59fffb53
|
scanner: make scan_all_tokens_in_buffer() private (#15312)
|
2022-08-01 23:15:56 +03:00 |
|
yuyi
|
7546d1450c
|
scanner: minor optimization (#15313)
|
2022-08-01 23:09:27 +03:00 |
|
Spydr
|
dab8159b56
|
native: implement elf section types (#15316)
|
2022-08-01 23:04:59 +03:00 |
|
StunxFS
|
b08690d151
|
gen.c: simplify unwrap_generic method (#15288)
* gen.c: use `nil` instead of `0`
* replace `muttable` => `mut_table`
|
2022-08-01 11:40:37 +03:00 |
|
Spydr
|
b4fd9b5f92
|
native: add sections for string- and symbol-tables, reimplement elf program headers (#15305)
|
2022-08-01 10:15:06 +03:00 |
|
Delyan Angelov
|
b8438ded32
|
markused: support vweb App.before_request() with -skip-unused
|
2022-07-30 18:56:05 +03:00 |
|
yuyi
|
014f44eab3
|
checker: improve error message of method_call_arg_no_mut_err.vv (#15281)
|
2022-07-30 18:11:10 +03:00 |
|
yuyi
|
6e8350a9c9
|
fmt: fix interface method with fntype argument (#15280)
|
2022-07-30 14:29:41 +03:00 |
|
yuyi
|
e6a04905e9
|
fmt: fix comptime method call (#15279)
|
2022-07-30 14:28:34 +03:00 |
|
yuyi
|
b6ce7cc198
|
checker: check invalid variable (fix #15240) (#15260)
|
2022-07-30 14:27:28 +03:00 |
|
Delyan Angelov
|
0133ff2cbf
|
checker: use reserved_type_names_chk.matches(word) instead of word in reserved_type_names
|
2022-07-29 23:23:34 +03:00 |
|
Delyan Angelov
|
f0a8d57735
|
checker: use array_builtin_methods_chk.matches(method_name) instead of method_name in array_builtin_methods
|
2022-07-29 23:23:34 +03:00 |
|
Delyan Angelov
|
336305daa5
|
scanner,parser,gen: use km.matches(word) instead of km.find(word) != -1
|
2022-07-29 23:23:33 +03:00 |
|
Delyan Angelov
|
2db8bd62a2
|
token: fix a new_keywords_matcher_from_array_trie bug (first word with idx 0 was ignored); add tests
|
2022-07-29 23:23:33 +03:00 |
|
Delyan Angelov
|
a42eb3b947
|
cgen: use a trie matcher for c_reserved checks as well
|
2022-07-29 23:23:32 +03:00 |
|
zakuro
|
8268df7e1d
|
parser: create and use Parser.unexpected to unify all unexpected token error messages (#15259)
|
2022-07-29 19:28:34 +03:00 |
|
yuyi
|
1be595605a
|
parser: fix optional fn argument (#15271)
|
2022-07-29 19:10:50 +03:00 |
|
yuyi
|
0bf23488dc
|
checker: check struct field's fn call (fix #15249) (#15257)
|
2022-07-29 19:00:51 +03:00 |
|
lemon
|
927ec1fadb
|
native: support || , && and simple boolean expression evaluation (#15256)
|
2022-07-29 07:17:01 +03:00 |
|
Delyan Angelov
|
04b28d11be
|
cgen: use switch for matches with integer literals, instead of an if else if ladder (#15254)
|
2022-07-29 00:36:29 +03:00 |
|
yuyi
|
17ce1a0e8d
|
parser: check undefined ident in if guard expr (#15253)
|
2022-07-28 19:13:41 +03:00 |
|
Dialga
|
18ae726015
|
v.pkgconfig: add the default path for Debian 32bit (#15250)
|
2022-07-28 14:06:56 +03:00 |
|
yuyi
|
60094d95e2
|
cgen: check comptime call method (no value) used as value (#15241)
|
2022-07-27 21:32:00 +03:00 |
|
yuyi
|
6a7eb82d9e
|
cgen: fix comptime for method call with arguments (#15236)
|
2022-07-27 03:22:05 +03:00 |
|
yuyi
|
c976a691ad
|
scanner: correct error message of empty character literal (fix #15226) (#15228)
|
2022-07-26 15:07:08 +03:00 |
|
yuyi
|
03b7c76b38
|
cgen: optimize auto_str_methods of [str:skip] fields (#15227)
|
2022-07-26 09:38:50 +03:00 |
|
yuyi
|
0b0c496eff
|
cgen: fix printing struct with skip fields (#15224)
|
2022-07-26 04:37:16 +03:00 |
|
Alexander Medvednikov
|
f1ebfb2d42
|
cgen: str:skip field
|
2022-07-25 17:25:47 +03:00 |
|
yuyi
|
f619becbdc
|
scanner: check undefined ident in string literal (#15212)
|
2022-07-25 14:28:47 +03:00 |
|
Delyan Angelov
|
6a5db0df61
|
v.token: use a more performant KeywordMatcher in the scanner and parser (#15196)
|
2022-07-25 06:32:06 +03:00 |
|
yuyi
|
5464de406c
|
cgen: fix custom str on struct with too many fields (#15195)
|
2022-07-24 10:15:22 +03:00 |
|
Delyan Angelov
|
c63fed5393
|
tests: remove needless import math in translated_test.v
|
2022-07-23 23:24:17 +03:00 |
|
Alexander Medvednikov
|
d6de53362f
|
checker: improve unused label check
|
2022-07-23 01:36:27 +03:00 |
|
Alexander Medvednikov
|
4d3401c852
|
checker: check for unused labels
|
2022-07-23 01:25:20 +03:00 |
|
yuyi
|
b0c32e0dbf
|
checker: fix fn variadic with enum value (#15177)
|
2022-07-22 16:08:22 +03:00 |
|
yuyi
|
092f5f0bf8
|
checker: fix comptime if in const declaration (fix #15160) (#15169)
|
2022-07-22 16:03:45 +03:00 |
|
zakuro
|
9ec8a99243
|
parser: cleanup orblock duplicate code (#15173)
|
2022-07-22 12:36:50 +03:00 |
|
Delyan Angelov
|
e9809572b1
|
ast: use const empty_expr instead of fn empty_expr (thanks to Joe Conigliaro for the idea) (#15175)
|
2022-07-22 12:14:46 +03:00 |
|
Delyan Angelov
|
c6aea659e3
|
cgen,ci: fix v -usecache self on macos
|
2022-07-22 11:43:20 +03:00 |
|
Delyan Angelov
|
5340f8afea
|
ci: fix vlib/v/checker/tests/nil.vv and its .out file
|
2022-07-21 23:05:02 +03:00 |
|
Delyan Angelov
|
474033c055
|
ci: allow unsafe { a := nil } , add separate nil case in pointer_ops.vv, to test the nil checker errors independently from the voidptr ones
|
2022-07-21 22:52:38 +03:00 |
|
Delyan Angelov
|
697d546d46
|
ci: fix fixed_array_conv.out output (the .vv file was formatted)
|
2022-07-21 22:45:54 +03:00 |
|
Delyan Angelov
|
cf42ba2b80
|
ci: revert nil to voidptr(u64(0)) in voidptr_dereference_err.vv too. nil should have its own .vv/.out pair.
|
2022-07-21 22:43:14 +03:00 |
|
Delyan Angelov
|
cdefb878d6
|
ci: make pass_voidptr_as_interface_reference_test.v use voidptr again
|
2022-07-21 22:41:27 +03:00 |
|
Delyan Angelov
|
2e89eeb477
|
ci: make voidptr_casted_as_an_interface_test.v use voidptr again (it does test exactly that edge case, it should not have been converted to use nil)
|
2022-07-21 22:40:21 +03:00 |
|
Delyan Angelov
|
71cd256f0c
|
ci,cgen: fix -usecache compilation of V itself
|
2022-07-21 22:29:44 +03:00 |
|
Delyan Angelov
|
81104ac309
|
ci: fix v test-cleancode failures
|
2022-07-21 22:05:17 +03:00 |
|
Delyan Angelov
|
dc1b54c669
|
ci: fix failing ./v vlib/builtin/builtin_test.v (globals initialisation)
|
2022-07-21 21:49:00 +03:00 |
|
Delyan Angelov
|
e29f6d1393
|
markused: fix ./v -skip-unused -cc gcc -keepc -freestanding -o bel vlib/os/bare/bare_example_linux.v
|
2022-07-21 21:18:33 +03:00 |
|
Alexander Medvednikov
|
9099594a49
|
all: wrap up unsafe { nil } (p. 3)
|
2022-07-21 21:01:30 +03:00 |
|
Alexander Medvednikov
|
a68d03ac59
|
checker: allow x := unsafe { nil }
|
2022-07-21 20:56:24 +03:00 |
|
Alexander Medvednikov
|
dc79f1392b
|
all: voidptr(0) => unsafe { nil } (p.2)
|
2022-07-21 20:51:54 +03:00 |
|
Alexander Medvednikov
|
caa0c2f153
|
vfmt: voidptr(0) => unsafe { nil } (p.1)
|
2022-07-21 20:46:01 +03:00 |
|
yuyi
|
be9f8cc777
|
cgen: fix comptime if in struct field default (fix #15058) (#15152)
|
2022-07-21 16:59:18 +03:00 |
|
yuyi
|
7029e39088
|
checker: check struct field with default expression (#15151)
|
2022-07-21 10:33:34 +03:00 |
|
Joe Conigliaro
|
49228e1acd
|
cgen: fix dep cycle for struct Node { children [4]&Node } closes #15136
|
2022-07-21 16:16:24 +10:00 |
|
yuyi
|
f27c0387ad
|
cgen: minor cleanup in global_decl() (#15133)
|
2022-07-20 13:51:33 +03:00 |
|
Delyan Angelov
|
ee4a179e71
|
tests: add a test for Node{123, unsafe { nil }, unsafe { nil }}
|
2022-07-20 11:29:01 +03:00 |
|
Delyan Angelov
|
50075d5a79
|
ast,cgen: support a := Abc{unsafe{nil}} , for struct Abc { next &Abc }
|
2022-07-20 10:47:04 +03:00 |
|
yuyi
|
041e90b2e2
|
checker, cgen: fix interface embedding smartcast (fix #13296) (#15127)
|
2022-07-19 16:36:16 +03:00 |
|
Alexander Medvednikov
|
fd47385ff2
|
checker: check untyped nil in assignment
|
2022-07-19 13:31:10 +03:00 |
|
yuyi
|
a39fe68af1
|
cgen: clean up ident() in cgen.v (#15121)
|
2022-07-19 10:54:03 +03:00 |
|
yuyi
|
5462d4aebf
|
checker: check generic interface declaration (#15108)
|
2022-07-18 01:36:37 +03:00 |
|
yuyi
|
eed496d0bc
|
checker: check generic struct declaration (#15106)
|
2022-07-17 18:09:15 +03:00 |
|
Spydr
|
368cccb059
|
native: add typechecking to gen_var_to_string() (#15107)
|
2022-07-17 18:09:03 +03:00 |
|
Spydr
|
c73c4dc884
|
native: system for defining internal builtin algorithms which are not inlined (#15105)
|
2022-07-17 16:22:54 +03:00 |
|
yuyi
|
58ad6f7999
|
checker: check generic fn declaration (#15104)
|
2022-07-17 14:32:59 +03:00 |
|
yuyi
|
78242627c3
|
parser: fix fn argument type position (#15102)
|
2022-07-17 10:55:20 +03:00 |
|
yuyi
|
8d24522d02
|
parser: check generic interface method declaration (#15095)
|
2022-07-16 16:58:39 +03:00 |
|
yuyi
|
ac7e809464
|
checker: fix generics struct init in generic fn (fix #15080) (#15088)
|
2022-07-15 17:30:56 +03:00 |
|
yuyi
|
560afac5d5
|
cgen: fix fixed array of threads (#15086)
|
2022-07-15 14:19:11 +03:00 |
|
lemon
|
f2961ec862
|
native: refer to types to generate code (#15077)
|
2022-07-15 14:18:32 +03:00 |
|
yuyi
|
57c4188d98
|
ast, checker: check generic fn declaration error (#15079)
|
2022-07-15 14:18:06 +03:00 |
|
yuyi
|
0d6d6f7de8
|
cgen: fix fixed array literal index (fix #14959) (#15054)
|
2022-07-14 08:23:29 +03:00 |
|
Alexander Medvednikov
|
a38310f929
|
checker: array of references check
|
2022-07-14 00:58:14 +03:00 |
|
yuyi
|
7594157deb
|
checker: check generic interface declaration (#15047)
|
2022-07-13 09:43:54 +03:00 |
|
yuyi
|
19d0d758c9
|
cgen: fix struct shared field with default init (#15040)
|
2022-07-12 20:04:06 +03:00 |
|
yuyi
|
9839ab6a6c
|
parser: fix parse c function with optional argument name (fix #13234) (#15037)
|
2022-07-12 11:06:29 +03:00 |
|
yuyi
|
62d800a775
|
checker, cgen: fix array of sumtype appending alias (#15034)
|
2022-07-12 09:26:11 +03:00 |
|
Subhomoy Haldar
|
8a4313c1b8
|
ci: fix vlib/v/builder/builder_test.v failures on msvc (#15035)
|
2022-07-12 08:46:59 +03:00 |
|
Dmitriy Smirnov
|
f35a3a89f9
|
checker: fix dereferencing voidptr. (#15033)
|
2022-07-12 01:12:29 +03:00 |
|
Subhomoy Haldar
|
dc68469818
|
use trimmed output for comparison (#15032)
|
2022-07-11 22:47:32 +03:00 |
|
Subhomoy Haldar
|
fbad48b5d9
|
v.builder: retain executable after v run , if the executable was already existing (#15021)
|
2022-07-11 21:08:53 +03:00 |
|
Delyan Angelov
|
f16355eeba
|
ci: fix build failure (complete renaming in 39b6851 )
|
2022-07-11 20:59:37 +03:00 |
|
yuyi
|
39b68518b2
|
checker: minor refactor in infix_expr() (#15028)
|
2022-07-11 20:16:42 +03:00 |
|
shove
|
032cb3f115
|
checker: fix the type of ComptimeCall (fixes #14996) (#15013)
|
2022-07-11 20:08:01 +03:00 |
|
yuyi
|
398bd2280d
|
cgen: fix printing reference alias (#15027)
|
2022-07-11 20:04:34 +03:00 |
|
yuyi
|
ec19f4289c
|
checker, cgen: fix alias operator overloading (#15024)
|
2022-07-11 19:20:15 +03:00 |
|
yuyi
|
9231697966
|
parser: check for illegal use of any type (fix #15003) (#15020)
|
2022-07-11 15:29:25 +03:00 |
|
Delyan Angelov
|
94e35b710c
|
markused: fix C compilation failures on -skip-unused -profile
|
2022-07-11 10:56:13 +03:00 |
|
yuyi
|
81d694b1f8
|
tests: restore interfaces_map_test (#15019)
|
2022-07-11 09:05:36 +03:00 |
|
yuyi
|
a6cc4c4c28
|
parser: minor cleanup in parse_type.v (#15011)
|
2022-07-11 08:03:08 +03:00 |
|
yuyi
|
7ff20c09ca
|
tests: restore test_interface_struct_from_mut_array() (#15018)
|
2022-07-11 07:57:14 +03:00 |
|
Alexander Medvednikov
|
bfcf5b13ed
|
checker: fix #define check on windows
|
2022-07-11 00:20:12 +03:00 |
|
Alexander Medvednikov
|
22dac71b33
|
checker: do not allow #define everywhere
|
2022-07-10 22:51:06 +03:00 |
|
yuyi
|
58c5d387c4
|
parser: check closure capture global variable (#15010)
|
2022-07-10 20:21:54 +03:00 |
|
Delyan Angelov
|
3b575e83f1
|
ci: fix ./v cmd/tools/builders/golang_builder.v
|
2022-07-10 18:53:18 +03:00 |
|
Delyan Angelov
|
01dabe5966
|
ci: fix failing invalid_struct_decl_script_err.vv
|
2022-07-10 18:37:42 +03:00 |
|
Delyan Angelov
|
d15e9f4866
|
ci: remove forgotten dump call
|
2022-07-10 17:05:49 +03:00 |
|