Alex Beregszaszi
|
494dea262e
|
Show unimplemented function if trying to instantiate an abstract class
|
2017-08-04 14:03:37 +01:00 |
|
Alex Beregszaszi
|
c835bcec62
|
Replace isFullyImplemented with unimplementedFunctions in ASTAnnotations
|
2017-08-04 14:03:37 +01:00 |
|
chriseth
|
38e9505a83
|
Merge pull request #2673 from ethereum/builtin-gas
Disallow gas modifier on sha256/ripemd160/ecrecover
|
2017-08-04 14:43:15 +02:00 |
|
chriseth
|
bd9e91085b
|
Merge pull request #2679 from ethereum/delegatecall
.delegatecall() should always return a boolean of execution status
|
2017-08-02 15:46:02 +02:00 |
|
Alex Beregszaszi
|
934a5dbf53
|
Consistent format for secondary location in sourceformatter
|
2017-08-02 11:31:55 +01:00 |
|
Alex Beregszaszi
|
7553beb6a6
|
Consistent new line in sourceformatter
|
2017-08-02 11:31:17 +01:00 |
|
Alex Beregszaszi
|
b7642dc8a7
|
Disallow gas modifier on sha255/ripemd160/ecrecover
|
2017-08-01 20:55:01 +01:00 |
|
Alex Beregszaszi
|
b3061225bc
|
.delegatecall() should always return a boolean of execution status
|
2017-08-01 20:50:03 +01:00 |
|
Alex Beregszaszi
|
39dba0efe8
|
Provide new account gas for low-level callcode/delegatecall
|
2017-08-01 14:00:17 +01:00 |
|
Alex Beregszaszi
|
6d37f30d76
|
Rename Bare to Barecall
|
2017-08-01 10:47:10 +01:00 |
|
chriseth
|
b74118ec57
|
Fix for invalid clearing of memory in ecrecover.
|
2017-07-28 15:32:42 +02:00 |
|
Alex Beregszaszi
|
7d37eba4ba
|
Remove the need of jumping out of the fallback
|
2017-07-27 21:52:58 +01:00 |
|
Alex Beregszaszi
|
d4e44ecb46
|
Disallow externalSignature for fallback functions
|
2017-07-27 21:52:58 +01:00 |
|
Alex Beregszaszi
|
9fc6eccc26
|
Add isFallback() helper
|
2017-07-27 21:52:57 +01:00 |
|
Alex Beregszaszi
|
53f747b7de
|
Merge pull request #2635 from ethereum/fixCrashOnAssignmentToNonLValue
Fix crash on assignment to non-LValue
|
2017-07-27 13:59:22 +01:00 |
|
chriseth
|
517a366404
|
Merge pull request #2652 from ethereum/fixMultiModifier
Re-allow multiple modifiers per function.
|
2017-07-27 14:20:18 +02:00 |
|
chriseth
|
7c7c2baa82
|
Re-allow multiple modifiers per function.
|
2017-07-27 13:45:39 +02:00 |
|
Alex Beregszaszi
|
89fadd6935
|
Merge pull request #2645 from ethereum/asserts
Use solAssert where possible
|
2017-07-27 11:12:30 +01:00 |
|
Yoichi Hirai
|
85b338a019
|
Merge pull request #2643 from ethereum/compilerstack
Reorder CompilerStack to be in logical order
|
2017-07-27 11:28:08 +02:00 |
|
Yoichi Hirai
|
b68591c468
|
Merge pull request #2644 from ethereum/toodeep
Report location on stack too deep if possible
|
2017-07-27 11:21:07 +02:00 |
|
Yoichi Hirai
|
772de8c4d9
|
Merge pull request #2646 from ethereum/standardcompiler
Clean up error catching in StandardCompiler
|
2017-07-27 11:20:17 +02:00 |
|
chriseth
|
1298a8df14
|
Merge pull request #2566 from ethereum/metadata-only-relevant
Metadata: only include relevant files in the source list
|
2017-07-27 11:07:15 +02:00 |
|
Alex Beregszaszi
|
f4b6bdad38
|
DocstringParsingError is not thrown anymore in StandardCompiler
|
2017-07-26 23:25:49 +01:00 |
|
Alex Beregszaszi
|
fb7eec8dd5
|
Catch FatalError in StandardCompiler
|
2017-07-26 23:25:43 +01:00 |
|
Alex Beregszaszi
|
af57879187
|
Report location on stack too deep if possible
|
2017-07-26 22:56:55 +01:00 |
|
Alex Beregszaszi
|
8098030986
|
Use solAssert instead of boost throw where possible
|
2017-07-26 22:23:21 +01:00 |
|
Alex Beregszaszi
|
9982e73dce
|
Reorder CompilerStack to be in logical order
|
2017-07-26 22:16:02 +01:00 |
|
chriseth
|
925569bfa3
|
Merge pull request #1637 from ethereum/warn-shadowing-globals
Warn if shadowing built-ins
|
2017-07-26 17:30:27 +02:00 |
|
Alex Beregszaszi
|
30012db396
|
Add CompilerStack::setOptimiserSettings
|
2017-07-26 15:17:07 +01:00 |
|
Alex Beregszaszi
|
6848199b66
|
Add CompilerStack::setLibraries
|
2017-07-26 15:05:16 +01:00 |
|
Alex Beregszaszi
|
fa5a7efb45
|
Remove unused interfaces from CompilerStack
|
2017-07-26 15:05:16 +01:00 |
|
chriseth
|
cb75e6218b
|
Fix crash on assignment to non-lvalue.
|
2017-07-26 14:32:25 +02:00 |
|
Alex Beregszaszi
|
e0dc74b895
|
Warn about shadowing variables.
|
2017-07-25 16:32:37 +02:00 |
|
chriseth
|
72917c4f35
|
Cleanup fixed point type changes
|
2017-07-19 22:13:42 +01:00 |
|
VoR0220
|
78769f3b39
|
Change fixed point types to have digit count
Signed-off-by: VoR0220 <rj@erisindustries.com>
|
2017-07-19 21:49:01 +01:00 |
|
Rhett Aultman
|
a2a759f792
|
Migrate over to ErrorReporter
|
2017-07-19 07:19:21 -07:00 |
|
Alex Beregszaszi
|
f3e591eedd
|
Add template for merging sets
|
2017-07-19 14:56:40 +01:00 |
|
Alex Beregszaszi
|
89a1e97e7d
|
Avoid cyclic imports in referencedSourceUnits
|
2017-07-19 14:56:40 +01:00 |
|
Alex Beregszaszi
|
c617336587
|
Only include files usde in metadata
|
2017-07-19 14:56:40 +01:00 |
|
Alex Beregszaszi
|
ed592d6ccb
|
Add option to recurse referencedSourceUnits
|
2017-07-19 14:56:40 +01:00 |
|
Alex Beregszaszi
|
a9bddf71aa
|
Add referencedSourceUnits() helper
|
2017-07-19 14:56:40 +01:00 |
|
Alex Beregszaszi
|
1b0ef0b785
|
Add sourceUnit() helper to Declaration
|
2017-07-19 14:56:40 +01:00 |
|
Alex Beregszaszi
|
b3db1c361c
|
Warn if this is used in constructor
|
2017-07-19 06:47:36 -07:00 |
|
Yoichi Hirai
|
2a46e1b0e2
|
Merge pull request #2589 from ethereum/rename-onchainmetadata
Rename onChainMetadata to metadata
|
2017-07-19 11:43:19 +02:00 |
|
Yoichi Hirai
|
becb7af4a2
|
Merge pull request #2597 from ethereum/modifier-internal
Mark modifiers as internal
|
2017-07-19 11:41:07 +02:00 |
|
Yoichi Hirai
|
d63e7df897
|
Merge pull request #2593 from ethereum/parser-error-text
Update parser error for pragma/import/contract
|
2017-07-19 11:40:09 +02:00 |
|
Alex Beregszaszi
|
644de755dc
|
Mark modifiers as internal
|
2017-07-18 23:00:17 +01:00 |
|
Alex Beregszaszi
|
c99d049ac0
|
Update parser error for pragma/import/contract
|
2017-07-18 21:23:49 +01:00 |
|
Alex Beregszaszi
|
5bb4bfb08b
|
Remove unneccesary interface from Natspec
|
2017-07-18 21:05:34 +01:00 |
|
Alex Beregszaszi
|
6d8929a71a
|
Rename onChainMetadata to metadata
|
2017-07-18 20:54:28 +01:00 |
|
Alex Beregszaszi
|
c40cbed9fb
|
Mark const variables
|
2017-07-18 14:44:53 +01:00 |
|
Alex Beregszaszi
|
33ac1f29b5
|
Reorder code for readability
|
2017-07-18 14:44:19 +01:00 |
|
Alex Beregszaszi
|
033fc0cb1a
|
Include types in explicit conversion error message
|
2017-07-13 23:09:01 +02:00 |
|
Alex Beregszaszi
|
4229caaadc
|
Disable large arrays for memory location too
|
2017-07-13 22:47:35 +02:00 |
|
Alex Beregszaszi
|
cb4875a28b
|
Issue error properly for oversized arrays for calldata
|
2017-07-13 22:33:46 +02:00 |
|
Alex Beregszaszi
|
b5da5f6e42
|
Merge pull request #2504 from ethereum/inlineasm-decl-empty
Support variable declarations without an assignment in assembly
|
2017-07-13 16:58:24 +02:00 |
|
chriseth
|
d1c3ecc94a
|
Merge pull request #2567 from ethereum/refactorExceptions
Refactor exceptions and provide comment function.
|
2017-07-13 16:56:03 +02:00 |
|
Alex Beregszaszi
|
8d90e6fc4e
|
Rename expectedItems to numVariables
|
2017-07-13 15:18:40 +02:00 |
|
Alex Beregszaszi
|
cee93d946d
|
Support parsing let statements without a value
|
2017-07-13 15:18:18 +02:00 |
|
chriseth
|
09e821619e
|
Refactor exceptions and provide comment function.
|
2017-07-13 11:34:03 +02:00 |
|
Federico Bond
|
f20b150f38
|
Add type error when attempting value transfer to a non-payable contract
|
2017-07-12 23:57:53 -03:00 |
|
chriseth
|
b7a59652f1
|
Merge pull request #2501 from ethereum/undef-macros
Move UndefMacros from libdevcore to libsolidity/parsing
|
2017-07-12 15:07:20 +02:00 |
|
Alex Beregszaszi
|
db7ad508f8
|
Issue proper warning trying to access calldata variables in inline assembly
|
2017-07-12 10:48:44 +02:00 |
|
chriseth
|
01a1296e90
|
Helper functions.
|
2017-07-11 11:24:41 +02:00 |
|
chriseth
|
883666d2c0
|
Fix invalid "explicit storage keyword" warning for reference members of structs.
|
2017-07-10 18:30:41 +02:00 |
|
chriseth
|
0400e61e28
|
Deprecate throw.
|
2017-07-05 21:15:00 +02:00 |
|
chriseth
|
4bde6fa961
|
Merge pull request #2528 from ethereum/warnNoStorage
Warn if local storage reference variable does not use "storage" explicitly.
|
2017-07-05 21:14:06 +02:00 |
|
chriseth
|
2dd9070a4f
|
Merge pull request #2527 from ethereum/onlyASTIfAnalysisSuccessful
Only output AST if the analysis was successful.
|
2017-07-05 20:40:25 +02:00 |
|
chriseth
|
dd34277ca6
|
Warn if local storage reference variable does not use "storage" explicitly.
|
2017-07-05 19:38:00 +02:00 |
|
chriseth
|
75f7f7e1e6
|
Do not omit error type.
|
2017-07-05 18:28:14 +02:00 |
|
chriseth
|
da48bcc51e
|
Only output AST if the analysis was successful.
|
2017-07-05 18:27:32 +02:00 |
|
chriseth
|
d58e439094
|
Fix internal "variable already present" error.
|
2017-07-04 19:33:55 +02:00 |
|
chriseth
|
2b233e7388
|
Merge pull request #2507 from ethereum/jsonio-safe
Handle parsing errors in StandardCompiler
|
2017-07-03 13:23:28 +02:00 |
|
chriseth
|
aa262d5c8f
|
Merge pull request #2503 from ethereum/julia-analyzer
Add Julia-mode to AsmAnalyzer/CodeGen
|
2017-07-03 13:17:52 +02:00 |
|
Alex Beregszaszi
|
75c193e959
|
Use more refined states in StandardCompiler
|
2017-07-03 12:06:41 +01:00 |
|
Alex Beregszaszi
|
08069bf4a4
|
Export CompilerStack state
|
2017-07-03 12:06:41 +01:00 |
|
Alex Beregszaszi
|
7798a27112
|
Add Julia mode as an option to EVMCodeTransform
|
2017-07-03 10:13:36 +01:00 |
|
Alex Beregszaszi
|
677700d5ac
|
Add assert to shift helper
|
2017-07-02 23:41:22 +01:00 |
|
Alex Beregszaszi
|
d261265595
|
Use shift helper in LValue
|
2017-07-02 23:40:51 +01:00 |
|
Alex Beregszaszi
|
68b0ac4fdd
|
More uses of shift helper
|
2017-07-02 23:40:51 +01:00 |
|
Alex Beregszaszi
|
8fd1d4167d
|
Change shiftNumberOnStack to bits
|
2017-07-02 23:40:47 +01:00 |
|
Alex Beregszaszi
|
c7ae042114
|
Use shift helper
|
2017-07-02 23:37:47 +01:00 |
|
Alex Beregszaszi
|
0494fa98c0
|
Add shift helper to CompilerUtils
|
2017-07-02 23:37:47 +01:00 |
|
Alex Beregszaszi
|
a33a5e3c08
|
Run analyzer in Julia mode if requested in AssemblyStack
|
2017-07-02 00:44:21 +01:00 |
|
Alex Beregszaszi
|
b615b01449
|
Move UndefMacros from libdevcore to libsolidity/parsing
|
2017-07-02 00:09:46 +01:00 |
|
Alex Beregszaszi
|
a46b3479bb
|
Remove parsing of why3 doc strings
|
2017-06-30 22:34:03 +01:00 |
|
Alex Beregszaszi
|
c5947ae6e3
|
Remove Why3 error class
|
2017-06-30 22:30:43 +01:00 |
|
Alex Beregszaszi
|
d4fecc7b11
|
Warn on JUMP/JUMPI in inline assembly
|
2017-06-30 20:47:14 +01:00 |
|
Alex Beregszaszi
|
95f7902955
|
Merge pull request #2491 from ethereum/warnAboutCallcode
Warn about callcode.
|
2017-06-30 20:39:20 +01:00 |
|
chriseth
|
044058276e
|
Warn about callcode.
|
2017-06-30 16:37:32 +02:00 |
|
chriseth
|
71d866cd7a
|
Abort early if there is nothing to encode or decode.
|
2017-06-30 14:16:16 +02:00 |
|
Alex Beregszaszi
|
dad6a9ad08
|
Merge pull request #2457 from ethereum/fixNegativeStackHeight
Fix negative stack height
|
2017-06-28 18:16:52 +01:00 |
|
Alex Beregszaszi
|
c70d73809a
|
Use boost::starts_with
|
2017-06-28 17:01:55 +01:00 |
|
Alex Beregszaszi
|
06fe61f89b
|
Rename to isHexNumber()
|
2017-06-28 17:01:55 +01:00 |
|
Alex Beregszaszi
|
6a708b0cfe
|
Document appendFunctionSelector
|
2017-06-28 18:00:40 +02:00 |
|
chriseth
|
ef9a7b2144
|
Stack adjustment and code generation for fallback function.
This assumes that the fallback function does not have return parameters.
|
2017-06-28 18:00:31 +02:00 |
|
Alex Beregszaszi
|
8b0c866f02
|
Add hasHexPrefix() to AST::Literal
|
2017-06-28 16:57:32 +01:00 |
|
chriseth
|
168f64f4cb
|
Fix negative stack size checks.
|
2017-06-28 16:55:49 +01:00 |
|
chriseth
|
c3e5d6b7ef
|
Give min and max values in warning message.
|
2017-06-28 15:02:25 +02:00 |
|
chriseth
|
9f19bc8cbc
|
Warn if using var x = 0
|
2017-06-28 11:41:03 +02:00 |
|
chriseth
|
708d17d13f
|
Merge pull request #2464 from federicobond/deprecate-function-type-names
Warn deprecated usage of parameter names in function types
|
2017-06-27 16:32:48 +02:00 |
|
Alex Beregszaszi
|
bc31d4969c
|
Merge pull request #2437 from ethereum/warnDoubleCopyStorage
Warn about copies in storage that might overwrite unexpectedly.
|
2017-06-27 10:24:03 +01:00 |
|
Alex Beregszaszi
|
9d201a086c
|
Merge pull request #2459 from ethereum/noComparisonForSomeTypes
No comparison for some types
|
2017-06-26 22:55:22 +01:00 |
|
Alex Beregszaszi
|
b0ab9aaee0
|
Merge pull request #2453 from ethereum/memcopyAsForLoop
Use for loop for assembly memcopy.
|
2017-06-26 22:39:30 +01:00 |
|
chriseth
|
ab15040caa
|
Comment about zero length.
|
2017-06-26 21:48:17 +01:00 |
|
Federico Bond
|
70fd5c1770
|
Warn deprecated usage of parameter names in function types
|
2017-06-26 15:39:01 -03:00 |
|
chriseth
|
d0b6de0b34
|
Warn about copies in storage that might overwrite unexpectedly.
|
2017-06-26 16:31:36 +02:00 |
|
chriseth
|
4407a13c17
|
Only allow equality checks for internal function types.
|
2017-06-26 16:30:37 +02:00 |
|
chriseth
|
f47e6e90fb
|
Disallow comparisons between some types.
|
2017-06-26 16:30:36 +02:00 |
|
Alex Beregszaszi
|
751ba701bc
|
Merge pull request #2450 from ethereum/addressstring
Fix for strings treated as addresses.
|
2017-06-26 12:18:33 +01:00 |
|
Alex Beregszaszi
|
a0b0df2d98
|
Merge pull request #2460 from ethereum/disallowMultiModifier
Disallow invoking the same modifier multiple times.
|
2017-06-26 11:51:12 +01:00 |
|
chriseth
|
c328ab411b
|
Merge pull request #2442 from ethereum/remove-why3
Remove Why3 generator
|
2017-06-26 09:20:23 +02:00 |
|
chriseth
|
d94a12a34c
|
Reformat.
|
2017-06-26 09:19:11 +02:00 |
|
chriseth
|
0aaa6d876d
|
Use for loop for assembly memcopy.
|
2017-06-26 09:18:14 +02:00 |
|
chriseth
|
f879489291
|
Merge pull request #2449 from federicobond/warn-bytesxx-decimal
Warn if decimal literals are used in a bytesXX context
|
2017-06-26 09:13:41 +02:00 |
|
Alex Beregszaszi
|
555dc4f46f
|
Remove Why3 generator
|
2017-06-25 12:26:16 +01:00 |
|
Federico Bond
|
7a3ea61ffd
|
Warn if decimal literals are used in a bytesXX context
Fixes #2349
|
2017-06-23 23:21:19 -03:00 |
|
chriseth
|
5a75581f66
|
Disallow invoking the same modifier multiple times.
|
2017-06-23 20:12:22 +02:00 |
|
chriseth
|
64067975e4
|
Review suggestions.
|
2017-06-23 19:29:11 +02:00 |
|
chriseth
|
831ed08387
|
Change invalid opcode to revert for input validation.
|
2017-06-23 19:29:11 +02:00 |
|
chriseth
|
1f7697eee3
|
Merge pull request #2448 from federicobond/constant-addresses
Fix address literals not being treated as compile-time constants
|
2017-06-23 11:56:24 +02:00 |
|
chriseth
|
50e8a887a4
|
Merge pull request #2443 from ethereum/julia-asm-size
Support appendAssemblySize() in AbstractAssembly
|
2017-06-23 11:30:02 +02:00 |
|
Federico Bond
|
0fb1621a98
|
Fix address literals not being treated as compile-time constants
The early return implemented for address literals in TypeChecker was
preventing the isPure annotation from getting applied. Closes #2441
|
2017-06-23 11:19:57 +02:00 |
|
Alex Beregszaszi
|
f9144ae5a4
|
Merge pull request #2444 from ethereum/parser-scanner
Avoid including Scanner.h in ParserBase.h
|
2017-06-23 00:14:18 +01:00 |
|
Alex Beregszaszi
|
5cf2332d6d
|
Support appendAssemblySize() in AbstractAssembly
|
2017-06-23 00:09:35 +01:00 |
|
Alex Beregszaszi
|
79ed529b3f
|
Merge pull request #2452 from ethereum/fixPassingEmptyString
Fix passing empty string
|
2017-06-22 22:33:06 +01:00 |
|
Alex Beregszaszi
|
007ffe9430
|
Avoid including Scanner.h in ParserBase.h
|
2017-06-22 22:22:19 +01:00 |
|
chriseth
|
bffb8c404f
|
Merge pull request #2408 from federicobond/constant-parameters
Fix segmentation fault with constant function parameters
|
2017-06-22 18:46:15 +02:00 |
|
chriseth
|
83ea7793d9
|
Fix ABI encoding of empty string literal.
|
2017-06-22 17:55:06 +02:00 |
|
chriseth
|
f340ff8764
|
Fix strings interpreted as addresses.
|
2017-06-22 16:48:44 +02:00 |
|
Alex Beregszaszi
|
f823952d9f
|
Merge pull request #2404 from ethereum/methodidentifiers
Clean up method identifiers handling in CLI/CompilerStack
|
2017-06-22 13:00:19 +01:00 |
|
Alex Beregszaszi
|
d5f8ce90c7
|
Merge interface/Exceptions and interface/Utils
|
2017-06-22 11:25:07 +01:00 |
|
Alex Beregszaszi
|
ba7d698ee6
|
Make compiler.contractDefinition private
|
2017-06-22 11:13:06 +01:00 |
|
Alex Beregszaszi
|
b99e4bc68b
|
Rework functionHashes into methodIdentifiers
|
2017-06-22 11:13:06 +01:00 |
|
Alex Beregszaszi
|
63395b31af
|
Use compilerStack.functionHashes in StandardCompiler
|
2017-06-22 11:13:06 +01:00 |
|
Federico Bond
|
0f8ad1d68f
|
Fix segmentation fault with constant function parameters
|
2017-06-21 22:46:27 -03:00 |
|
chriseth
|
622703c0c0
|
Merge pull request #2409 from federicobond/trailing-commas-2
Improve error reporting of trailing commas
|
2017-06-19 12:01:19 +02:00 |
|
chriseth
|
b3a7b5a145
|
Merge pull request #2416 from federicobond/multiple-specifiers
Display error if payable or constant is specified multiple times
|
2017-06-19 12:00:04 +02:00 |
|
chriseth
|
0c75afb2c1
|
Merge pull request #2225 from ethereum/julia-for
Implement for statement in assembly parser / printer / code generator
|
2017-06-19 11:53:22 +02:00 |
|
Federico Bond
|
d170ceaf3d
|
Display error if payable or constant is specified multiple times
|
2017-06-17 12:21:46 -03:00 |
|
chriseth
|
868b5ad3aa
|
Split block code generation into main and finalize.
|
2017-06-16 10:56:21 +01:00 |
|
chriseth
|
78b49db779
|
Helper to count the number of variables in a scope.
|
2017-06-16 10:56:21 +01:00 |
|
chriseth
|
8e5c4bf21d
|
Add include file to forward-declare inline assembly structs.
|
2017-06-16 10:56:21 +01:00 |
|
chriseth
|
49b1112117
|
For loops analysis.
|
2017-06-16 10:56:21 +01:00 |
|
Alex Beregszaszi
|
47925bc14e
|
Parse for statement in assembly parser / printer
|
2017-06-16 10:56:21 +01:00 |
|
Federico Bond
|
0eaae03bbf
|
Try to recover from parser errors where possible
|
2017-06-15 21:14:05 -03:00 |
|
Federico Bond
|
60bfae75e5
|
Improve error reporting of trailing commas
|
2017-06-15 13:10:08 -03:00 |
|
chriseth
|
9084d48750
|
Merge pull request #2382 from ruchevits/combined-json-hashes
Allow including hashes of method signatures in --combined-json output
|
2017-06-15 10:10:18 +02:00 |
|
Alex Beregszaszi
|
c08c4b8b6f
|
Move subroutine helpers from CompilerContext to Assembly
|
2017-06-14 21:21:26 +01:00 |
|
Alex Beregszaszi
|
398099f50e
|
Remove obsolete errorTag()
|
2017-06-14 21:21:26 +01:00 |
|