Commit Graph

848 Commits (b1806b57d8770256652003f54b5276daea34b88f)

Author SHA1 Message Date
Delyan Angelov 53c64abdeb compiler: make compiler an ordinary vlib/compiler module
* Move compiler/ under vlib/compiler/ .

* Add a minimal compiler/main.v driver program.

* Cleanup compiler/main.v .

* Make most compiler tests pass again.

* Apply the fix by @joe-conigliaro , so that the rest of the compiler tests are fixed too.

* Thanks to @avitkauskas, now the vlib/vcompiler/tests/str_gen_test.v test does not need to be special cased anymore.

* Reapply @joe-conigliaro fix for vgen.
2019-10-13 16:37:43 +03:00
joe-conigliaro 6e62d9709f
prepare for compiler module rename (#2323) 2019-10-13 22:34:29 +11:00
Delyan Angelov d3a206d6db compiler: prepare for moving compiler to vlib/vcompiler (stage 1)
* compiler: prepare for moving under vlib/vcompiler .

* make: stabilize the Makefile (extract rules for freshly cloning vc and tccbin).
2019-10-13 13:11:52 +03:00
joe-conigliaro 8e90724684
compiler: optimize parse_lib_imports (#2319)
* optimize parse_lib_imports
* comment unused import
2019-10-13 15:11:40 +11:00
Alexander Medvednikov 9845fade89 use tcc on linux by default 2019-10-12 16:54:53 +03:00
joe-conigliaro efe03a39cc parser: p.mod clean up 2019-10-13 03:05:11 +03:00
Alexander Medvednikov ae2af4c36d parser: a small immutable field fix 2019-10-13 01:50:19 +03:00
joe-conigliaro 343dced36d parser: only check visibility of init function not method 2019-10-13 01:19:32 +03:00
Toby Webb bf21108fdb parser: fix programs without fn main 2019-10-13 01:10:45 +03:00
Alexander Medvednikov 208f17a73a disable the snake_case const warning for now 2019-10-12 22:38:06 +03:00
Alexander Medvednikov a76165828b snake_case consts 2019-10-12 22:36:14 +03:00
Alexander Medvednikov 81f8b26127 os.path_separator 2019-10-12 22:18:19 +03:00
Alexander Medvednikov 9850193348 modules cache: reduce verbosity 2019-10-12 22:14:16 +03:00
Simon Heuser 6860501994 parser: enable deferred stms for void and optional functions 2019-10-12 22:01:50 +03:00
Toby Webb 5d606000b9 scanner: fix Scanner.debug_tokens skipping first char 2019-10-12 21:33:53 +03:00
Simon Heuser 85c05b6822 parser: disallow or{} block for non-optionals 2019-10-12 17:53:53 +03:00
Swastik Baranwal 336e82d162 parser: _ warning => error 2019-10-12 14:21:06 +03:00
joe-conigliaro a06e2298f0 compiler: detect and error on public init function & remove empty init functions 2019-10-12 13:54:58 +03:00
Delyan Angelov 065ce39577 compiler: -g and -debug should always add -g at least in the C compiler by default
* compiler: -g and -debug should always add -g at least in the C compiler by default.

* Set first the C backend debug_options, so that the optimization_options can override them later.

* Implement cleaner named is_debug, is_vlines, is_keep_c and is_cache options (i.e. -g/-cg, -keep_c, -cache v flags).

* Check and reset file/line numbers in the generated main program, only if v.pref.is_vlines is true.
2019-10-12 13:54:01 +03:00
joe-conigliaro 342e6a14a2
compiler: better detection of module path supplied to `build module` command (#2305)
compiler: better detection of module path supplied to `build module` command (#2305)
2019-10-12 20:48:57 +11:00
joe-conigliaro 1e121d36a4
compiler: module cache. const init - fix implicit declaration of function warning (#2303)
compiler: module cache. const init - fix implicit declaration of function warning (#2303)
2019-10-12 17:53:42 +11:00
joe-conigliaro 40156392f8
compiler: cached modules - windows fixes & organise cached module path (#2302)
compiler: cached modules - windows fixes & organise cached module path (#2302)
2019-10-12 16:41:41 +11:00
Alexander Medvednikov b107b4f1e5 modules: create the modules directory if it's missing, use cache/ 2019-10-12 05:04:59 +03:00
Toby Webb acbca7584b parser: fix multiline strings with CRLF endings for Linux 2019-10-12 04:48:26 +03:00
joe-conigliaro baeb2e3c0e
compiler: module init, add init fn definition (#2298)
* test

* only call existing module init

* add back comment

* add def
2019-10-12 12:35:33 +11:00
Alexander Medvednikov 155d692959 fix alias generation 2019-10-12 04:11:07 +03:00
Alexander Medvednikov 4c91a5c94b module caching: generate type aliases 2019-10-12 04:09:37 +03:00
Alexander Medvednikov 4cd9099f74 disable $if for headers for now 2019-10-12 03:49:36 +03:00
Alexander Medvednikov 6db7518189 make $if work with includes: skip the body if the target is different 2019-10-12 03:48:32 +03:00
joe-conigliaro 9faefe85e1
compiler: cached module - cleanup, remove unneeded code (#2297)
* test

* only call existing module init

* add back comment
2019-10-12 11:38:56 +11:00
Toby Webb f461a21a50 compiler: fix v command to accept '.v' as valid file 2019-10-12 03:03:37 +03:00
joe-conigliaro 51388fea75 compiler: module init function & init consts for cached modules 2019-10-12 01:17:37 +03:00
Delyan Angelov 2b087dbf95 backtraces: add source line numbers too on linux
* Add source line numbers to backtraces on linux.

* Fix -g (broken after token caching).

* reset the #line directives after all the v code is compiled

* cleanup p.cgen.line setting inside p.next() .

* Support windows filepaths like "C:\Users\travis\build\vlang\v\v.exe.tmp.c" inside generated #line directives.

* Try to diagnose better windows-gcc failing.

* Revert "Try to diagnose better windows-gcc failing."

* implement and use cescaped_path/1 .

* Use cescaped_path/1 consistently throughout compiler/ .
2019-10-12 00:04:42 +03:00
Alexander Medvednikov 52c2fa44b8 runtime: nr_cpus() 2019-10-11 13:47:56 +03:00
Alexander Medvednikov 726aaecc46 compiler: make V compilable wit the tcc backend 2019-10-11 06:49:53 +03:00
Alexander Medvednikov c3787e17fd Revert "compiler: remove math dependency"
This reverts commit 67ae167013.
2019-10-11 05:37:26 +03:00
Alexander Medvednikov 67ae167013 compiler: remove math dependency 2019-10-11 03:12:34 +03:00
Alexander Medvednikov 25ef0ee593 parser: remove an unnecessary line 2019-10-11 03:00:06 +03:00
Alexander Medvednikov e7e0514379 no longer download vlib if it's missing 2019-10-10 23:20:41 +03:00
Alexander Medvednikov e1dd4c19b5 compiler: cache modules if they are not built yet 2019-10-10 22:53:59 +03:00
vitalyster a5ccc4673b http: handle and print socket errors 2019-10-10 20:24:36 +03:00
vitalyster e64609387d term: colors on Windows console
* isConsole moved to builtin is_atty function
* Windows console initialization moved to builtin.init
2019-10-10 20:08:36 +03:00
lhmwzy de36b61931 compiler: fix symbol error in DragonFlyBSD 2019-10-10 20:05:22 +03:00
Delyan Angelov f3abb9e682 fix 'v -debug examples/hello_world.v' 2019-10-10 20:02:32 +03:00
joe-conigliaro 1b79964827
compiler: allow -debug to work with no prebuilt modules. only use when prebuilt files exist (#2283)
* only use prebuilt modules if they exist (builtin)
2019-10-10 23:00:18 +11:00
Alexander Medvednikov 7423b21429 cc: fix -g 2019-10-10 04:05:27 +03:00
Alexander Medvednikov 48e13a3362 a small cached modules fix 2019-10-10 03:48:11 +03:00
Alexander Medvednikov 4d941b5fdb make V compile itself using cached modules: ~0.3s speed-up 2019-10-10 03:36:27 +03:00
Alexander Medvednikov 2ee252be5f fix vid compilation 2019-10-10 01:46:05 +03:00
Alexander Medvednikov cdfb7428c8 array/map: use get() instead of _get() etc 2019-10-10 01:07:00 +03:00