Commit Graph

474 Commits (faa04c586fca7009e8a31891d0a968c9db4b5923)

Author SHA1 Message Date
Alexander Medvednikov ff80e3a5fa i8 print test + $if mac => $if macos 2019-12-03 16:09:43 +03:00
Delyan Angelov 0a8d2d5dc7 compiler: guess cc kind for -prod builds, to know when to add -flto 2019-12-03 13:58:24 +03:00
Enrico Lefass 6d28a80bf8 haiku support (part 2) 2019-12-03 11:26:47 +03:00
Alexander Medvednikov c0bb88dfb0 allow # in webview module 2019-12-02 12:31:49 +03:00
Alexander Medvednikov 753e926356 debug v symlink error 2019-12-02 12:16:55 +03:00
Don Alfons Nisnoni 254afcb2d0 *C.char => charptr 2019-12-02 11:37:35 +03:00
Delyan Angelov ec15bfb7d1 v test v => v test-compiler 2019-12-01 12:50:13 +03:00
bogen85 854309a7d8 freestanding: add array support (stack only for now) 2019-12-01 11:27:36 +03:00
Alexander Medvednikov 3fea8f3de5 *char => charptr everywhere 2019-12-01 10:33:26 +03:00
Alexander Medvednikov 698c3823ee charptr fix 2019-12-01 10:11:29 +03:00
Alexander Medvednikov 0999273d32 CReserved => c_reserved; charptr 2019-12-01 09:56:53 +03:00
Alexander Medvednikov a23a4ed98a update all index() uses 2019-11-30 15:27:16 +03:00
Alexander Medvednikov 2651b8957a parser: fix unreachable code error in if a := opt() 2019-11-30 15:17:27 +03:00
Alexander Medvednikov 81d4f66fbb string: make `index()` return `?int` instead of `int`/-1 2019-11-30 13:21:21 +03:00
Alexander Medvednikov 7e4799334f array: make left/right/slice private 2019-11-30 12:37:34 +03:00
Alexander Medvednikov b38283dcf1 string: make left/right private 2019-11-30 12:06:17 +03:00
prime31 ff216e7d50 append module name for module search path 2019-11-30 11:17:37 +03:00
Alexander Medvednikov 68b4dab582 parser: another infinite loop fix 2019-11-30 10:37:28 +03:00
Alexander Medvednikov c00a7f3a5e parser: fix infnite loop with `fn foo(&) {}` 2019-11-30 10:21:58 +03:00
Alexander Medvednikov d71532b64e optimize `for c in str {` 2019-11-30 09:41:35 +03:00
Emily Hudson 661ddf3d1e compiler: realpath before trying to basefilename 2019-11-30 08:01:31 +03:00
Alexander Medvednikov 850788c4bb parser: fix a bug with & and == 2019-11-29 23:18:10 +03:00
Alexander Medvednikov 4c11eb5ddc -bare => -freestanding 2019-11-29 22:49:05 +03:00
Alexander Medvednikov f724a956b3 parser: fix `a & b == c` precedence 2019-11-29 22:42:32 +03:00
Alexander Medvednikov 881584d04c V 0.1.23 2019-11-29 20:00:33 +03:00
Alexander Medvednikov 71378b8041 parser: better syntax error for unexpected tokens 2019-11-29 17:06:49 +03:00
joe-conigliaro 11aaee685a generics: fix errors & simplify 2019-11-29 16:46:43 +03:00
Alexander Medvednikov 431568faad x64: fix off by one error in for loops 2019-11-29 12:33:36 +03:00
Alexander Medvednikov 9e19472c33 show an info message if a C compiler is not installed 2019-11-29 12:12:06 +03:00
bogen85 e31d892598 make _V_mret_ unique by putting p.token_idx in it 2019-11-29 11:11:53 +03:00
Alexander Medvednikov 52d25336db x64: function calls; http: download_file() 2019-11-28 13:24:02 +03:00
prime31 208f67132d added -user_mod_path command line option to add a module search path 2019-11-28 13:04:57 +03:00
Delyan Angelov 7545ea709a enable alpine/musl CI tests 2019-11-28 11:46:52 +03:00
bogen85 3b7466a13d ci: rename multiret_with_ptrtype.v 2019-11-28 09:46:52 +03:00
bogen85 9374168b26 compiler: allow function expecting a void* to receive a byteptr 2019-11-28 09:44:43 +03:00
bogen85 e63300e286 temporary fix for issue #2897 2019-11-27 19:55:32 +03:00
れもん 584786d87c parser: fix `in` expression 2019-11-27 08:48:04 +03:00
Alexander Medvednikov a3b14e00a2 vweb fixes 2019-11-26 16:08:16 +03:00
Alexander Medvednikov cb8a19efaf vweb: bring back html() test 2019-11-26 09:34:09 +03:00
joe-conigliaro 3107618732 vweb: remove no longer needed special case & fix tmpl 2019-11-26 09:23:11 +03:00
ʇʞʌp 6349bd33d3 compiler: Allow `or` usage when assigning to struct fields. (#2893) 2019-11-26 09:07:35 +03:00
ʇʞʌp 79a02a4c09 parser: make `p.opt()?` work for methods 2019-11-26 09:04:59 +03:00
joe-conigliaro 385c045e5a don't add generic parsers to v.files 2019-11-26 09:04:11 +03:00
Alexander Medvednikov 8d241cc164 vweb fixes; ORM fixes; freeing strings 2019-11-26 07:47:16 +03:00
Ned Palacios bac3c0a63e compiler: add "modules/ " folder for searching local modules 2019-11-26 06:45:26 +03:00
ʇʞʌp 81d552038c parser: allow constant usage in assoc 2019-11-26 06:41:56 +03:00
bogen85 5c217b9e61 fix hexadecimal constants + freestanding fixes 2019-11-26 06:12:37 +03:00
joe-conigliaro 92f920b2b8 make errors from code parsed with statements_from_text show correctly 2019-11-25 22:22:40 +03:00
joe-conigliaro edd4706480 compiler: parser fixes for vweb 2019-11-25 15:29:55 +03:00
M 837af9b230 freebsd: backtrace 2019-11-25 13:54:56 +03:00
joe-conigliaro 7158a012c3 compiler: update to get vweb working 2019-11-25 13:48:25 +03:00
joe-conigliaro 475807566d
fix get_last_nl_from_pos when error is last token (#2882) 2019-11-25 20:58:22 +11:00
Delyan Angelov f7c103d5d2 compiler: remove legacy current workdir from module search 2019-11-25 11:32:11 +03:00
Alexander Medvednikov a4ab7b14c1 wrap up struct default vals + tests 2019-11-25 05:59:58 +03:00
Delyan Angelov 5794594e19 compiler: fix vpath module search order regression 2019-11-24 19:39:30 +03:00
Enrico Lefass f496c1b27b haiku: adding support to v #1 2019-11-24 19:39:04 +03:00
Alexander Medvednikov 24b40be548 default struct vals 2019-11-24 13:53:59 +03:00
Alexander Medvednikov e9e931fe4a force C function definitions 2019-11-24 12:14:22 +03:00
Alexander Medvednikov 1bd8c465d3 do not allow casting bool to int 2019-11-23 20:40:59 +03:00
Don Alfons Nisnoni 3a6ccf7f31 os: mkdir() error handling 2019-11-23 19:55:18 +03:00
Alexander Medvednikov 0fb0c43c0a pg: minor fixes 2019-11-23 19:48:00 +03:00
joe-conigliaro 666509623e compiler: use token.pos instead of token.col, calculate col when needed 2019-11-23 19:31:28 +03:00
Delyan Angelov f42be0622e examples/game_of_life: add a GUI frontend; compiler: local modules relative to a main module 2019-11-23 16:33:25 +03:00
れもん 3d235169c8 parser: fix if expression 2019-11-23 14:25:57 +03:00
joe-conigliaro 9c1107f723 compiler: generics fix byteptr support 2019-11-23 10:06:14 +03:00
Alexander Medvednikov 94318b1287 x64: use correct exe name and set +x 2019-11-22 19:09:14 +03:00
joe-conigliaro c11025f01f
compiler: clean up & optimize generics. add comments & support all param types (#2845) 2019-11-23 00:09:53 +11:00
Alexander Medvednikov 9712213f50 x64 machine code generation (ELF) 2019-11-22 14:33:22 +03:00
joe-conigliaro ab91733a28 small optimization with generics and use os.is_dir in vweb again 2019-11-22 10:55:20 +03:00
Dwight Schauer 4edade5067 compiler: fix a deferencing cast was causing a segfault 2019-11-22 09:11:06 +03:00
joe-conigliaro 8fbfceed30 compiler: generics - support across modules/files 2019-11-22 08:22:11 +03:00
Unknown User 7c802f31d3 parser: fix unused variable warning 2019-11-22 05:23:01 +03:00
Delyan Angelov d569f23e1c compiler: fix undeclared errors with [][]u16,u32,u64 2019-11-22 05:22:18 +03:00
gabixdev 76cd70c232 compiler: add -vpath and -vlib_path options 2019-11-21 15:06:19 +03:00
pfefferminz132 dcea76ff41 fix "v symlink" with relative paths 2019-11-21 04:34:08 +03:00
Alexander Medvednikov 8e32ef382a fix `v symlink` 2019-11-20 18:27:46 +03:00
Alexander Medvednikov 3e564a2506 parser: fix register() bug in interfaces 2019-11-20 18:19:13 +03:00
ʇʞʌp 26fb7e0821 compiler: emit Option_ typedef for fn args and struct fields 2019-11-20 00:58:31 +03:00
cloudsong 787f49b7a0 interface: enable calling interface with multi-args 2019-11-19 18:27:32 +03:00
joe-conigliaro 4bbed4f910 parser: fix default optional value 2019-11-19 17:47:49 +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 0cf232d692 parser: a better [] error message 2019-11-19 11:13:19 +03:00
PoLLeN fe81ccab20 asm.v: fix a small typo 2019-11-19 09:43:02 +03:00
Alexander Medvednikov 1ccd1979a4 vfmt: line comments fixes 2019-11-18 15:12:35 +03:00
Alexander Medvednikov 439bb0c5de foo()? test 2019-11-18 12:11:25 +03:00
Alexander Medvednikov 4c0269597d fix repl tests; change asm syntax a bit 2019-11-18 11:59:13 +03:00
Alexander Medvednikov f7c7ffecb3 makefile: pre-build builtin modules 2019-11-18 03:51:14 +03:00
Alexander Medvednikov e081791eaf fix repl tests 2019-11-18 02:34:49 +03:00
Alexander Medvednikov 4fb0b49806 parser: fix the no fn main error in script mode 2019-11-18 00:40:59 +03:00
Alexander Medvednikov ffb72e855a vhelp: compress option 2019-11-17 15:35:05 +03:00
joe-conigliaro 6d7fe1f83c fix vtool used with paths w/spaces (win/nix) 2019-11-17 14:36:05 +03:00
Alexander Medvednikov 6ae8457f35 fix strings.Builder.str() 2019-11-17 07:05:13 +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
Abdullah Atta 200fcd41ce vlib: add a clipboard module (Windows, macOS, X) 2019-11-17 05:40:03 +03:00
Alexander Medvednikov 2391c72e4b tcc: 64 bit by default 2019-11-17 01:14:05 +03:00
Alexander Medvednikov 6c51d0bb78 another inline asm test + disable on msvc 2019-11-17 01:07:21 +03:00
Alexander Medvednikov 2964bf9e23 inline assembly 2019-11-17 00:59:49 +03:00
Alexander Medvednikov 5a1de13e10 bare: fix str[idx] 2019-11-16 23:22:40 +03:00
Alexander Medvednikov 0c5854e371 add a c/raw string interpolation test 2019-11-16 22:17:01 +03:00
Swastik Baranwal 5d5268a53d expression: add a check for raw strings 2019-11-16 22:15:22 +03:00
Alexander Medvednikov 8d1eb759f7 fix v -o foo.c build module foo 2019-11-16 21:49:58 +03:00
Alexander Medvednikov dc50ed69cf bare: fix str[idx] 2019-11-16 11:33:04 +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 2dcb8b3bb0 bare: ArchLinux fix? 2019-11-14 22:18:22 +03:00
Alexander Medvednikov a8b5c00939 parser: allow << >> with enums 2019-11-14 22:14:14 +03:00
Delyan Angelov a329104dcb compiler: remove dead code (a tcc bug fix) 2019-11-14 11:57:28 +03:00
Alexander Medvednikov 34c4565f7c wrap up -bare 2019-11-14 11:11:52 +03:00
Alexander Medvednikov 96b530cf85 update [] 2019-11-14 09:53:05 +03:00
Alexander Medvednikov 4a833d8151 parser: clean up all [] 2019-11-14 09:21:20 +03:00
Alexander Medvednikov 5df5f97daf parser: allow `arr = []` instead of `arr = []string` 2019-11-14 07:15:17 +03:00
Alexander Medvednikov 8d4ef822b6 1 2019-11-14 07:08:11 +03:00
Alexander Medvednikov 1d460c4d49 -bare option 2019-11-14 06:50:21 +03:00
Alexander Medvednikov b1fa0d25f0 foo()? syntax 2019-11-14 06:15:45 +03:00
BigBlack 72249ce889 fix duplicate #define generation 2019-11-13 23:35:14 +03:00
Alexander Medvednikov 861f2d4bc0 parser: skip $if windows etc blocks on a different os 2019-11-13 21:14:37 +03:00
Alexander Medvednikov 3b929cdd03 update repls tests 2019-11-13 20:40:01 +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
Alexander Medvednikov 10b0432eca parser: fix mutable map args 2019-11-12 22:35:53 +03:00
BigBlack 99169ae4ff parser: ptr++,*(ptr+1) 2019-11-11 23:39:16 +03:00
BigBlack 0ab09a57f7 parser: multi-level pointers 2019-11-11 18:43:22 +03:00
Delyan Angelov de5b4f0497 fix tests for tcc, extract failing stuff to separate simpler files to ease debugging
* Fix compiling vlib/compiler/tests/fn_test.v with tcc.

* Extract failing tests from fn_test.v so that they are more readable and easier to debug.
2019-11-11 17:59:59 +03:00
Alexander Medvednikov e6775913aa simplify vfmt 2019-11-11 17:04:47 +03:00
Alexander Medvednikov d9b29bfb4e fix a bug in strings.Builder and wrap up vfmt 2019-11-11 08:24:28 +03:00
Alexander Medvednikov f2b1a8cb16 fix option_test.v 2019-11-11 07:09:07 +03:00
Alexander Medvednikov 8947717e3e fix the build 2019-11-11 06:19:18 +03:00
Alexander Medvednikov 0ad0a61db2 remove unnecessary empty lines in cgen 2019-11-11 06:02:01 +03:00
Alexander Medvednikov 730ef96398 another tcc fix 2019-11-11 05:33:19 +03:00
Alexander Medvednikov bf98eb55ee remove a test until a tcc bug is fixed 2019-11-11 05:27:30 +03:00
Alexander Medvednikov b3143bb559 parser: remove start_tmp() entirely 2019-11-11 05:22:38 +03:00
Alexander Medvednikov 887c94d9ba parser: second batch of start_tmp() 2019-11-11 05:14:54 +03:00
Alexander Medvednikov 00b3557ce1 parser: start removing start_tmp() 2019-11-11 05:06:24 +03:00
Alexander Medvednikov f30d0ce667 parser: fix a bug with complex ref fn args 2019-11-11 04:56:13 +03:00
Henrixounez 76c27c0b03 cli: create project helper 2019-11-11 00:48:56 +03:00
Alexander Medvednikov 3c4bb16ce9 disable dereferencing error for now 2019-11-10 20:32:11 +03:00
Alexander Medvednikov aea5b2e3b6 make unsafe dereferncing warning an error 2019-11-10 20:14:57 +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 fdf6682254 require `unsafe` for dereferencing 2019-11-10 19:57:17 +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
kdmult 30481a36dc fix broken doc on windows
* replace hardcoded slash with os.path_separator

* compile only, no link, if building a module
2019-11-09 23:49:15 +03:00
Daren Liang e6c9c7d571 parser: check type for all integer only assignment operators 2019-11-09 21:57:36 +03:00
Alexander Medvednikov b1d2c6c730 lots of vfmt fixes 2019-11-09 20:42:29 +03:00
Daren Liang c607246218 parser: add xor type check 2019-11-09 20:36:56 +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