aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/formal/Why3Translator.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add support for do/while loopsRhett Aultman2016-11-101-0/+10
| | | | | | | This commit adds support for a standard do <statement> while <expr>; form of statement. While loops were already being supported; supporting a do/while loop mostly involves reusing code from while loops but putting the conditional checking last.
* Chack for non-version pragmasYoichi Hirai2016-10-111-1/+10
|
* formal: ignore pragmas during Why3 code generationYoichi Hirai2016-10-111-0/+5
| | | | Fixes #1177
* Prepare for leaky exceptionsYoichi Hirai2016-09-101-0/+4
| | | | | Now toFormalType() reports errors by exceptions, they will be sometimes leaked to the wider context. This commits adds a catch.
* toFormalType reports errors by an exceptionYoichi Hirai2016-09-101-19/+68
| | | | This allows error reporting without passing `ASTNode` to `toFormalType()`
* Translate mapping types into Why3 arrays when keys are integersYoichi Hirai2016-09-101-0/+14
| | | | | Even when the keys are signed the translation is supposed to work because Why3 arrays allow negative indices.
* Add Address module in the WhyML preludeYoichi Hirai2016-09-081-0/+9
| | | | | | In the `--formal` output, this commit adds a module called `Address`, which defines the address type as unsigned integer type bounded at 2^160-1.
* Fix a typo and whitespacesYoichi Hirai2016-09-071-1/+1
|
* Fix crash when using json compiler with exponentiation.chriseth2016-08-201-2/+7
|
* Handle external effects.chriseth2016-07-131-46/+154
|
* Simplify interface of RationalNumber.chriseth2016-05-111-2/+2
|
* changed names for Rational Constants and categoriesVoR02202016-05-101-4/+4
|
* initial work for fixed types...potentially needing a constant literal type ↵RJ Catalano2016-05-101-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for this notation Rational implemented...trying to figure out exponential fix for token bug, also quick fix for the wei and seconds fixed problem with var...probably a conversion problem for fixed in size capabilities adding fixed type tests Removing bitshift and regrouping fixed type tests together size capabilities functioning properly for fixed types got exponents up and working with their inverse, changed a few of the tests....something is working that likely shouldn't be slight changes to how to flip the rational negative around...still trying to figure it out tests added updated tests odd differences in trying soltest from solc binary, let me know if you can replicate test not working for odd reason fixed test problem with fixed literals...still need a way to log this error broken up the tests, added some, changed some things in types and began compiler work moar tests and prepping for rebuilding much of the types.cpp file further fixing initial work for fixed types...potentially needing a constant literal type for this
* Fixed Windows warningsBob Summerwill2016-03-181-1/+1
|
* Do not store elements of a contract by AST node type.chriseth2015-11-261-10/+5
|
* Style.chriseth2015-11-251-1/+2
|
* Again some why3 fixes with regards to separators in blocks.chriseth2015-11-251-19/+24
|
* Style.chriseth2015-11-231-2/+5
|
* addmod and mulmod for why3.chriseth2015-11-231-17/+36
|
* Why3: Direct references to variables using `#`.chriseth2015-11-231-1/+68
|
* Formal Verification: State variables.chriseth2015-11-191-20/+64
|
* Fix problems with statement blocks.chriseth2015-11-111-18/+40
|
* Rename error type.chriseth2015-10-281-1/+1
|
* Preliminary why3 code output.chriseth2015-10-271-0/+525