Kamil Śliwak
b97c6c55ad
StandardCompiler: Don't assume that link reference always contains a colon
2020-11-16 17:41:54 +01:00
Alex Beregszaszi
a3381d7260
Add settings.viaIR to standard json
2020-11-12 22:38:44 +00:00
Kamil Śliwak
df8e182b46
Link binaries produced in assembly mode
2020-11-09 17:17:43 +01:00
Leonardo Alt
d03ddeb0fa
[SMTChecker] User timeout option
2020-11-03 10:46:11 +00:00
Leonardo Alt
b67ade5163
Move modelCheckerSettings out of settings in StandardCompiler
2020-10-19 10:39:06 +01:00
Leonardo Alt
4e49135318
Add CLI option to choose model checker engine
2020-10-16 15:01:47 +01:00
chriseth
fda8bde2d7
Stop after parsing.
2020-09-30 16:57:49 +02:00
chriseth
00c8fc73ad
Re-organize EVM object names.
2020-09-15 11:29:10 +02:00
chriseth
e7e9b03bd8
Store generated sources in standard-json output.
2020-09-15 11:22:16 +02:00
Daniel Kirchner
143b37af56
Only conditionally run old code generation in CompilerStack, StandardCompiler and semantic tests.
2020-08-06 15:05:17 +02:00
Sachin Grover
b7adb2aa42
Add SPDX license identifier if not present already in source file
...
Fixes : #9220
2020-07-17 20:24:12 +05:30
a3d4
b17915a6ba
Add error IDs to JSON
2020-06-10 13:26:51 +02:00
a3d4
a499ef16fa
Fix spelling errors
2020-05-25 02:54:37 +02:00
Leonardo Alt
0eb067ae4f
Add SMTLogicError exception catches
2020-05-20 13:18:33 +02:00
chriseth
f92a4f1965
Provide runtime object in Yul mode.
2020-05-18 13:48:23 +02:00
Alex Beregszaszi
875415a132
Replace boost/algorithm/cxx11 with C++11 features
2020-05-11 14:27:54 +01:00
Alex Beregszaszi
76dfda7c1c
Replace boost:variant with std::variant in StandardCompiler
2020-05-11 12:39:53 +01:00
Kamil Śliwak
c8b612536f
Add yulDetails.optimizerSteps to the standard JSON interface
2020-04-24 17:30:56 +02:00
Alexander Arlt
aac7a1e434
Apply modernize-pass-by-value.
2020-04-14 10:32:13 -05:00
chriseth
823a119117
Merge pull request #8570 from aarlt/clang-tidy-apply-modernize-use-emplace
...
clang-tidy: Apply modernize-use-emplace.
2020-04-07 17:28:50 +02:00
Daniel Kirchner
84d7bac4f6
Format immutable references similarly to link references.
2020-04-06 11:21:53 +02:00
Daniel Kirchner
81652686be
Debug information for immutable references.
2020-04-06 10:56:42 +02:00
Alexander Arlt
90bb1d8a7c
Apply modernize-use-emplace.
2020-04-02 17:35:48 -05:00
Djordje Mijovic
ec083c4878
Adding source location support to AssemblyStack and thus debugging Yul sources
2020-02-25 22:19:03 +01:00
Djordje Mijovic
18dea6b69c
Assembly: Added missing source field to legacy assembly json output to complete the source reference
2020-02-18 10:22:34 +01:00
Leonardo Alt
36928c7a35
Add reason string for internal reverts
2020-02-10 11:57:20 -03:00
Christian Parpart
345f9928ab
Library libdevcore renamed to libsolutil.
2020-01-07 15:51:50 +01:00
Christian Parpart
6b23412fae
C++ namespace cleanup (except tests).
2020-01-07 15:51:50 +01:00
Alex Beregszaszi
65e59ecd06
Rename EWasm/ewasm/eWasm to Ewasm
2019-12-19 11:36:08 +00:00
chriseth
e3ee67da6c
Merge pull request #7792 from ethereum/enableYulOptimizer
...
Enable yul optimizer by default.
2019-12-03 21:24:22 +01:00
chriseth
2f11ac3590
Merge remote-tracking branch 'origin/develop' into develop_060
2019-12-03 21:17:15 +01:00
Alex Beregszaszi
9140a7d64e
Support catching YulException nicely in StandardCompiler
2019-12-03 19:06:21 +01:00
Daniel Kirchner
77a9e91443
Enable yul optimizer by default.
2019-12-02 19:30:14 +01:00
Leonardo Alt
ddc478e3e4
Add CallbackKind and use it for the SMT solver
2019-11-21 22:10:21 +00:00
chriseth
216e1749f4
Merge remote-tracking branch 'origin/develop' into develop_060
2019-11-14 13:42:46 +01:00
Leonardo Alt
5f43b8dbeb
Output the storage layout of a contract via storageLayout artifact
2019-11-14 10:19:17 +01:00
chriseth
138ee647f1
Provide different options for reason strings.
2019-11-07 14:13:53 +01:00
chriseth
21e65076b3
Merge pull request #7650 from ethereum/develop
...
Merge develop into develop_060
2019-11-06 21:56:55 +01:00
chriseth
587c87b15b
Commandline interface additions for webassembly binary.
2019-11-05 20:05:57 +01:00
chriseth
edf1e83fda
Merge remote-tracking branch 'origin/develop' into develop_060
2019-10-28 15:21:49 +01:00
Christian Parpart
df729b3084
Make use of C++17 std::optional<> instead of boost::optional<>.
2019-10-28 11:39:30 +01:00
Leonardo Alt
d685554980
Create option for metadata hash
2019-09-13 18:59:12 +02:00
rocky
7fd7cc1e76
Produce AST even when there are parser errors
2019-08-07 15:25:53 +02:00
chriseth
d3e542d32c
Provide secondary source location for error messages in standard json.
2019-07-04 10:54:01 +02:00
Leonardo Alt
6f8fd309a2
Compile only requested sources and contracts
2019-07-01 18:52:21 +02:00
chriseth
c6f7f5b2b0
Enable EWasm output.
2019-06-25 19:07:38 +02:00
chriseth
56db792ad9
Merge pull request #6876 from rocky/recoveringParser1-StandardCompiler
...
Add parser errorRecovery (including StandardCompiler)
2019-06-18 22:40:35 +02:00
rocky
1a7e09ab7a
Add errorRecovery boolean to StandardCompiler
2019-06-18 15:54:05 -04:00
chriseth
05a67c486e
Use "what" in exception reports.
2019-06-18 17:34:10 +02:00
Bhargava Shastry
dbae0fa939
Reset Yul string repository before each compilation.
2019-05-28 13:12:39 +02:00
Andrey Bronin
4eb37fe631
fix warning in GCC 9.1: redundant move in return statement
2019-05-14 17:44:28 +03:00
chriseth
420a7dc3d6
Initial IR generator.
2019-04-04 15:02:42 +02:00
chriseth
3264e9abf0
Make optimiser settings available to assembly stack.
2019-03-28 18:24:13 +01:00
chriseth
2308904f68
Remove "using namespace" from header and move Instruction to dev::eth.
2019-03-28 13:48:11 +01:00
chriseth
72c0e44907
Merge pull request #6338 from ethereum/compilerstack-setsource
...
Introduce setSources in CompilerStack
2019-03-26 15:31:57 +01:00
Alex Beregszaszi
e211b5b1e1
Add warning that Yul is still experimental
2019-03-25 20:17:11 +00:00
Alex Beregszaszi
0d6d0f476c
Use setSources
2019-03-25 15:11:00 +00:00
Alex Beregszaszi
642d4b9217
Abort if parseAndAnalyze failed but no errors are reported in compileYul
2019-03-25 13:19:33 +00:00
Alex Beregszaszi
3bc2c35cc4
Support compiling Yul within StandardCompiler
2019-03-22 01:35:16 +00:00
chriseth
d381e26fc8
Rename "enabled" optimizer setting stage to "standard".
2019-03-21 11:04:40 +01:00
chriseth
6d1ed93247
Use stack optimizations.
2019-03-14 15:34:23 +01:00
chriseth
8b20ecb558
Refactor StandardCompiler to split into input parsing/validating and compilation steps.
2019-03-07 17:49:55 +01:00
Alex Beregszaszi
fcbb8ec51c
Allow returning metadata in StandardCompiler without compilation
2019-03-04 16:19:55 +01:00
chriseth
4d10f4b4cf
Process and validate standard-json optimizer settings.
2019-03-04 11:40:28 +01:00
Leonardo Alt
2405b2151a
EVMVersion in langutil namespace instead of solidity
2019-02-25 15:29:57 +01:00
Mudit Gupta
2f91781a80
useLiteralContent data validation
...
Squashed commit of the following:
commit bbceee6997c1b951eb6054f7d5b7560fe1773690
Author: Mudit Gupta <guptamudit@ymail.com>
Date: Tue Jan 22 23:27:49 2019 +0530
Removed extra check
commit 4f7c3cc58e94836b1dddcc5f2938da14adad6252
Author: Mudit Gupta <guptamudit@ymail.com>
Date: Tue Jan 22 17:51:05 2019 +0530
Updated test error message
commit 5da45f2a23840e7bb1978853e1c184faec65b3e0
Author: Mudit Gupta <guptamudit@ymail.com>
Date: Tue Jan 22 17:46:09 2019 +0530
Renamed test
commit e661418deac25f31c49091be3c80244f566fc14c
Author: Leonardo <leo@ethereum.org>
Date: Tue Jan 22 17:41:56 2019 +0530
Update libsolidity/interface/StandardCompiler.cpp
Co-Authored-By: maxsam4 <guptamudit@ymail.com>
commit d289b4dc1956ab736aada613e810cf2e2d124d4d
Author: Mudit Gupta <guptamudit@ymail.com>
Date: Tue Jan 22 17:29:40 2019 +0530
changed style
commit 5a7cf08db3027d75081d2e698dd51b807bef5abb
Author: Mudit Gupta <guptamudit@ymail.com>
Date: Tue Jan 22 17:20:37 2019 +0530
Added test case for missing useLiteralContent
commit 6e866c46aa92d6a89f2b341bd717c3886946f3ff
Author: Mudit Gupta <guptamudit@ymail.com>
Date: Tue Jan 22 17:09:30 2019 +0530
input check for useLiteralContent
2019-01-23 10:22:27 +05:30
chriseth
4c7151e57f
Do not include empty JSON objects in output.
2018-12-19 14:59:29 +01:00
chriseth
beae2a608b
Only fully compile if binaries requested.
2018-12-19 12:58:17 +01:00
Mathias Baumann
c43d96f2bf
Json: Provide better error messages for wrong types
2018-12-18 18:36:50 +01:00
Leonardo Alt
340ee4156d
Sort includes in libsolidity/interface
2018-12-17 19:24:42 +01:00
Leonardo Alt
8cd2ac8462
Disallow unknown JSON keys in standard-json
2018-12-12 17:32:42 +01:00
Christian Parpart
073b03d90c
liblangutil: refactor SourceReferenceFormatter, splitting out retrieval and making use of new SourceLocation's CharStream knowledge
2018-12-06 14:01:01 +01:00
Christian Parpart
c48a5264be
liblangutil: SourceLocation: adds (shared) pointer to underlying CharStream source, eliminating sourceName
...
Also, adapted affecting code to those changes.
2018-11-30 17:07:12 +01:00
Christian Parpart
aeb66905de
Moving SourceReferenceFormatter into langutil namespace.
2018-11-24 12:33:36 +01:00
Leonardo Alt
f44be616c9
Renaming json fields smtlib2queries and smtlib2responses
2018-11-23 09:43:49 +01:00
chriseth
54bed454f6
Rename function and warn if responses are supplied for Z3.
2018-11-23 09:43:49 +01:00
chriseth
bb10be789c
Inject SMTLIB2 queries and responses via standard-json-io.
2018-11-23 09:43:49 +01:00
Christian Parpart
d67322a186
Introduce namespace langutil
in liblangutil directory.
...
Also:
- Use {}-style list initialisation for SourceLocation construction
- Introduce new system includes
- Changes the API of the Scanner to take source as value (with move) as opposed to as a reference
2018-11-21 19:13:44 +00:00
chriseth
e78b95d9d4
Renamed SHA3.{h,cpp} files.
2018-10-18 14:31:36 +02:00
Alex Beregszaszi
fa0ce6a7e7
Use empty() instead of size() == 0
2018-10-09 04:29:37 +01:00
Alex Beregszaszi
384a65f660
Be more strict about values in the optimizer block in StandardJSON
2018-09-26 16:51:08 +01:00
chriseth
64a6888aba
Merge pull request #5063 from ethereum/standard-json-bug
...
Fix typo in parsing/writing JSON error in StandardCompiler
2018-09-24 15:01:38 +02:00
Alex Beregszaszi
abfd283af7
Fix typo in parsing/writing JSON error in StandardCompiler
2018-09-21 22:43:57 +01:00
Alex Beregszaszi
a515173900
Add proper error reporting when invalid settings are provided in StandardJSON
2018-09-21 14:53:24 +01:00
Daniel Kirchner
954d7433bd
Disallow remappings with empty prefix.
2018-08-10 19:26:48 +02:00
Alex Beregszaszi
5b4ad10b3c
Mark StandardCompiler::compile as noexcept
...
It has a generic catch statement and shouldn't leak out exceptions.
2018-08-08 13:22:40 +01:00
Alex Beregszaszi
a5a61a0b77
More consistent catch statements
...
Also take const& in all cases.
2018-07-25 01:18:09 +01:00
Julius Huelsmann
9e26f5fa0a
Do not catch exceptions by value in StandardCompiler
2018-05-17 14:44:01 +02:00
chriseth
5ab4a1ae78
Add ability to set the target EVM version.
2018-03-01 17:19:34 +01:00
Alex Beregszaszi
b6dfd9ef54
Ensure that library addresses supplied are of correct length and hex prefixed in JSONIO
2018-03-01 12:03:56 +01:00
Alex Beregszaszi
7897301b71
Properly validate invalid hex characters in JSONIO libraries
2018-02-28 10:44:48 +01:00
Alex Beregszaszi
83fec0232d
Add more comprehensive tests and checks for libraries in JSONIO
2018-02-28 10:36:07 +01:00
Alexander Arlt
0f29ac4e56
Add new JSON API for better abstraction and for supporting strict JSON parsing
2018-02-20 21:58:26 +01:00
Alexander Arlt
1d4547ab03
Minor improvement: check sources
...
- returns error, if "sources" is an array, an empty object or not defined
- Added new test-cases in test/libsolidity/StandardCompiler.cpp
2018-02-16 18:44:46 +01:00
Alex Beregszaszi
9e7e312fdf
Properly support library file names containing a colon (such as URLs).
2018-01-05 13:24:07 +00:00
Alex Beregszaszi
ff9fdfac57
Properly handle colons in file names within jsonio
2018-01-03 15:44:03 +00:00
Alex Beregszaszi
add4cde68c
Populate the sourceLocation field properly in standard JSON on errors
2017-12-18 12:17:51 +00:00
Alex Beregszaszi
3576ccf5b3
Simplify target selection code
2017-11-29 20:10:18 +00:00
Alex Beregszaszi
b2023196a2
Rename target selection to use the word artifact
2017-11-29 20:10:18 +00:00
Alex Beregszaszi
bbcec95bac
Add workaround for bytecode/deployedBytecode selection
2017-11-29 20:10:18 +00:00