Commit Graph

2149 Commits

Author SHA1 Message Date
Jesse Busman
c059119145 Add implicit convertibility to function pointer with higher state mutability 2018-08-14 17:13:10 +02:00
chriseth
ec7ccbdf86
Merge pull request #4782 from ethereum/encodePackedArrayOfStructs
Encode packed array of structs
2018-08-14 16:32:57 +02:00
Christian Parpart
81faafe7f2
Adds support for structs in interfaces.
Closes #4733.
2018-08-14 15:36:03 +02:00
chriseth
6ca3973944
Merge pull request #4777 from ethereum/typeConversionMemory
Defaul data location for type conversions is memory.
2018-08-14 11:36:19 +02:00
chriseth
3dd31b704a
Merge pull request #4798 from ethereum/mappingArgumentsAndReturns
Mapping arguments and returns
2018-08-13 17:27:29 +02:00
chriseth
ae8218543b
Merge pull request #4696 from ethereum/byteLiteralConversion
Disallow ambiguous implicit and explicit conversions from number literals to bytesXX
2018-08-13 17:25:30 +02:00
Daniel Kirchner
341128962f Allow mappings of arrays as arguments and return values of internal functions. 2018-08-13 16:33:37 +02:00
Daniel Kirchner
4ae59acc09 Consider mappings return values in control flow analysis. 2018-08-13 16:33:37 +02:00
Daniel Kirchner
a9f31da411 Allow mapping arguments and return values in all internal functions. 2018-08-13 15:50:22 +02:00
chriseth
bd567a22c9 Defaul data location for type conversions is memory. 2018-08-13 14:38:12 +02:00
Daniel Kirchner
57ada1d69e Allow mapping arguments and return values in internal library functions. 2018-08-13 14:31:10 +02:00
Daniel Kirchner
7d7abeb149 Disallow ambiguous conversions between number literals and bytesXX types. 2018-08-13 14:27:01 +02:00
Daniel Kirchner
954d7433bd Disallow remappings with empty prefix. 2018-08-10 19:26:48 +02:00
chriseth
0b65b2dff6 Disallow packed encoding of arrays of structs. 2018-08-09 21:16:51 +02:00
chriseth
6954f83a0c
Merge pull request #4790 from ethereum/fixCalldata
Fix data location of external reference parameters.
2018-08-09 19:40:15 +02:00
Daniel Kirchner
b6e352f694
Merge pull request #4767 from ethereum/cvc4Build
Add workarounds for building against CVC4 on ArchLinux.
2018-08-09 15:45:52 +02:00
chriseth
c9ca083d14 Fix data location of external reference parameters. 2018-08-09 15:04:00 +02:00
Alex Beregszaszi
ed52f422b7 Rename FunctionKind SHA3 to KECCAK256 (as the instruction was renamed in libevmasm) 2018-08-08 22:37:40 +01:00
chriseth
d634d20b5b
Merge pull request #4684 from ethereum/underscores_in_numeric_literals
[BREAKING] Underscores in numeric literals
2018-08-08 21:36:57 +02:00
Daniel Kirchner
c7a0f44159 Do not force GMP to be present as dependency of CVC4, but also allow CLN instead. 2018-08-08 19:02:59 +02:00
Daniel Kirchner
9b4546c487 Add workarounds for building against CVC4 on ArchLinux. 2018-08-08 19:02:59 +02:00
Alex Beregszaszi
551343ae3e
Merge pull request #4665 from mattaereal/cmake-patch-solver
cmake option added to make solvers optional
2018-08-08 17:58:01 +01:00
Alex Beregszaszi
9d782cc39c
Merge pull request #4770 from ethereum/throw-codegen
Remove code generation for Throw statement
2018-08-08 17:55:27 +01:00
Alex Beregszaszi
bb071f3075
Merge pull request #4769 from ethereum/inlineasm-overloading-resolution
Provide nicer error message when referencing overloaded references
2018-08-08 17:55:10 +01:00
Alex Beregszaszi
a9819aa8bc Remove code generation for Throw statement
It is disallowed in the type system.
2018-08-08 17:02:25 +01:00
Matías Aereal Aeón
4b20708c49 cmake flags to make solvers optional. Implementation of #4651 2018-08-08 12:43:57 -03:00
Alex Beregszaszi
9062704054
Merge pull request #4753 from mattaereal/boost-to-string-patch
Replace boost:lexical_cast<std::string> for std::to_string.
2018-08-08 16:07:25 +01:00
Alex Beregszaszi
3c791d637d Provide nicer error message when referencing overloaded references 2018-08-08 15:59:24 +01:00
Alex Beregszaszi
efeffa8083
Merge pull request #4761 from ethereum/libsolc-exceptions
Mark libsolc external C functions as noexcept
2018-08-08 15:56:12 +01:00
Matías Aereal Aeón
e902ce1aa0 Removing std:: from std::to_string and include for boost/lexical_cast 2018-08-08 11:26:30 -03:00
Alex Beregszaszi
1bfb841771 Remove experimental 0.5.0 pragma 2018-08-08 14:05:36 +01:00
chriseth
de8e9114fd
Merge pull request #4740 from ethereum/enforceNumberOfReturnValues
Disallow empty return in function with return arguments.
2018-08-08 14:59:09 +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
Christian Parpart
b9222808f6
Cleanup & polish numbers-with-underscores parsing, also improving tests. 2018-08-08 13:38:46 +02:00
chriseth
d0863f4994
Merge pull request #4748 from ethereum/validate-identifier
Assert that type identifier contains only valid characters
2018-08-08 12:50:45 +02:00
chriseth
fd12c718f6
Merge pull request #4745 from ethereum/nameResolverNoEarlyExit
Do not stop after the first error in reference resolution.
2018-08-08 12:49:46 +02:00
Alex Beregszaszi
64e3c9913f
Merge pull request #4736 from ethereum/removeFillRight
Remove remaining instances of ``fillRight``.
2018-08-08 11:27:37 +01:00
Balajiganapathi S
09a36cba02 Add stricter hex underscore rules 2018-08-08 12:05:51 +02:00
Balajiganapathi S
0000bfc604 Allow underscores in numbers. 2018-08-08 12:05:51 +02:00
Matías Aereal Aeón
7dae58cbcc Replace boost:lexical_cast<std::string> for std::to_string. 2018-08-08 03:55:43 -03:00
Alex Beregszaszi
3064bd17bc Assert that type identifier contains only valid characters 2018-08-07 22:29:21 +01:00
Alex Beregszaszi
4dc3335cda
Merge pull request #4744 from ethereum/smt-magic-variable
SMT: do not crash on referencing MagicVariableDeclaration
2018-08-07 21:30:14 +01:00
chriseth
43d6a9d763 Do not stop after the first error in reference resolution. 2018-08-07 22:04:59 +02:00
Alex Beregszaszi
f024efb7ab SMT: do not crash on referencing MagicVariableDeclaration 2018-08-07 20:43:20 +01:00
Daniel Kirchner
cc83e69469 Disallow empty return expressions in functions with non-empty return parameters. 2018-08-07 20:48:07 +02:00
Daniel Kirchner
b11e39e25e Remove remaining instances of `fillRight` left over from tuple wildcards assignments. 2018-08-07 18:51:53 +02:00
chriseth
d7756322c0
Merge pull request #4731 from ethereum/interface-enum
Allow enums in interfaces
2018-08-07 17:20:05 +02:00
chriseth
901550e473
Merge pull request #4692 from ethereum/devcore-path
Move absolutePath/sanitizePath helpers from CompilerStack to libdevcore
2018-08-07 16:15:49 +02:00
chriseth
a949cffd24
Merge pull request #4699 from ethereum/cleanup_VariableDeclaration
libsolidity: Remove dead code wrt. VariableDeclaration::canHaveAutoType
2018-08-07 16:14:41 +02:00
chriseth
c61cc98d0d
Merge pull request #4726 from ethereum/moveNothrow
Make MemberList nothrow move constructible.
2018-08-07 16:11:59 +02:00