Commit Graph

68 Commits

Author SHA1 Message Date
chriseth
561280a5cc Merge remote-tracking branch 'origin/develop' into breaking 2020-12-14 11:33:40 +01:00
Alex Beregszaszi
98d8174d31 Simplify Compiler/CompilerContext by removing extra layers of indirection 2020-12-11 14:43:51 +00:00
chriseth
dff7dcdc27 Update source location tests. 2020-12-09 15:25:15 +01:00
chriseth
72f1e4ea0b Explicitly set coder to v1 for syntax tests. 2020-12-09 15:25:15 +01:00
chriseth
834da7be90 Introduce abicoder pragma. 2020-11-03 13:31:50 +01:00
chriseth
2934a1f037 Assign scopes as a separate step. 2020-09-02 20:45:33 +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
4d2b9cd38f Jump types for yul functions. 2020-07-06 18:12:54 +02:00
chriseth
07c1167136 Refactor name and type resolution. 2020-06-12 12:18:02 +02:00
chriseth
eb923af09c Do not set source locations for small internal assembly routines. 2020-05-27 18:26:46 +02:00
chriseth
e751a1c23d Move scopes into resolver. 2020-05-14 13:16:47 +02:00
Daniel Kirchner
3af43fd350 Extract typing. 2020-04-14 10:59:28 +02:00
Leonardo Alt
36928c7a35 Add reason string for internal reverts 2020-02-10 11:57:20 -03:00
Mathias Baumann
00e4d13975 TestFramework: Merge Options.h into Common.h 2020-01-29 12:27:05 +01:00
Christian Parpart
ed45b000d1 Adapt tests directory to C++ namespace changes. 2020-01-07 15:51:50 +01:00
Christian Parpart
6b23412fae C++ namespace cleanup (except tests). 2020-01-07 15:51:50 +01:00
chriseth
216e1749f4 Merge remote-tracking branch 'origin/develop' into develop_060 2019-11-14 13:42:46 +01:00
chriseth
b099374d8c Fix assembly parsing by passing evm version. 2019-11-14 13:06:36 +01:00
chriseth
138ee647f1 Provide different options for reason strings. 2019-11-07 14:13:53 +01:00
chriseth
9a00729ce7 Provide dialect to Parser and InlineAssembly AST nodes. 2019-05-23 00:24:58 +02:00
Mathias Baumann
cf35e5ba02 Issue warning for variables called super or this 2019-05-02 11:30:24 +02:00
chriseth
d381e26fc8 Rename "enabled" optimizer setting stage to "standard". 2019-03-21 11:04:40 +01:00
chriseth
43850d55f3 Update tests. 2019-03-04 11:44:54 +01:00
Alex Beregszaszi
cf5c13f9c7 Introduce global optimiser settings. 2019-03-04 11:40:28 +01:00
chriseth
e6fee257e6 Code generation for access to contract code. 2019-01-17 20:36:48 +01:00
Christian Parpart
d10bae245e
liblangutil: SourceLocation to default initialize data members (w/o the use of ctor)
See: http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#c45-dont-define-a-default-constructor-that-only-initializes-data-members-use-in-class-member-initializers-instead
2018-12-19 11:21:45 +01:00
Mathias Baumann
1b8570f829 Only generate sort/search code when interface functions exist 2018-12-17 21:24:37 +01:00
Christian Parpart
757623e381
liblangutil: SourceLocation: Retricts == and != operator 2018-11-30 17:34:54 +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
22eff22492 liblangutil: extends CharStream to know about the respective (file-)name (and adapt codebase to it) 2018-11-29 12:45:27 +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
Christian Parpart
87821c53c3 Isolating files shared between Yul- and Solidity language frontend. 2018-11-21 18:58:12 +00:00
chriseth
727e3f24bc Do not perform cleanup on unsigned integers when loading from calldata. 2018-11-14 20:52:30 +00:00
Erik Kundt
7cb46ea707 Fixes assembly test. 2018-07-04 15:45:42 +02:00
Erik Kundt
fc2b006fe1 Updates unit test to specify visibility. 2018-07-04 15:45:42 +02:00
Alex Beregszaszi
971941b3f6 Update source location test expectations 2018-04-30 21:23:08 +01:00
chriseth
966367305a Remove dead code and clarify throw. 2018-04-12 20:13:16 +02:00
chriseth
b25598126e Update documentation and minor changes. 2018-04-12 13:09:38 +02:00
chriseth
167ee2fcbb Update source location tests. 2018-04-12 13:09:38 +02:00
Daniel Kirchner
d63d41b3b5 test: Rename test/TestHelper.* to test/Options.* and add Options::validate(). 2018-03-14 12:04:04 +01:00
chriseth
05cc5f22b2 Correctly set evm version in tests 2018-03-01 17:19:35 +01:00
chriseth
a53d6b499d Use EVM version in type checker. 2018-03-01 17:19:35 +01:00
chriseth
7f4cf00f1b Provide easy way to update source location expectation. 2018-01-04 14:29:03 +01:00
chriseth
58139e8613 Adjust tests. 2017-10-18 00:19:36 +02:00
chriseth
d15526f877 Update tests. 2017-08-25 10:42:36 +01:00
chriseth
a25f73e2cc Fix location tests. 2017-06-23 19:29:11 +02:00
Rhett Aultman
89b60ffbd4 Refactor error reporting
This commit introduces ErrorReporter, a utility class which consolidates
all of the error logging functionality into a common set of functions.
It also replaces all direct interactions with an ErrorList with calls to
an ErrorReporter.

This commit resolves issue #2209
2017-05-30 07:28:31 -07:00
chriseth
e67faa9839 Extract scopes into compiler stack. 2017-02-14 13:23:44 +01:00
Valentin Wüstholz
5b7cc018f0 Address feedback from code review. 2017-01-26 16:39:07 +01:00
Valentin Wüstholz
9bcbd93ac5 Change translation of implicit throws (issue #1589).
This adds a new invalid instruction that is used for encoding
implicit throws that are emitted by the compiler. This makes it
possible to distinguish such runtime errors from user-provided,
explicit throws.
2017-01-26 16:39:07 +01:00