Aleksandr Kirsanov
18050a7591
[FunC] Auto-inline functions-wrappers T f(...args) { return anotherF(...args); }
...
This will allow to easily implement camelCase wrappers aside stdlib,
even without changing hashes of existing contracts.
Also, stdlib renamings could be easily performed in the same manner,
even with arguments reordered.
2024-06-14 15:22:57 +03:00
Aleksandr Kirsanov
cbd78964c5
[FunC] CMake option -DFUNC_DEBUG for development purposes
...
Seeing function name in debugger
makes it much easier to delve into FunC sources
2024-06-14 15:22:56 +03:00
Aleksandr Kirsanov
0bc6305f96
[FunC] Change some fields to enums instead of integers
...
It makes it easier to understand/debug
Also, drop some unused enum values from that cases
2024-06-14 15:22:56 +03:00
EmelyanenkoK
583178ccb1
FunC: enable asserts and fix try/catch stack corruption ( #699 )
...
* FunC: enable asserts in Release
* FunC: Fix analyzing infinite loops
* FunC: Allow catch with one tensor argument
* FunC: Fix try/catch stack corruption
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-05-15 15:31:42 +03:00
EmelyanenkoK
8eb167b76a
Fix FunC UB ( #656 )
...
* Fix UB in func
* Improve optimizing int consts and unused variables in FunC
* Bump funC version to 0.4.3
* Fix analyzing repeat loop
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-04-03 10:13:39 +03:00
Dan Volkov
4590ed381b
Make funcfiftlib compilation compatible with modern compilers ( #618 )
...
* wip: make funcfiftlib compilation compatible with modern compilers
* wip: add methods needed for another compiler
* fix: tdutils port config if emscripten
* feat: func source and realpath callback
* fix: invalid fift compilation exceptions
---------
Co-authored-by: krigga <krigga7@gmail.com>
2023-03-09 17:37:15 +03:00
SpyCheese
0578cb4a42
Fix typos, UBs and warnings ( #625 )
2023-02-28 12:06:09 +03:00
SpyCheese
c6143715cc
Fix some error handling in FunC ( #599 )
2023-01-23 13:01:40 +03:00
EmelyanenkoK
653c88aa9d
Add pragmas to funC for precise control of computation order ( #589 )
...
* FunC pragmas: allow-post-modification and compute-asm-ltr
* Warn if #pragma is enabled only in included files
* Add tests for new pragmas
* Add special ops for "allow-post-modification" only when needed
* Update FunC version to 0.4.1
* Allow empty inlines (#10 )
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-01-13 12:45:04 +03:00
EmelyanenkoK
e1be988df5
Add try/catch to FunC ( #560 )
...
* Add try-catch
* Fix 'return' bugs
* Update tests
* Fix 'SETCONTVARARGS' bug
* Fix 'SETCONTVARARGS' bug again
* Check deep stack
* Add throw_arg
Co-authored-by: legaii <jgates.ardux@gmail.com>
2022-12-22 15:26:39 +03:00
EmelyanenkoK
d23267d996
Add triple quotes asms ( #463 )
...
* Add python-like triple quotes for multiline strings
* Add test for multiline asm
* Allow asm definition duplicate
* Asm duplicate: add test & fixes
* Fix multiline asm
* Fix asm duplicate
Co-authored-by: legaii <jgates.ardux@gmail.com>
2022-09-22 16:54:26 +03:00
EmelyanenkoK
3b1d33f543
Allow constants with the same name and value ( #462 )
...
Co-authored-by: legaii <jgates.ardux@gmail.com>
2022-09-20 14:16:53 +03:00
AlexeyFSL
e2cca03a78
Func and Fift lib for WASM ( #455 )
...
* Add social badges
Add telegram, Twitter and Stack Overflow badges in Readme
* update README.md badges
* patch for wasm build
* fix narrowing conversion error for clang compiler
* refactor func code
* funcfift lib implementation
* fix funcfift lib
fix CMakeFile
* fix rvalue missing
* remove unused field from result json
* name fix
remove unused target
* rename
* added script for building funcfiftlib to wasm
* fix json fild names
* fix commit hash for script
* added version function to funcfiftlib
* update commit hash for script
* add realpath fail processing
fix DISABLE_EXCEPTION_CATCHING option
* update hash in script
Co-authored-by: Anthony Tsivarev <tsivarev.a@gmail.com>
Co-authored-by: EmelyanenkoK <emelyanenko.kirill@gmail.com>
Co-authored-by: tolya-yanot <1449561+tolya-yanot@users.noreply.github.com>
2022-09-14 12:36:01 +03:00
starlightduck
eb35cf653a
Use td::realpath
and add re-inclusion tests
2022-05-12 18:57:03 +03:00
starlightduck
9356a16b84
Implement #include
keyword with advanced checks and backtrace
2022-05-12 12:54:34 +03:00
EmelyanenkoK
0c772185ef
Add constants and string literals to funC
...
* Add special string literals "..."? (s,a,u,h,)
* Add string literal H (256-bit hash)
* Add string literal c (crc32)
* Use td::hex_encode instead of homebrew function and add test
* Fix error codes and use more generic address
* Add support for int and slice constants
* Add support for strongly typed constants
* Add support for precompiled constant expressions (hard!)
Co-authored-by: starlightduck <starlightduck@gmail.com>
2022-05-06 11:13:04 +03:00
starlightduck
0e955793ed
Add support for #pragma version
and FunC versioning
...
FunC pragma refined error messages and ^ partials
2022-05-06 11:11:42 +03:00
ton
be9c34c62d
bugfixes
2020-04-10 23:06:01 +04:00
ton
54c7a4dcc3
updated vm
...
- updated func/fift
- additional checks in block validator
- docs
- tunnel prototype in ADNL
2020-03-11 14:19:31 +04:00
ton
a73d202ba2
updated func and tonlib
2020-02-15 20:03:17 +04:00
ton
493ae2410c
rldp-http-proxy: use tonlib
...
- rldp-http-proxy used TONLib to resolve domains via DNS smartcontract
- updated tonlib
- bugfixes
2020-02-12 00:14:16 +04:00
ton
acf16718e6
updated func/fift
...
- updated func/fift
- updated liteclient/liteserver
- bugfixes
2019-12-29 12:14:12 +03:00
ton
9c9248a9ae
updated func
...
- updated func
- deleted autogenerated files from git
- updated liteclient
- increase state sync timeout
2019-10-16 13:00:43 +04:00
ton
38c3e39066
func/fift: bugfixes
2019-10-09 20:00:54 +04:00
initial commit
c2da007f40
initial commit
2019-09-07 14:33:36 +04:00