chriseth
|
9f8406ad37
|
Add protection against mixing "viaIR" and "non-viaIR".
|
2021-09-22 15:34:39 +02:00 |
|
chriseth
|
2741175507
|
Use function debug data.
|
2021-09-22 11:11:51 +02:00 |
|
Alex Beregszaszi
|
55c64e3ca1
|
Always explicitly initialise Json objects
|
2021-09-21 10:49:13 +01:00 |
|
Kamil Śliwak
|
fc8c4b046c
|
StandardCompiler: Do not discard non-fatal errors that happened before a fatal error
|
2021-09-16 20:29:03 +02:00 |
|
chriseth
|
c892d1904b
|
Simplify version.cpp
|
2021-09-16 16:03:27 +02:00 |
|
chriseth
|
8188ea7d66
|
Merge pull request #11931 from ethereum/different-metadata-via-ir
Different metadata for IR
|
2021-09-14 15:48:08 +02:00 |
|
Leonardo
|
e45083f319
|
Merge pull request #11606 from ethereum/info_message
Add new info severity
|
2021-09-14 14:30:07 +02:00 |
|
Kamil Śliwak
|
405a9e9971
|
Generate separate metadata for the old and the new codegen
|
2021-09-14 13:44:04 +02:00 |
|
Kamil Śliwak
|
14639efc5d
|
Print code snippets next to source locations in IR output
|
2021-09-14 12:09:59 +02:00 |
|
Leo Alt
|
e72fa7fc10
|
Add new info severity
|
2021-09-13 22:48:22 +02:00 |
|
Kamil Śliwak
|
13f46ebb1e
|
FileReader: Normalize base path and strip it from normalized source paths
|
2021-08-27 15:10:46 +02:00 |
|
Kamil Śliwak
|
cb1a0f08ca
|
readFileAsString(): Accept path as boost::filesystem::path instead of string
|
2021-08-17 12:58:33 +02:00 |
|
Leo Alt
|
08c065ee04
|
Add option divModWithSlacks
|
2021-08-06 15:50:25 +02:00 |
|
Leo Alt
|
3c1f555f71
|
Tests
|
2021-08-04 13:54:50 +02:00 |
|
Leo Alt
|
41087f3195
|
Add CLI and JSON option to show unproved targets
|
2021-08-04 13:54:50 +02:00 |
|
Christian Parpart
|
6294aa871a
|
Simplify AsmParser::parse(.) usage
|
2021-08-03 15:43:17 +02:00 |
|
chriseth
|
ffc5cfd9a5
|
Remove scanner from compiler stack.
|
2021-08-03 15:43:17 +02:00 |
|
Leo Alt
|
6c8ecfa82c
|
Add option to choose solver
|
2021-07-27 17:14:21 +02:00 |
|
Ladislav Sladecek
|
9bbeea58c8
|
Make --pretty-json work with Standard JSON output
|
2021-07-26 16:00:46 +02:00 |
|
chriseth
|
e3525b81d0
|
Supply scanner to model checker.
|
2021-07-14 15:12:10 +02:00 |
|
chriseth
|
f75b55071e
|
Remove CharStream from SourceLocation.
|
2021-07-14 15:12:07 +02:00 |
|
Christian Parpart
|
132fa46faa
|
Yul: Adds parsing @src comment in AsmParser to customize the AST's sourcer locations.
|
2021-07-09 11:48:00 +02:00 |
|
chriseth
|
566537835b
|
Merge pull request #11627 from ethereum/allowEmptyFileName
Include locations with empty source name.
|
2021-07-07 12:52:49 +02:00 |
|
chriseth
|
6ba298c82b
|
Include locations with empty source name.
|
2021-07-07 12:13:52 +02:00 |
|
Kamil Śliwak
|
7d16c7b127
|
Equality operators for ModelCheckerSettings and ImportRemapper
|
2021-07-06 17:17:18 +02:00 |
|
Kamil Śliwak
|
6ad6fa2382
|
Do not hard-code the default 'runs' value as 200 in code that fills out optimizer settings
|
2021-06-28 14:12:28 +02:00 |
|
Kamil Śliwak
|
6d8ef71277
|
Consistently use size_t everywhere for runs/expectedExecutionsPerDeployment
|
2021-06-28 14:09:28 +02:00 |
|
Djordje Mijovic
|
838f59fa5b
|
Adding origin location notation to yul ir.
|
2021-06-21 18:48:20 +02:00 |
|
chriseth
|
0df8a38e55
|
Support metadata via IR.
|
2021-06-21 18:20:31 +02:00 |
|
Alex Beregszaszi
|
0e8e4eacd5
|
Pass on assembly instance from AssemblyStack to CompilerStack
This allows for generation of various output artifacts supported by the old codegen
|
2021-06-17 15:35:59 +02:00 |
|
Alex Beregszaszi
|
79794081eb
|
Extract assemble() from compileContract() in CompilerStack
|
2021-06-17 15:28:22 +02:00 |
|
Kamil Śliwak
|
59957b18dc
|
Make missing settings.optimizer.enabled key in Standard JSON equivalent to setting it to false
|
2021-06-15 16:06:22 +02:00 |
|
chriseth
|
3eaa37030a
|
Fix infinite recursion in function call graph generator due to recursive constant references.
|
2021-06-08 16:39:30 +02:00 |
|
chriseth
|
7d8a4e63d8
|
Merge pull request #11491 from TerranCivilian/fix-10269
Remove unneeded include files
|
2021-06-07 20:15:20 +02:00 |
|
TerranCivilian
|
c15501eea9
|
Remove unneeded include files
|
2021-06-07 12:53:18 -04:00 |
|
Mathias Baumann
|
aae9d347aa
|
Split DocStringParsing in two stages
one requiring type info in the next step
|
2021-06-07 14:49:46 +02:00 |
|
Mathias Baumann
|
56ebea8b2f
|
ControlFlowAnalyser: Also consider called functions in a flow
|
2021-06-01 15:54:37 +02:00 |
|
Alex Beregszaszi
|
75c72cd54d
|
Properly support inliner in settings.optimizer.details
|
2021-05-20 20:22:34 +01:00 |
|
chriseth
|
f9c94d7c42
|
Note function entry points.
|
2021-05-04 17:15:13 +02:00 |
|
Djordje Mijovic
|
e404b6e7a6
|
Refactoring yul source locations.
|
2021-05-04 16:05:23 +02:00 |
|
Kamil Śliwak
|
5023cef382
|
OptimiserSettings: Add preset() and OptimisationPreset enum
|
2021-04-27 14:06:44 +02:00 |
|
Alexander Arlt
|
481971cbcf
|
[isoltest] Add support for external sources.
|
2021-04-26 08:27:30 -05:00 |
|
Alex Beregszaszi
|
e39433198d
|
Remove the usage of boost::noncopyable
Prior to this half of the codebase used explicit deleted copy constructors, the others used boost::noncopyable.
|
2021-04-23 14:57:01 +01:00 |
|
Leonardo Alt
|
dd1865873e
|
Choose contracts to be analyzed by the SMTChecker
|
2021-04-21 10:34:14 +02:00 |
|
chriseth
|
cf7f814a4e
|
Merge pull request #10921 from ethereum/issue-10881
Natspec: Don't copy from base function if return parameters differ
|
2021-04-20 15:33:48 +02:00 |
|
Leonardo Alt
|
e3abde43f5
|
Change settings.modelChecker.targets to take an array instead of string
|
2021-04-19 17:53:03 +02:00 |
|
Mathias Baumann
|
1737bd7ded
|
Natspec: Don't copy from base function if return parameters differ
|
2021-04-19 15:20:30 +02:00 |
|
Kamil Śliwak
|
0922d60ba6
|
FileReader: More accurate description of FileReader::readFile() and its arguments
|
2021-04-13 13:26:01 +02:00 |
|
Kamil Śliwak
|
6a41b417a3
|
FileReader: Store files loaded by the callback under their source unit name
|
2021-04-13 13:25:59 +02:00 |
|
Leonardo Alt
|
b753cb6120
|
Deprecate pragma experimental SMTChecker
|
2021-04-08 21:03:38 +02:00 |
|
Christian Parpart
|
257672e56f
|
Extract file reading logic from CommandLineInterface into FileReader class.
|
2021-04-06 17:10:43 +02:00 |
|
Christian Parpart
|
3490577140
|
Extract import-file remapping logic out of CompilerStack into ImportRemapper.
|
2021-04-06 14:28:53 +02:00 |
|
Christian Parpart
|
30588a90eb
|
CompilerStack: assemblyString doesn't need to receive sourceCodes map as copy.
|
2021-04-06 14:28:01 +02:00 |
|
Mathias Baumann
|
e590a99f39
|
Detect circular references for library and free functions
|
2021-03-30 23:06:30 +02:00 |
|
chriseth
|
79d7466e19
|
NatSpec for errors.
|
2021-03-30 21:16:58 +02:00 |
|
chriseth
|
517cd17a6f
|
Add errors to the ABI.
|
2021-03-30 21:16:58 +02:00 |
|
chriseth
|
e877e2bba7
|
Use all referenced errors.
|
2021-03-30 21:15:46 +02:00 |
|
hrkrshnn
|
45a3747701
|
Added FunctionSpecializer to the optimization suite
|
2021-03-29 11:02:18 +02:00 |
|
Mathias Baumann
|
e197ebbdd1
|
Replace TypePointer with Type const*
|
2021-03-23 11:47:19 +01:00 |
|
chriseth
|
5690020d88
|
Allow custom natspec tags.
|
2021-03-02 16:13:28 +01:00 |
|
Kamil Śliwak
|
781f00771c
|
Remove IRGenerator::verifyCallGraphs and make generate() verify the graphs automatically
|
2021-02-23 10:47:02 +01:00 |
|
Kamil Śliwak
|
54eb34d6fd
|
Move call graphs from CompilerStack to ContractDefinitionAnnotation
|
2021-02-23 10:47:02 +01:00 |
|
Kamil Śliwak
|
6c28120f19
|
Move CallGraph structure to a separate module
|
2021-02-23 10:47:02 +01:00 |
|
Kamil Śliwak
|
769a7687c6
|
Make CompilerStack::contractDefinition() public
|
2021-02-23 10:47:02 +01:00 |
|
Mathias Baumann
|
53d70dec57
|
CompilerStack: Build call graphs in the analysis phase
|
2021-02-23 10:46:28 +01:00 |
|
Kamil Śliwak
|
529495c530
|
CompilerStack: Typo in a comment
|
2021-02-23 10:29:12 +01:00 |
|
Kamil Śliwak
|
e27afe93a9
|
CompilerStack: Fix style on local variable name
|
2021-02-23 10:29:12 +01:00 |
|
Djordje Mijovic
|
68a4efb2e7
|
Refactor overwriteRelease flag.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
|
2021-02-12 10:37:59 +01:00 |
|
chriseth
|
a72ab1c9c1
|
Replace "runtime" by "deployed" naming.
|
2021-02-10 00:56:16 +01:00 |
|
chriseth
|
9b20c9840a
|
Merge pull request #10885 from ethereum/heuristic-revamp
Yul Backend: Get rid of heuristics for finding the matching runtime
|
2021-02-10 00:49:56 +01:00 |
|
Daniel Kirchner
|
cb74a45fd6
|
Add inlining for old optimizer.
|
2021-02-09 19:08:58 +01:00 |
|
Mathias Baumann
|
e4f1257c83
|
Yul Backend: Get rid of heuristics for finding the matching runtime
|
2021-02-09 14:50:25 +01:00 |
|
Leonardo Alt
|
3b23cadbdc
|
Add CLI and JSON option to select SMTChecker targets
|
2021-01-20 17:35:37 +01:00 |
|
Suriyaa Sundararuban
|
8649df169d
|
Update Natspec documentation URL
|
2020-12-27 14:55:40 +01:00 |
|
Alex Beregszaszi
|
953d18c6cb
|
Output runtime object in IR
|
2020-12-16 19:23:10 +00:00 |
|
chriseth
|
561280a5cc
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-14 11:33:40 +01:00 |
|
Alex Beregszaszi
|
bcaefb57b8
|
Add evmAssembly and evmRuntimeAssembly pointer in CompilerStack
This is a preparation for allowing those outputs to be served from the IR too
|
2020-12-11 14:53:29 +00:00 |
|
Alex Beregszaszi
|
98d8174d31
|
Simplify Compiler/CompilerContext by removing extra layers of indirection
|
2020-12-11 14:43:51 +00:00 |
|
chriseth
|
482bda6887
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-10 12:15:52 +01:00 |
|
Daniel Kirchner
|
e691b7402a
|
Move standard-json "modelCheckerSettings" key to "settings.modelChecker".
|
2020-12-09 15:53:32 +01:00 |
|
chriseth
|
b18c76e34b
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-09 15:24:49 +01:00 |
|
Alex Beregszaszi
|
47b10fd751
|
Report warning if contract uses abicoder v1, but IR is requested
|
2020-12-09 01:20:58 +00:00 |
|
chriseth
|
806453aca9
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-08 21:00:09 +01:00 |
|
Alex Beregszaszi
|
7e88ba8da0
|
Enable the -Wconversion warning
|
2020-12-08 16:45:24 +00:00 |
|
chriseth
|
b045195c1e
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-08 17:42:31 +01:00 |
|
chriseth
|
759db0e646
|
Properly filter requested artefacts inside the EVM objects.
|
2020-12-07 22:03:06 +01:00 |
|
chriseth
|
d56a7bb89e
|
Merge pull request #10489 from ethereum/develop
Merge develop into breaking.
|
2020-12-03 18:11:12 +01:00 |
|
chriseth
|
27e44b85e3
|
Merge pull request #10419 from ethereum/bug-namesimplifier
Fix a bug in NameSimplifier.
|
2020-12-03 17:52:40 +01:00 |
|
hrkrshnn
|
3efac3eef0
|
NameSimplifier is removed from steps available to users.
|
2020-12-02 13:48:01 +01:00 |
|
chriseth
|
9a5902f9d7
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-02 12:28:02 +01:00 |
|
chriseth
|
c193ce6c07
|
Rename SourceReferenceFormatterHuman.
|
2020-12-01 16:09:46 +01:00 |
|
Alex Beregszaszi
|
1dedba8538
|
Only use SourceReferenceFormatterHuman
|
2020-12-01 16:09:46 +01:00 |
|
Alex Beregszaszi
|
a22077f736
|
Rename AsmData -> AST
Also attempt to only include ASTForward where appropriate.
|
2020-11-25 17:58:02 +00:00 |
|
Alex Beregszaszi
|
3bce2a2294
|
Remove the legacy AST JSON output
|
2020-11-25 11:40:33 +00:00 |
|
Kamil Śliwak
|
5560239cf5
|
Replace links to readthedocs.io with ones using the new domain
|
2020-11-18 15:20:34 +01:00 |
|
Kamil Śliwak
|
4174f38b02
|
StandardCompiler: Include file names in link references
|
2020-11-17 17:51:04 +01:00 |
|
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 |
|
Alex Beregszaszi
|
301d7ea39e
|
Add viaIR option to CompilerStack
It also sets the experimental flag in the metadata to true.
|
2020-11-12 22:34:31 +00:00 |
|
Alex Beregszaszi
|
fcedaba7f7
|
[ewasm] Allow compiling abstract/interface contracts
|
2020-11-12 15:26:11 +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 |
|
Mathias Baumann
|
a4dc110b38
|
Fix dependency tracking for abstract contracts for Yul codegen
|
2020-10-20 16:58:24 +02:00 |
|
Mathias Baumann
|
e991465336
|
Fix dependency tracking for abstract contracts
|
2020-10-20 16:58:24 +02: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 |
|
a3d4
|
f29ebc0847
|
Fix shadowing/same-name warnings for later declarations
|
2020-10-08 20:22:04 +02:00 |
|
chriseth
|
21dee1c8ba
|
Check for circular constants across contracts.
|
2020-10-08 18:56:17 +02:00 |
|
Christian Parpart
|
04079bff6f
|
Eliminates dead code around GasEstimator
- structuralEstimation()
- breakToStatementLevel()
|
2020-10-07 13:31:40 +02:00 |
|
Mathias Baumann
|
6af16469e7
|
Remove unneeded assert
An error will trigger later in the name resolve phase
|
2020-10-05 13:01:11 +02:00 |
|
chriseth
|
fda8bde2d7
|
Stop after parsing.
|
2020-09-30 16:57:49 +02:00 |
|
Bhargava Shastry
|
e2a2276272
|
Contract level checker: Disallow free function redefinition and alias
shadowing another free function
Co-authored-by: chriseth <chris@ethereum.org>
|
2020-09-25 17:09:58 +02:00 |
|
Mathias Baumann
|
dd81d05559
|
Make annotations `SetOnce or optional ` where feasible
|
2020-09-22 17:38:21 +02:00 |
|
chriseth
|
930646ba2b
|
Report locations of unimplemented features.
|
2020-09-15 14:41:46 +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 |
|
Leonardo
|
72f8a753a9
|
Merge pull request #9586 from ethereum/scoper
Assign scopes as a separate step.
|
2020-09-11 10:45:54 +02:00 |
|
chriseth
|
6101bdf7e2
|
Name simplifier.
|
2020-09-10 16:23:29 +02:00 |
|
Harikrishnan Mulackal
|
e2fd41f097
|
Implemented UnusedFunctionArgumentPruner
|
2020-09-03 13:15:38 +02:00 |
|
chriseth
|
2934a1f037
|
Assign scopes as a separate step.
|
2020-09-02 20:45:33 +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 |
|
chriseth
|
b8b78a6982
|
Use cbor metadata in gas cost tests.
|
2020-07-28 23:42:22 +02:00 |
|
a3d4
|
5b54cfbed3
|
Report an error if immutables not assigned
|
2020-07-23 16:38:54 +02:00 |
|
chriseth
|
9be5ed1220
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-07-21 11:35:28 +02:00 |
|
Mathias Baumann
|
ba0a4de50d
|
NatSpec: Implement `@inheritdoc `
|
2020-07-20 18:32:18 +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 |
|
chriseth
|
64b6524bdb
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-07-08 09:37:14 +02:00 |
|
Harikrishnan Mulackal
|
849bae2aa7
|
Natspec: change events() to interfaceEvents()
|
2020-07-07 17:22:09 +05:30 |
|
chriseth
|
da36400576
|
Disallow visibility for constructors.
|
2020-07-07 11:49:44 +02:00 |
|
chriseth
|
3e3f9a472f
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-06-30 18:56:51 +02:00 |
|
Mathias Baumann
|
c50f0ae00e
|
NatSpec: Implement default inheritance.
|
2020-06-30 14:45:13 +02:00 |
|
Harikrishnan Mulackal
|
4146ff9fcf
|
NatSpec for events
|
2020-06-26 15:06:43 +05:30 |
|
chriseth
|
71cb7551f4
|
Merge pull request #9208 from ethereum/develop
Merge develop into breaking.
|
2020-06-16 16:11:41 +02:00 |
|
chriseth
|
8e23899886
|
Merge pull request #9188 from ethereum/refactorNameAndType
Refactor name and type resolution in preparation for free functions.
|
2020-06-16 14:26:52 +02:00 |
|
chriseth
|
8155ad2187
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-06-15 17:11:41 +02:00 |
|
Mathias Baumann
|
d54e7f50ed
|
Natspec: Output "type" and "version" in documenation
|
2020-06-15 14:53:34 +02:00 |
|
chriseth
|
07c1167136
|
Refactor name and type resolution.
|
2020-06-12 12:18:02 +02:00 |
|
Leonardo
|
d7f29a33b9
|
Merge pull request #9096 from ethereum/conversionWarningsLibSol
Adding fixes for signedness warnings in libsolidity
|
2020-06-11 01:06:32 +02:00 |
|
a3d4
|
b17915a6ba
|
Add error IDs to JSON
|
2020-06-10 13:26:51 +02:00 |
|
Djordje Mijovic
|
c6e4943089
|
Adding fixes for signedness warnings in libsolidity
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
|
2020-06-10 10:41:55 +02:00 |
|
chriseth
|
69a028b49c
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-05-26 10:11:23 +02:00 |
|
a3d4
|
a499ef16fa
|
Fix spelling errors
|
2020-05-25 02:54:37 +02:00 |
|
chriseth
|
74b9b094c0
|
Merge remote-tracking branch 'origin/develop' into HEAD
|
2020-05-20 17:22:47 +02:00 |
|
Leonardo
|
56b5f1bb12
|
Merge pull request #8976 from ethereum/libsmtutil
libsmtutil
|
2020-05-20 16:14:37 +02:00 |
|
chriseth
|
84092edc5d
|
Merge pull request #8914 from random-internet-cat/down-with-unique-ptr
Down with unique_ptr!
|
2020-05-20 13:22:06 +02:00 |
|
Leonardo Alt
|
0eb067ae4f
|
Add SMTLogicError exception catches
|
2020-05-20 13:18:33 +02:00 |
|
Leonardo Alt
|
45eba27424
|
Rename namespace
|
2020-05-20 12:55:18 +02:00 |
|
Leonardo Alt
|
087605ea02
|
Create libsmtutil
|
2020-05-20 12:55:18 +02:00 |
|
chriseth
|
d422a406ba
|
Merge pull request #8983 from ethereum/develop
Merge develop into breaking.
|
2020-05-19 18:05:28 +02:00 |
|
Alexander Arlt
|
af8bb5fb60
|
Allow natspec comments on state variables.
|
2020-05-19 11:01:52 -05:00 |
|