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 |
|
Erik Kundt
|
7d37ed4531
|
Adds structured docs for variable declarations.
- adds natspec generation for state variables.
- exports structured docs for state variables to JSON.
|
2020-05-19 11:01:52 -05:00 |
|
Jason Cobb
|
20c8851f43
|
Use optional for CompilerStack::Contract source mappings
|
2020-05-18 10:24:38 -04:00 |
|
chriseth
|
f92a4f1965
|
Provide runtime object in Yul mode.
|
2020-05-18 13:48:23 +02:00 |
|
chriseth
|
2d1e7d9504
|
Merge pull request #8931 from random-internet-cat/lazy-init
Add LazyInit
|
2020-05-14 18:54:19 +02:00 |
|
chriseth
|
993a7941b1
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-05-14 17:24:40 +02:00 |
|
Jason Cobb
|
eae31559be
|
Use LazyInit for CompilerStack::Contract members
|
2020-05-14 10:39:53 -04:00 |
|
chriseth
|
e751a1c23d
|
Move scopes into resolver.
|
2020-05-14 13:16:47 +02:00 |
|
chriseth
|
257bc6a416
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-05-14 13:04:46 +02:00 |
|
chriseth
|
3872a1f000
|
Add support for SPDX license identifiers.
|
2020-05-13 18:16:59 +02:00 |
|
chriseth
|
0be56a0abf
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-05-12 17:48:53 +02:00 |
|
Harikrishnan Mulackal
|
095e17f7f9
|
Bug that ignored return tag when no other devdoc tags were present
|
2020-05-12 20:05:22 +05:30 |
|
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 |
|
a3d4
|
5e9502bfae
|
Fix ABI internal compiler error caused by an internal constructor
|
2020-05-07 05:49:49 +02:00 |
|
a3d4
|
8f68c04358
|
Add unique IDs to error reporting calls
|
2020-05-06 13:53:46 +02:00 |
|
hrkrshnn
|
aa65e9423c
|
Uniform output in functions and constructor NatSpec
|
2020-05-04 12:39:43 +05:30 |
|
Djordje Mijovic
|
f3f729549d
|
[Sol->Yul] Enabling creation function call
|
2020-04-27 16:15:57 +02:00 |
|
Kamil Śliwak
|
c8b612536f
|
Add yulDetails.optimizerSteps to the standard JSON interface
|
2020-04-24 17:30:56 +02:00 |
|
Kamil Śliwak
|
c41a832f65
|
Move the default optimisation steps from OptimiserSuite to OptimiserSettings
- Now it's a mandatory parameter in OptimiserSuite::run()
|
2020-04-24 17:30:56 +02:00 |
|
Alexander Arlt
|
aac7a1e434
|
Apply modernize-pass-by-value.
|
2020-04-14 10:32:13 -05:00 |
|
Daniel Kirchner
|
3af43fd350
|
Extract typing.
|
2020-04-14 10:59:28 +02: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 |
|
Mathias Baumann
|
ac7b31e559
|
Validate immutable variables
|
2020-04-02 13:52:27 +02:00 |
|
a3d4
|
66783c30ce
|
Introduced TestCaseReader.
|
2020-03-16 23:14:33 +01:00 |
|
Djordje Mijovic
|
37878cf8d2
|
Adding support for ipfs large files.
|
2020-03-11 13:55:46 +01:00 |
|
chriseth
|
bb09787bd0
|
Merge pull request #8378 from mijovic/yulSourceLocations
Adding source location support to AssemblyStack
|
2020-02-25 22:34:57 +01:00 |
|