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