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

343 Commits

Author SHA1 Message Date
Henrixounez
3de99d365e compiler: allows dir spelling with slash at the end 2019-09-06 13:23:19 +03:00
Alexander Medvednikov
c12d4d1bd2 make "build module" generate an object file 2019-09-05 13:01:30 +03:00
Delyan Angelov
ec61821bf7 compiler: support explicit runrepl argument, so that the v repl can be launched with options like -debug and so on. 2019-09-04 19:50:51 +03:00
Henrixounez
540602fab6 main: updated help on building a module 2019-09-04 19:46:42 +03:00
joe-conigliaro
b4d033ff54 compiler: generalize mod dag & use for sorting structs also 2019-09-03 19:11:21 +03:00
Alexander Medvednikov
0e2c41e0f9 replace *Foo with &Foo everywhere 2019-09-01 22:51:16 +03:00
Alexander Medvednikov
24fdefe152 v test: print all fails 2019-09-01 14:14:46 +03:00
Alexander Medvednikov
bfa6505636 compiler: replace &Type with Type 2019-09-01 14:05:03 +03:00
Alexander Medvednikov
72363ada84 array: make .set() private + format 2019-08-31 02:35:05 +03:00
Alexander Medvednikov
13f3f79eb8
linguist test 2019-08-30 13:01:20 +03:00
Alexander Medvednikov
2fe20cd092 compiler: fix struct order bug 2019-08-29 23:46:12 +03:00
Delyan Angelov
83954acfd4 compiler: use cerror instead of panic. 2019-08-29 11:50:18 +03:00
Alexander Medvednikov
5b1700e52a compiler: fix struct order bug 2019-08-28 21:19:34 +03:00
Delyan Angelov
2d87fea074 compiler: allow passing options to v run 2019-08-27 21:08:54 +03:00
Alexander Medvednikov
e2c7d3b2d9 v symlink 2019-08-27 19:35:48 +03:00
Alexander Medvednikov
f6147b7ac7 Revert "switch deprecation notice"
This reverts commit a43b831965.
2019-08-27 13:10:18 +03:00
Alexander Medvednikov
b48b076dac remove is_play 2019-08-27 13:10:18 +03:00
Alexander Medvednikov
a43b831965 switch deprecation notice 2019-08-27 02:47:49 +03:00
Swastik Baranwal
db525524ee string: title() and small fixes 2019-08-26 13:32:53 +03:00
Henrixounez
ad32a3770b compiler: cast correctly strings between byte* and char* when needed 2019-08-25 01:50:44 +03:00
Alexander Medvednikov
cd10890258 minor tcc fixes 2019-07-08 03:44:47 +02:00
Alexander Medvednikov
4c07df6a21 small webassembly fix 2019-08-24 03:09:23 +03:00
Delyan Angelov
1b3a21f197 compiler: use absolute paths for the c files and clean them up 2019-08-23 20:05:02 +03:00
Alexander Medvednikov
0589decc43 parser: change the new_parser() signature 2019-08-23 13:43:31 +03:00
Alexander Medvednikov
624a932420 compiler: cc.v 2019-08-23 12:06:01 +03:00
Delyan Angelov
d362f73af8 compiler: support passing -cc to specify the desired C compiler 2019-08-23 11:42:48 +03:00
Alexander Medvednikov
8f1bf6033e compiler: remove module_path() 2019-08-23 03:10:37 +03:00
Delyan Angelov
9ff8793666 compiler: refactoring - extract cheaders.v and live.v from main.v . 2019-08-20 11:26:50 +03:00
Alexander Medvednikov
707ddba143 examples: rename hot_code_reloading to hot_reload 2019-08-20 00:08:45 +03:00
Henrixounez
e1d2c83ff6 repl: functions and conditional blocks support 2019-08-18 22:50:38 +03:00
Henrixounez
aae063b9ad repl: dont save line if last compilation errored 2019-08-18 19:25:46 +03:00
Delyan Angelov
f013359a44 compiler: improve error handling for 'v install' 2019-08-18 17:57:57 +03:00
Emily Hudson
d373b331fa ompiler: MSVC related fixes and v test v for windows testing
* MSVC related fixes and v test v for windows testing

* If second stage crashes on windows goto error

* use os.exec instead of system so that the error can be printed

* use -debug for osx vid

* Fix some whitespace to trigger a rebuild
2019-08-18 17:25:33 +03:00
Alexander Medvednikov
56fbafe03a cc(): fix -x objective-c; ui.focus_app() 2019-08-18 16:59:36 +03:00
Delyan Angelov
4a27b8f43d compiler: improved error, when c compiler is missing/not found. 2019-08-18 13:03:28 +03:00
Alexander Medvednikov
8e1c31e860 cc(): print compilation error correctly 2019-08-18 01:30:48 +03:00
Alexander Medvednikov
fe2d2bd2a3 fmt: remove trailing spaces 2019-08-17 22:21:43 +03:00
Alexander Medvednikov
8a1324c141 os: make exec() return ?Result with exit code and output 2019-08-17 21:11:40 +03:00
Alexander Medvednikov
37a607dce5 fix v test v 2019-08-17 01:15:38 +03:00
Alexander Medvednikov
c6e7838a44 V 0.1.18 2019-08-17 00:48:07 +03:00
Marco Böttcher
d6d17fe3f2 scanner: string interpolation with $var at the end 2019-08-16 17:06:27 +03:00
Alexander Medvednikov
b188ecf680 Makefile: re-write make test in V 2019-08-16 16:51:46 +03:00
Alexander Medvednikov
c156cef972 vweb: fix the test 2019-08-16 09:58:27 +03:00
Alexander Medvednikov
c0cc4701af $if debug { 2019-08-16 08:50:36 +03:00
Henrixounez
2ba1edaa80 repl: default printing fix and test 2019-08-12 16:19:56 +03:00
Emily Hudson
decdd8be9f Prevent people on platforms that arent 'windows' from being able to build with msvc 2019-08-12 15:11:13 +03:00
Delyan Angelov
7957ec3186 v install: fix installing a single module 2019-08-11 17:35:55 +02:00
iRedMail
c67783bcd1 v install: install multiple modules in one command: 'v install m1 m2 m3 …' 2019-08-10 12:21:31 +02:00
Julian Schurhammer
1864e92ff4 parser: disallow statements after a return, branch check $if, $else, switch, and loops correctly 2019-08-10 10:26:42 +02:00
Alexander Medvednikov
25d97ebbe4 v install: always build vget 2019-08-10 10:14:49 +02:00
Rendims
45766dcb2e main: generate main body on new line
Fix issue #1551
2019-08-10 07:14:44 +02:00
Henrixounez
7879bde8bb repl: enabled back and added automated tests
fixed typos and macos errors
2019-08-10 07:01:40 +02:00
Henrixounez
a81875b24b REPL: checks if EOF
Check if newline to not create empty println
2019-08-10 00:10:42 +02:00
Henrixounez
146a9507c6 REPL: fix repl using older binary on piping
repl: delete binary files when exiting
2019-08-10 00:08:21 +02:00
Delyan Angelov
5c29a7ef7d v run: windows and repl fixes 2019-08-09 22:37:31 +02:00
Delyan Angelov
796b9dab74 compiler: passing -show_c_cmd should always print the C compiler command. 2019-08-09 13:02:25 +02:00
Julian Schurhammer
28147c0930 os.exec: return ?string instead of string 2019-08-08 07:30:05 +02:00
Alexander Medvednikov
4b86ba6f6a main.v: fix msvc 2019-08-07 13:41:40 +02:00
joe-conigliaro
511a3d3901 vlib.crypto+other: fix mut args 2019-08-07 13:37:07 +02:00
Alexander Medvednikov
34e0b164eb make function arguments immutable by default 2019-08-07 08:59:00 +02:00
Delyan Angelov
d072178cef v run: recompile and execute changed file.v just once. 2019-08-07 08:04:40 +02:00
Alexander Medvednikov
76def48f01 compiler: make Windows headers work with clang-format 2019-08-07 05:28:00 +02:00
Alexander Medvednikov
8b75f2125a http: init_module() to init openssl once 2019-08-06 14:03:01 +02:00
joe-conigliaro
01c2d25ae5 compiler: rename pkg to mod and auto save file import table 2019-08-05 09:49:52 +02:00
Joe Conigliaro
2fab73983b add builtin import pass + use builder in map 2019-08-05 06:01:53 +02:00
Alexander Medvednikov
350e13679c force () in complex bool expressions: (a && b) || c instead of a && b || c 2019-08-05 03:22:28 +02:00
ma6174
12dfd5f016 fix Raspberry Pi build 2019-08-04 11:24:23 +02:00
Alexander Medvednikov
01531369f7 bring back local modules 2019-08-04 00:11:56 +02:00
Alexander Medvednikov
a7e464fee9 user modules + v install from vpm 2019-08-01 17:28:25 +02:00
Alexander Medvednikov
15f1169102 disable REPL until it is fixed 2019-07-31 21:05:20 +02:00
vitalyster
37a0e6ebef Travis: run tests for Windows (#1403) 2019-07-31 19:01:52 +02:00
Henrixounez
7918a790b4 compiler: check if output file is a folder 2019-07-31 12:02:59 +02:00
Vitaly Takmazov
9b45b9ce66 repl: do not eat first line
for some reason first line was skipped
2019-07-31 10:52:39 +02:00
Alexander Medvednikov
ddb4f45b02 another map bug fix + fix some warnings 2019-07-31 10:47:58 +02:00
Vitaly Takmazov
68b46bb943 windows: utf-8 stdout was not initialized when we have main()
Initialization moved to init_consts for that
2019-07-31 10:20:40 +02:00
Alexander Medvednikov
a4882f1955 better C error message 2019-07-31 07:16:18 +02:00
Alexander Medvednikov
5c9a08ce81 v up: Windows fix 2019-07-31 04:49:29 +02:00
Alexander Medvednikov
f6e717a5fd v up to update V 2019-07-31 04:40:38 +02:00
AtjonTV
5b68e2ff50 Fix module import errors by checking dirs with dir_exists 2019-07-30 19:57:27 +02:00
Alexander Medvednikov
79be98d2fb Revert "Support for the printf optimisation for windows and wide strings"
This reverts commit acd28fa495.
2019-07-30 18:28:00 +02:00
F1ssi0N
acd28fa495 Support for the printf optimisation for windows and wide strings 2019-07-30 18:04:19 +02:00
Alexander Medvednikov
626da27ad6 better C error message 2019-07-29 19:39:56 +02:00
Alexander Medvednikov
54f847a85b V 0.1.17 2019-07-29 18:31:47 +02:00
Alexander Medvednikov
207bab5f79 generics, vweb, comptime codegen, etc 2019-07-29 18:24:48 +02:00
Joe Conigliaro
2a30564ed1 fix 2019-07-28 17:15:24 +02:00
Alexander Medvednikov
dbb64ec149 Revert "modules: fix "is not a directory" error"
This reverts commit d38940ad57.
2019-07-28 01:22:15 +02:00
Alexander Medvednikov
d38940ad57 modules: fix "is not a directory" error 2019-07-28 01:11:38 +02:00
Alexander Medvednikov
b0913dc5a8
print "running [exe name]" only in verbose mode 2019-07-27 16:42:17 +02:00
joe-conigliaro
26a1762156 make empty module dir error less confusing 2019-07-27 02:18:56 +02:00
Joe Conigliaro
3850227b46 use mod var 2019-07-27 01:14:35 +02:00
joe-conigliaro
7b95f09f86 detect import of non existent modules 2019-07-26 18:24:40 +02:00
Emily Hudson
90bb48db5d interactive debugging 2019-07-26 16:45:16 +02:00
Alexander Medvednikov
9ccd3bde01 do not allow declaring a mutable variable if it's never modified 2019-07-25 13:44:34 +02:00
Emily Hudson
dbf027acb8 MSVC: Use vswhere instead of mscrazy (#1307)
* Use vswhere + our own reg stuff instead of microsoft_craziness

* Cleanup code

* HKEY is a pointer so RegKey should be a pointer
2019-07-25 12:29:24 +02:00
Emily Hudson
049d78a78d Change CGen so that v.c is compileable with msvc 2019-07-24 17:46:41 +02:00
Vitaly Takmazov
0bbefca875 Windows: unicode command line 2019-07-24 14:32:36 +02:00
vitalyster
fcb1f211e3 Windows Unicode I/O 2019-07-24 12:16:45 +02:00
Alexander Medvednikov
13e1b4edb1 V 0.1.16 2019-07-24 00:45:32 +02:00
Alexander Medvednikov
2291e9fcfe Revert "Windows Unicode support"
This reverts commit 8462e99bc5.
2019-07-24 00:24:34 +02:00
Alexander Medvednikov
b48e23757f msvc fixes 2019-07-24 00:20:07 +02:00
vitalyster
8462e99bc5 Windows Unicode support 2019-07-23 23:40:24 +02:00
Emily Hudson
e25ea7f9dd add MSVC C backend support; fix live code reloading on Windows; other Windows fixes 2019-07-23 23:23:13 +02:00
Alexander Medvednikov
3cf8e18cf6 include <pthread> on all BSDs 2019-07-23 23:15:21 +02:00
Alexander Medvednikov
527b9e13fa key in map syntax 2019-07-23 23:00:09 +02:00
Delyan Angelov
04bd8d7f7d compiler: Fix for #1268 . Passing -o file.c, skips the C compiler invocation and leaves the intermediary file.c . 2019-07-23 13:35:19 +02:00
Delyan Angelov
a307a51b46 live reload: stability fixes 2019-07-22 19:08:32 +02:00
Alexander Medvednikov
01caee5b53 include <pthread> on macOS 2019-07-22 13:45:02 +02:00
Delyan Angelov
a65ae726ee live reload: fix SIGSEGV when calling dlclose, while a live fn is still running. 2019-07-22 12:25:41 +02:00
Alexander Medvednikov
e11c23a817 main.v: print how much time cc() took; more flags explained 2019-07-21 19:42:51 +02:00
joe-conigliaro
135f200ea2 modules: cyclic import detection 2019-07-21 17:53:35 +02:00
Alexander Medvednikov
23c5f88f3e Revert "Windows Unicode I/O "
This reverts commit 3e005074a3.
2019-07-21 17:29:40 +02:00
Alexander Medvednikov
e2364f6285 main.v: update help 2019-07-21 14:42:54 +02:00
Alexander Medvednikov
40c31f701f free arrays when they are out of scope
main.v: update help
2019-07-21 14:42:31 +02:00
vitalyster
3e005074a3 Windows Unicode I/O 2019-07-21 13:29:32 +02:00
Brian Callahan
876dee6435 OpenBSD needs pthread.h
Like Linux, OpenBSD also needs pthread.h (likely that all the BSDs do).
2019-07-20 11:48:06 +02:00
Delyan Angelov
38c58f9f1b compiler: fix #1193 . Flag -c_options is now named -cflags.
You can also pass -cflags '-Os -fno-inline-small-functions'
2019-07-18 19:45:31 +02:00
joe-conigliaro
b3bdcfda42 Fix modules order 2019-07-18 19:25:46 +02:00
Delyan Angelov
1ef0f3b549 live reload: the reload_so function now uses too, instead of hard coding the v name (which some people do not have in their PATH or have as an alias) 2019-07-18 15:56:38 +02:00
Alexander Medvednikov
c35adbea91 vfmt fixes 2019-07-17 21:00:39 +02:00
Alexander Medvednikov
7dc7502fe2 fix REPL and hot code reloading for users that don't have V in PATH 2019-07-17 19:23:47 +02:00
Delyan Angelov
5d0cb1437c Add support for VFLAGS environment variable, merged with cmd args.
Using VFLAGS, you can pass common options through it to the V compiler,
without having to manually specify them everytime when you type V ...
In addition, since environment variables are *inherited*, all subprocess
V compilers, which V launches (for example when compiling with -live),
will *also* use the same VFLAGS environment variable.

Example usage:
  export VFLAGS="-debug -show_c_cmd"
  v -live message.v

=> This will keep *both* of the generated C source files .message.c
   *AND* .message_shared_lib.c . It will also cause both V compile
   subprocesses to print their resulting C compiler backend lines.
   This is very useful when using GDB to debug problems.
2019-07-16 19:35:16 +02:00
Delyan Angelov
17580f3013 Support for passing different options to the C compiler backend.
Example: 'v -c_options=-Os' will pass -Os to the C compiler.
In effect the C compiler will optimize the generated binary for size.
2019-07-16 19:34:44 +02:00
Alexander Medvednikov
1748632144 do not create ~/.vlang directory 2019-07-16 17:44:25 +02:00
Alexander Medvednikov
31032d3a62 allow field 'type' 2019-07-16 13:01:39 +02:00
Alexander Medvednikov
eb7aee5ae0 store temp C files in the same directory 2019-07-16 02:12:05 +02:00
Alexander Medvednikov
cc06fe7ae6 os.dir(); fix vroot on Windows 2019-07-16 01:57:06 +02:00
Alexander Medvednikov
8902256592 V 0.1.15 2019-07-15 23:56:18 +02:00
Alexander Medvednikov
edbcefb811 fix and simplify VROOT 2019-07-15 23:33:31 +02:00
Alexander Medvednikov
62e6e03492 -ldl is only required on Linux 2019-07-15 20:40:37 +02:00
Alexander Medvednikov
9b020fad53 fix OpenBSD build 2019-07-15 20:22:48 +02:00
Alexander Medvednikov
374781da1a OpenBSD, NetBSD, DragonFly support 2019-07-15 20:19:07 +02:00
Alexander Medvednikov
449fd372f9 *_nix.v support 2019-07-15 19:23:09 +02:00
Alexander Medvednikov
b36a9f7e55 glfw always on top 2019-07-15 19:23:09 +02:00
Delyan Angelov
37aff9b107 hot reload: no -sanitize is needed anymore, -live is now enough on both Linux and MacOS X
* hot reload for GL programs: force the main executable (the shared library loader) to be build with -rdynamic flag, when -live is passed to v compiler.

* hot reload: optimize away a redundant load_so/0 call at the start of the reload_so thread.

* hot code reload for MacOSX requires -flat_namespace flag instead of -rdynamic (on linux).
2019-07-15 17:32:00 +02:00
Alexander Medvednikov
7c6f59afa6 FreeBSD support 2019-07-15 17:24:44 +02:00
Delyan Angelov
0556f5fd4e When compiling with -shared (a step in compiling with -live), store the C intermediary file in a different file than main (loader) file, so that debugging symbol lookup information is correct (the files are not replaced constantly with each other). 2019-07-15 12:30:03 +02:00
Alexander Medvednikov
f7dbbf5810 re-write map.v and update the compiler 2019-07-14 22:08:17 +02:00
Nick Treleaven
cec3ea5b4d Document v -lib and don't advertise --help long option
--help and --version are accepted, but these don't fit the `-option`
format of V's other options. To avoid confusion, don't mention them.
2019-07-13 14:54:31 +02:00
joe-conigliaro
9a957ccc18 module aliasing & file import scope 2019-07-12 07:37:54 +02:00
Alexander Medvednikov
56b7c9e35f for key, val in map syntax 2019-07-12 07:27:30 +02:00
Alexander Medvednikov
22b41c7873 V 0.1.14 2019-07-12 05:23:00 +02:00
hazohelet
560ba55572 enable consts with operators in scripts 2019-07-12 04:53:51 +02:00
Alexander Medvednikov
f834644db4 make gg work on Windows; prebuild glad and cJSON; new ft module 2019-07-12 04:50:14 +02:00
Alexander Medvednikov
9efe305093 fix Linux build 2019-07-10 21:57:15 +02:00
Alexander Medvednikov
28843a12c7 cache string.hash() 2019-07-10 10:00:12 +02:00
Alexander Medvednikov
e1ddac1590 utf8: remove unused UTF8_CHAR_LEN macro and add a simple utf8 test 2019-07-10 09:07:04 +02:00
Alexander Medvednikov
c44d54fb4c V 0.1.13 2019-07-10 02:03:09 +02:00
Alexander Medvednikov
26ef99293d new enum syntax; update the compiler (p.tok == .name) 2019-07-10 02:02:38 +02:00
Henrixounez
26af513e1b repl: remove void line for unused and compile as repl 2019-07-09 20:55:37 +02:00
Delyan Angelov
932f6d1bef Fix hot code reloading on linux 2019-07-09 20:54:23 +02:00