mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
Add support for #pragma version
and FunC versioning
FunC pragma refined error messages and ^ partials
This commit is contained in:
parent
0e47c6c8e0
commit
0e955793ed
5 changed files with 197 additions and 4 deletions
53
crypto/func/test/pv.fc
Normal file
53
crypto/func/test/pv.fc
Normal file
|
@ -0,0 +1,53 @@
|
|||
#pragma test-version-set "1.2.3";
|
||||
|
||||
;; Positive tests
|
||||
#pragma version ^1.2.0;
|
||||
#pragma version ^1.2.3;
|
||||
#pragma version >1.2.0;
|
||||
#pragma version >0.9.9;
|
||||
#pragma version <1.3.0;
|
||||
#pragma version <2.0.0;
|
||||
#pragma version >=1.2.0;
|
||||
#pragma version <=1.3.0;
|
||||
#pragma version >=1.2.3;
|
||||
#pragma version <=1.2.3;
|
||||
#pragma version ^1.2.3;
|
||||
#pragma version 1.2.3;
|
||||
#pragma version =1.2.3;
|
||||
|
||||
;; Negative tests
|
||||
#pragma not-version ^1.1.0;
|
||||
#pragma not-version ^1.0.0;
|
||||
#pragma not-version ^0.2.3;
|
||||
#pragma not-version ^2.2.3;
|
||||
#pragma not-version ^1.3.3;
|
||||
#pragma not-version >1.2.3;
|
||||
#pragma not-version <1.2.3;
|
||||
#pragma not-version ^1.2.4;
|
||||
#pragma not-version >=1.2.4;
|
||||
#pragma not-version <=1.2.2;
|
||||
#pragma not-version 3.2.1;
|
||||
#pragma not-version =3.2.1;
|
||||
|
||||
;; Test incomplete (partial) version
|
||||
#pragma version ^1.2;
|
||||
#pragma version >1.2;
|
||||
#pragma version <1.3;
|
||||
#pragma version <2;
|
||||
#pragma version >=1.2;
|
||||
#pragma version <=1.3;
|
||||
|
||||
;; Advanced ^ behaviour (partials)
|
||||
#pragma version ^1.2;
|
||||
#pragma version ^1.0;
|
||||
#pragma version ^1;
|
||||
#pragma version ^0;
|
||||
#pragma not-version ^1.0.0;
|
||||
#pragma not-version ^0.0.0;
|
||||
#pragma not-version ^0.0;
|
||||
#pragma not-version ^1.3;
|
||||
#pragma not-version ^2;
|
||||
|
||||
(int) main(int a) {
|
||||
return a;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue