Commit Graph

455 Commits

Author SHA1 Message Date
chriseth
c6f7f5b2b0 Enable EWasm output. 2019-06-25 19:07:38 +02:00
Christian Parpart
7b3aba81fb Adds a test to check_style.sh to check for spaces before colon (:) in range based for loops. 2019-06-24 17:32:58 +02:00
chriseth
05a67c486e Use "what" in exception reports. 2019-06-18 17:34:10 +02:00
rocky
ca3afea1d7 Add Steve Johnson-style parser recovery rules:
SourceUnit = Error $
    Block = '{' Error '}'
    ContractDefinition = '{' Error '}'
    Statement = Error ';'

Co-Authored-By: chriseth <chris@ethereum.org>
2019-06-17 14:47:07 +02:00
Daniel Kirchner
226f8bb64d Use imported cmake targets for boost. 2019-06-06 18:49:34 +02:00
chriseth
4ee703e6e5 Revert "Add Steve Johnson-style parser recovery rules:"
This reverts commit 97f8ee0d1b.
2019-05-28 18:09:24 +02:00
rocky
97f8ee0d1b Add Steve Johnson-style parser recovery rules:
SourceUnit = Error $
    Block = '{' Error '}'
    ContractDefinition = '{' Error '}'
    Statement = Error ';'

Co-Authored-By: chriseth <chris@ethereum.org>
2019-05-28 15:06:34 +02:00
chriseth
61e36cbfaa Activate ewasm dialect in commandline interface. 2019-05-02 18:36:48 +02:00
Grant Wuerker
69b4ce36de Some move semantics improvements. 2019-04-17 14:19:48 +02:00
mingchuan
f1374066af
Add shortcuts for formatting error information 2019-04-10 18:44:45 +08:00
chriseth
420a7dc3d6 Initial IR generator. 2019-04-04 15:02:42 +02:00
chriseth
3264e9abf0 Make optimiser settings available to assembly stack. 2019-03-28 18:24:13 +01:00
chriseth
30da62aa2c
Merge pull request #6408 from ethereum/includeCleanup
Include cleanup
2019-03-28 15:31:07 +01:00
chriseth
f2cee9ec0c Include cleanup. 2019-03-28 14:32:48 +01:00
chriseth
2308904f68 Remove "using namespace" from header and move Instruction to dev::eth. 2019-03-28 13:48:11 +01:00
chriseth
72c0e44907
Merge pull request #6338 from ethereum/compilerstack-setsource
Introduce setSources in CompilerStack
2019-03-26 15:31:57 +01:00
Alex Beregszaszi
e211b5b1e1 Add warning that Yul is still experimental 2019-03-25 20:17:11 +00:00
Alex Beregszaszi
0d6d0f476c Use setSources 2019-03-25 15:11:00 +00:00
chriseth
d381e26fc8 Rename "enabled" optimizer setting stage to "standard". 2019-03-21 11:04:40 +01:00
chriseth
49d914a391 Fix and test yul stack optimization flag for commandline interface. 2019-03-14 15:34:23 +01:00
chriseth
6d1ed93247 Use stack optimizations. 2019-03-14 15:34:23 +01:00
chriseth
9a949c1bda Set default EVM version to Petersburg. 2019-03-04 14:53:00 +01:00
Alex Beregszaszi
cc4598a5ed
Merge pull request #6144 from ethereum/petersburg
Support petersburg in evmVersion
2019-03-04 13:50:50 +00:00
chriseth
0045950924 State that yul optimizer is experimental. 2019-03-04 14:27:52 +01:00
Alex Beregszaszi
ecd246aeb6 Support petersburg in evmVersion 2019-03-04 14:10:41 +01:00
chriseth
5ddbc434d6 Provide commandline option to activate yul optimizer. 2019-03-04 11:40:28 +01:00
Leonardo Alt
2405b2151a EVMVersion in langutil namespace instead of solidity 2019-02-25 15:29:57 +01:00
chriseth
1a823f0bf8 Fix tabs/spaces. 2019-02-13 17:05:48 +01:00
chriseth
0bd049c849 Adapet uses of AssemblyStack. 2019-02-13 12:23:07 +01:00
Bhargava Shastry
7751fa740f Ensure we fail gracefully when user tries to optimize Yul code 2019-02-12 11:21:02 +01:00
Christian Parpart
cebeb4076c Fixes compilation on Windows where STDERR_FILENO seems not to be present. 2019-02-11 15:27:08 +01:00
Christian Parpart
3d4b0f45da liblangutil: refactors SourceReferenceFormatter error formatting for pretty and colored output.
* Refactors output format in a way it is (or should at least be) more readable.
  (NB.: As source of inspiration, I chose the rustc compiler output.)
* Adds color support to the stream output.
* Also improves multiline source formatting
  (i.e. truncating too long lines, like done with single lines already)
* solc: adds flags --color (force terminal colors) and --no-color (disable autodetection)
* solc: adds --new-reporter to give output in *new* formatting (colored or not)
* Changelog adapted accordingly.
2019-02-07 12:55:14 +01:00
Alex Beregszaszi
8c97fb1688 Remove boost::filesystem::weakly_canonical workaround 2019-01-18 17:59:32 +00:00
Christian Parpart
62fe57479e
make use of C++ = default constructor declarations as well as more non-static member initialization syntax. 2018-12-19 11:26:42 +01:00
Christian Parpart
073b03d90c liblangutil: refactor SourceReferenceFormatter, splitting out retrieval and making use of new SourceLocation's CharStream knowledge 2018-12-06 14:01:01 +01:00
chriseth
6c44c5f0c9 Apply the optimize commandline parameter to assembly mode. 2018-11-30 23:39:05 +01:00
Erik Kundt
50351fb8e2 Fixes crash on empty runtime code. 2018-11-28 14:41:16 +01:00
Christian Parpart
aeb66905de
Moving SourceReferenceFormatter into langutil namespace. 2018-11-24 12:33:36 +01:00
liangdzou
87d1276dc8 Notify user on successful run without output. 2018-11-22 18:06:29 +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
0690aae09d Remove mostly unused writeFile implementation. 2018-10-18 12:50:06 +02:00
mestorlx
9f9d6fdcc4 fix issue##5007 2018-10-15 14:26:15 -03:00
chriseth
95d3e7feb3 More helpful error messages for linker. 2018-10-12 15:15:02 +02:00
chriseth
6daeb39ecc Use hash for library placeholders. 2018-10-12 15:15:01 +02:00
liangdzou
6f7ff2dcd4 fix format issue for source files 2018-09-20 17:41:59 +08:00
liangdzou
24e5dcc352 fix code format problems 2018-09-19 00:18:49 +08:00
Daniel Kirchner
954d7433bd Disallow remappings with empty prefix. 2018-08-10 19:26:48 +02:00
chriseth
8e93b729a4
Merge pull request #4703 from ethereum/solc-fix-double-quoting-path-names
solc: Fixes double-quoting path names on stderr.
2018-08-07 21:46:00 +02:00
Christian Parpart
39ffd7500e
solc: Fixes double-quoting path names on stderr and adds tests for it.
Before it was possible to get a failure message, such as:

    ""notfound.sol"" is not found

whereas it should be:

    "notfound.sol" is not found.
2018-08-07 14:55:22 +02:00
Alex Beregszaszi
21ceac090a
Merge pull request #4592 from asifmallik/fixBackslashBugFinal
Fix backslash bug
2018-08-07 12:47:37 +01:00
chriseth
71e26f6adb Remove clone feature. 2018-08-07 11:10:50 +01:00
Asif Mallik
fba7b7c204 Fix backslash bug 2018-08-06 18:17:56 +02:00
chriseth
236284a264
Merge pull request #4166 from alibabe/fix-3718-ret
Fix the Heisenbug
2018-07-16 13:38:42 +02:00
Cryptomental
140dbfdbd8 Code, Changelog, ReleaseChecklist: Fix typos.
Refs: #4442
2018-07-11 00:26:23 +02:00
Alex Beregszaszi
782bc41dbd Rename JULIA/IULIA to Yul in assembly interface 2018-06-14 09:31:28 +01:00
Alex Beregszaszi
ba2a7294d8 Renamed the --julia CLI option to --yul 2018-06-14 00:09:00 +01:00
Alex Beregszaszi
2625f282b9 Remove obsolete --formal option from CLI 2018-06-13 01:00:51 +01:00
alibabe
53eafff4bb Fixes #3718 by creating a local variable for the result of
`GasEstimator::breakToStatementLevel` and then assign it back to
gasCoast.
2018-05-29 04:58:03 +00:00
Leonardo Alt
db5ea8ec03 Read from stdin only if - is explicitly given 2018-05-07 09:32:46 +02:00
Jonny Burger
1367fedfd0 Improve documentation and CLI help for --run parameter 2018-05-02 17:10:30 +02:00
Alex Beregszaszi
7626c8ab72
Merge pull request #3855 from ldct/patch-3
mark --formal as deprecated in cli options
2018-04-11 20:57:01 +01:00
Li Xuanji
576964bd01 Mark --formal as deprecated in CLI options 2018-04-11 20:08:41 +01:00
Daniel Kirchner
c15cb6cc7a Prevent information about file existence outside the allowed paths to leak by mimicing boost::filesystem::weakly_canonical. 2018-04-11 18:52:22 +02:00
Sergiusz Bazanski
f39f36f2c7 Fix file missing error message on imports.
Trying to convert an import path into a Boost canonical path causes
boost to throw an exception if the given file does not exist. Thus,
instead of geting to the 'File not found' error, we instead got into the
cath-all handler for 'Unknown exception in read callback'.

This change rearranges the file checks to happen before we create a
canonical Boost path. It also drive-by removes the unnecessary 'else'
block, as the body of the if is a guard-like return block.
2018-04-06 11:03:52 +02:00
Anthony Broad-Crawford
8a18f22b87 Support for error on non-existant or irregular files with command line option to ignore 2018-03-28 10:25:43 +01:00
chriseth
6ec4517929 Use EVM version in gas meter and optimizer. 2018-03-05 11:36:33 +01:00
chriseth
4ce0e7775d Add constantinople. 2018-03-01 17:19:35 +01:00
chriseth
982476f99d Add TangerineWhistle. 2018-03-01 17:19:35 +01:00
chriseth
dc317a44e0 Provide EVM version to assembly analysis. 2018-03-01 17:19:35 +01:00
chriseth
5ab4a1ae78 Add ability to set the target EVM version. 2018-03-01 17:19:34 +01:00
Zhen Zhang
5fd9ea4b2a Stop allow_guessing for command line option parser 2018-02-28 09:31:24 +08:00
Federico Bond
d7532f7b9c Convert static SourceReferenceFormatter functions to member ones 2018-02-19 15:04:22 +01:00
Alex Beregszaszi
bc1fffb42f Support --strict-assembly in CLI 2018-01-06 03:28:12 +00:00
Alex Beregszaszi
1734d44561 Rename jsonCompiler to libsolc 2017-12-11 12:49:08 +00:00
Alex Beregszaszi
123d85a19e Request all outputs in JSONCompiler 2017-11-29 20:10:18 +00:00
chriseth
4e7d1440ab Merge pull request #3101 from ethereum/compilerstack-header
Remove the reliance on empty contract name equals "last contract" in CompilerStack
2017-10-19 13:43:17 +02:00
Alex Beregszaszi
2ce35b77be Implement CompilerStack.lastContractName() 2017-10-18 23:54:32 +01:00
Alex Beregszaszi
039cc25b1f Always require a contract/sourceName in CompilerStack 2017-10-18 23:32:33 +01:00
Alex Beregszaszi
6f2865228c Add readStandardInput helper 2017-10-18 12:56:11 +01:00
Alex Beregszaszi
7186e142b8 Rename contentsString to readFileAsString 2017-10-18 12:55:12 +01:00
Sergiusz Bazanski
a458100175 Do not use remove_trailing_separator from Boost 1.58 as 1.56 is required 2017-10-06 13:55:18 +01:00
Sergiusz Bazanski
71a819654e Allow trailing slash in solc -allow-paths. 2017-10-06 13:55:18 +01:00
Ali92hm
61dabb2f29 Added --pretty-json commandline option 2017-09-12 21:51:28 +01:00
Ali92hm
487ade1635 Enabling --combined-json to output to file 2017-09-12 21:50:22 +01:00
Ali92hm
1a9c503e93 Added createJson method to make writing json easier 2017-09-12 21:50:22 +01:00
Alex Beregszaszi
bd6510d99a Simplify assembly printing in CLI 2017-09-11 15:53:20 +01:00
Alex Beregszaszi
bbfb16cf5c Introduce assemblyString 2017-09-11 15:53:20 +01:00
Alex Beregszaszi
a535a8b06e Split out the JSON functionality from assembly.stream() 2017-09-11 15:48:52 +01:00
Alex Beregszaszi
c861817875 Add header for jsonCompiler 2017-08-29 13:43:55 +01:00
chriseth
9ac2ac14c1 Rename read file callback. 2017-08-23 17:37:35 +02:00
Alex Beregszaszi
3b07c4d38e Merge pull request #2757 from ethereum/cmake
Static linking
2017-08-23 12:36:24 +01:00
Paweł Bylica
4974ff3962
CMake: Add option to static link solc 2017-08-22 22:50:25 +02:00
chriseth
e3f90565d8 Avoid some Json copy operations. 2017-08-21 16:28:30 +01:00
Paweł Bylica
6f72025ee7
CMake: Simplify solc config 2017-08-18 13:32:36 +02:00
Alex Beregszaszi
7222fac456 Remove DocumentationType from natspec 2017-08-15 19:56:38 +01:00
Alex Beregszaszi
3e2f0b589d Remove some global symbols 2017-08-09 12:44:53 +01: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
6d8929a71a Rename onChainMetadata to metadata 2017-07-18 20:54:28 +01:00
Alex Beregszaszi
e9226225d7 Properly export the license() method in Emscripten 2017-07-18 15:31:49 +01:00
chriseth
c78a3a0b01 Add other licenses. 2017-07-01 22:59:08 +01:00
Alex Beregszaszi
c5947ae6e3 Remove Why3 error class 2017-06-30 22:30:43 +01:00
Alex Beregszaszi
555dc4f46f Remove Why3 generator 2017-06-25 12:26:16 +01:00
Alex Beregszaszi
ea6cf619fd Rewrite jsonCompiler using StandardCompiler 2017-06-22 13:01:46 +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
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
412802a6c1 Include license text in emscripten output 2017-06-14 14:14:01 +01:00
chriseth
e232a105f0 Merge pull request #2327 from ethereum/assembler-object
Return assembler object in AssemblyStack
2017-06-14 14:28:06 +02:00
Edward Ruchevits
7c7df6f38b Removed duplicate code 2017-06-13 17:11:15 +01:00
Edward Ruchevits
2e816967d3 Allow including hashes of method signatures in --combined-json output 2017-06-13 17:03:17 +01:00
chriseth
f583008c73 Remove copyright notice. 2017-06-12 12:28:17 +02:00
Alex Beregszaszi
762bec9116 Nicer machine output in CLI 2017-06-09 16:40:14 +02:00
Alex Beregszaszi
ca92bda886 Supply text representation of assembly 2017-06-09 16:40:14 +02:00
Alex Beregszaszi
f0d213e6b5 Introduce MachineAssemblyObject 2017-06-09 16:40:14 +02:00
chriseth
9d0691b47a Include license and warranty statement with solc. 2017-06-09 13:11:15 +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
002df12d13 Merge pull request #2287 from ethereum/legacyAstCLI
add legacy/compact AST-format options to CLI
2017-05-29 14:24:55 +02:00
chriseth
261731f7ee Adapt EVM codegen to new namespace. 2017-05-26 15:08:27 +02:00
chriseth
eaa13d42a0 Support multiple assembly front and backends. 2017-05-26 15:03:29 +02:00
chriseth
f2804c49ed Handle assembly in one go to allow for different stacks. 2017-05-26 11:50:26 +02:00
chriseth
9a23603af2 Commandline options. 2017-05-26 11:50:26 +02:00
djudjuu
1131c5035f make src-indices equal (#2286) 2017-05-24 14:48:32 +02:00
djudjuu
0f7a9e8149 add legacy/compact AST-format options to CL 2017-05-24 14:48:32 +02:00
chriseth
8eead553af Merge pull request #1810 from ethereum/compactJson
Compact format for AST-Json.
2017-05-22 14:33:46 +02:00
Alex Beregszaszi
bbef2cd4a8 Rename handleMeta to handleNatspec 2017-05-19 16:11:04 +01:00
Alex Beregszaszi
cd5d93da2a Rename CompilerStack.metadata to CompilerStack.natspec 2017-05-19 16:11:04 +01:00
Alex Beregszaszi
4bf3cbb09a Use CompilerStack.contractABI directly 2017-05-19 15:57:36 +01:00
Alex Beregszaszi
8169e149c9 Rename CompilerStack.interface to CompilerStack.contractABI 2017-05-19 15:57:36 +01:00
chriseth
dea7b864e6 Compact format for AST-Json with backwards compatibility 2017-05-17 11:14:33 +02:00
Alex Beregszaszi
a95c86e8e4 Catch errors gracefully in CLI assembler 2017-05-06 10:43:58 +01:00
Alex Beregszaszi
4eae971b31 Export compileStandard on emscripten 2017-04-24 16:36:37 +01:00
chriseth
017fedebfe Add missing space. 2017-04-24 14:22:39 +02:00
Alex Beregszaszi
b7951be44a Add exception guard to ReadFileCallback in CLI 2017-04-22 14:08:28 +01:00
Alex Beregszaszi
4566b4b336 Pass readFileCallback to StandardCompiler in CLI 2017-04-20 23:22:23 +01:00
Alex Beregszaszi
ed64c849f5 Merge pull request #2145 from ethereum/cli-readfile-permissions
Check for path permissions before opening file in the CLI file reader
2017-04-20 20:31:27 +01:00
Alex Beregszaszi
b30fad4a49 Check for path permissions before opening file in the CLI file reader 2017-04-20 20:01:17 +01:00
Alex Beregszaszi
4f3c76364c Export StandardCompiler as compileStandard in soljson 2017-04-20 19:38:00 +01:00
Alex Beregszaszi
8c9e57fadf Add --standard-json to solc 2017-04-20 19:38:00 +01:00
Alex Beregszaszi
8bf842050e Support --allow-paths in the CLI 2017-04-20 15:39:30 +01:00
Alex Beregszaszi
54dcb0e11b Keep gas values as a string in CompilerStack::gasEstimate 2017-04-13 02:18:29 +01:00
Alex Beregszaszi
fe4fccaaf2 The gasEstimates objects must always be present in the jsonCompiler even if empty (backwards compat) 2017-04-13 02:17:40 +01:00
Alex Beregszaszi
328f2b0a8e Use new gasEstimate in CLI 2017-04-13 02:17:40 +01:00
Alex Beregszaszi
d90fd439e2 Use new gasEstimate in jsonCompiler 2017-04-13 02:17:40 +01:00
Alex Beregszaszi
bd48f181b5 Merge pull request #2098 from ethereum/sourceformatter
Introduce formatExceptionInformation
2017-04-10 14:46:59 +01:00
Alex Beregszaszi
a182dfe266 Remove empty wrapper formatError from jsonCompiler 2017-04-10 14:07:37 +01:00
Alex Beregszaszi
b1db6eac8b Introduce formatExceptionInformation 2017-04-10 14:07:36 +01:00
Alex Beregszaszi
623b8eb107 Pull out ReadFile from CompilerStack 2017-04-10 12:49:47 +01:00
Alex Beregszaszi
e0ff70778a Rename ErrorMesage to ErrorMessage 2017-03-16 23:59:36 +00:00
chriseth
14196f2621 Allow long library names. 2017-03-14 11:58:43 +01:00
chriseth
31a5e5bfef Do not overwrite files unless forced. 2017-03-10 19:23:43 +01:00
chriseth
7a24a5764e Add line info to serious exceptions. 2017-02-24 19:32:41 +01:00
Alex Beregszaszi
a5d0fd9c8a Do not create directories . and .. 2017-02-06 14:27:54 +00:00
Alex Beregszaszi
46412473b6 Always escape filenames in solc 2017-02-05 19:19:29 +00:00
VoR0220
b3f0d713a1
fix for linker wrt binaries generated with import statements
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-30 13:41:33 -06:00
Alex Beregszaszi
102fd7ee5d Merge pull request #1604 from ethereum/checksums
Warn about invalid checksums of addresses.
2017-01-26 14:42:34 +00:00
Alex Beregszaszi
024061b828 Merge pull request #1610 from ethereum/assemblyModeError
Proper error reporting for assembly mode.
2017-01-26 14:41:39 +00:00
Alex Beregszaszi
84bf547f21 Add option to solc to use literal sources in metadta 2017-01-26 13:24:59 +00:00
chriseth
8e29d636f7 Header cleanup. 2017-01-26 13:47:57 +01:00
chriseth
1b097fd3c7 Proper error reporting for assembly mode. 2017-01-26 13:45:23 +01:00
chriseth
3949624a61 Also check library addresses. 2017-01-24 23:37:48 +01:00
Rhett Aultman
610156fb92 Fix bad merge artifact(?)
Looks like merging up munged line 188 in CommandLineInterface.cpp,
so that a string literal was being used where a global variable should
be.
2017-01-16 12:32:58 -05:00
Rhett Aultman
0c98e4b2da Stylistic corrections 2017-01-16 12:32:57 -05:00
Rhett Aultman
071b936b37 Only avoid collision if it's the same file
@chriseth had suggested that it would be better if contracts were
referenced in a file:contract notation, and that we output .bin files
that prepend original path names if necessary to avoid a collision.

This commit is mostly a draft; it still needs to be run through the test
suite.
2017-01-16 12:32:57 -05:00
chriseth
c111d6e27e Merge pull request #1491 from ameten/refactoring
Just refactored some code
2016-12-12 21:43:04 +01:00
Federico Bond
dac95ce398 Remove unused variable inputFiles 2016-12-11 00:41:41 -03:00
Danil Nemirovsky
e5a992937c - alphabetically sorted string constants per name. 2016-12-08 21:33:09 +03:00
Danil Nemirovsky
f1cf9eb1ea - moved string constants into common place;
- replaced string literals with string constants.
2016-12-08 21:33:09 +03:00
Alex Beregszaszi
35325ee7c3 Update metadata documentation 2016-12-01 16:03:59 +01:00
chriseth
659b635b2d Make sure some keys are present. 2016-12-01 16:03:59 +01:00
chriseth
5789eaa78d Metadata stamp. 2016-12-01 16:03:59 +01:00
Federico Bond
29e304d3bc Fix typos (existant -> existent) 2016-12-01 01:29:30 -03:00
VoR0220
3f9f725737 Fix licensing headers
Signed-off-by: VoR0220 <rj@erisindustries.com>
2016-11-23 12:22:33 +01:00
Alex Beregszaszi
81c50143f2 Move JSON helpers to libdevcore/json 2016-11-15 17:38:18 +00:00
Alex Beregszaszi
9719cf38e6 Move InterfaceHandler from string to JSON 2016-11-15 15:55:25 +00:00
Rhett Aultman
58e75c7a48 Unimplemented features moved to their own exception (#1361)
Unimplemented features moved to their own exception

InternalCompilerError is an exception that really should be reserved for
actual internal errors of the compiler.  Unimplemented features can now
use either solUnimplemented( ) or, if it should be conditional, then
solUnimplementedAssert( ).

* Revert some unimplemented exceptions, add handlers

The jsonCompiler and CommandLineInterface needed handlers for the
new UnimplementedFeatureException, and some cases I had moved on to
the new exception were better treated as real internal compiler
errors.

* Standardize on "Unimplemented feature" message
2016-11-14 20:41:58 +00:00
Kevin Boxhoorn
97703ac6e4 Add import remapping documentation to solc --help
Derived from the docs found [here](https://solidity.readthedocs.io/en/develop/miscellaneous.html#using-the-commandline-compiler).
Fixes #1207.
2016-10-15 17:36:40 +11:00
Alex Beregszaszi
bab96ee1e0 Disallow unknown options in solc 2016-10-06 16:32:56 +02:00
chriseth
c641ca26ec Merge pull request #1009 from pirapira/separate_exceptions
Separate the try/catch blocks on JSON and formal methods output generation
2016-09-07 15:13:41 +02:00
chriseth
71a4074ad0 Merge pull request #997 from chriseth/linkingwithunderscores
Fix linking for libraries with underscores.
2016-09-06 12:52:31 +02:00
chriseth
8c315a18c9 Fix compiler error. 2016-09-06 11:57:21 +02:00
chriseth
f869f25b84 More comments about size constants. 2016-09-06 11:12:55 +02:00
Yoichi Hirai
3f2027ee5f Separate the try/catch blocks on JSON output generation and formal method output generation.
For the reason, see @axic's comment here https://github.com/ethereum/solidity/pull/994#discussion_r77272236
and the following discussion.
2016-09-05 18:00:24 +02:00
chriseth
a787e70594 Fix linking for libraries with underscores. 2016-09-02 01:17:02 +02:00
chriseth
52ee47190d Catch more exceptions in jsonCompiler. 2016-09-01 20:14:00 +02:00
Bob Summerwill
be3f4bda21 Corrected accidental non-ANSI characters in comments. 2016-08-31 13:01:48 -07:00
Christopher Gilbert
68bd463bea Code review changes: Renamed function and added some documentation about what the function does and why 2016-08-30 20:32:30 +01:00
Christopher Gilbert
a91bca7937 Code review changes: stylistic changes, and removed redundant call to set locale. 2016-08-30 16:13:21 +01:00
Christopher Gilbert
1b9147d7db Fixed a bug causing solc to crash on startup due to invalid environment settings for locale 2016-08-30 12:29:37 +01:00
Denton Liu
e00f802f72 Remove standard contracts 2016-08-19 10:34:50 -04:00
chriseth
c282ab379a Merge pull request #918 from winsvega/solremove4
remove solidity --interface
2016-08-17 17:55:40 +02:00
chriseth
9f22426d10 Merge pull request #912 from chriseth/readFromStdin
Read from files and stdin.
2016-08-17 15:49:47 +02:00
Dimitry
e5e2597702 remove solidity --interface 2016-08-17 12:39:10 +03:00
chriseth
c499470b1c BREAKING: Streamline json output field naming. (#763) 2016-08-17 09:58:24 +02:00
chriseth
c54f31d308 Read from files and stdin. 2016-08-16 17:08:00 +02:00
yann300
d3b2a1c77b sourcemapping 2016-08-02 11:32:25 +02:00
chriseth
f463382f9d Bugfix: Correctly use srcmap-runtime. 2016-08-01 12:05:50 +02:00
chriseth
c55584d3e2 Source location as part of AST. 2016-07-20 19:45:43 +02:00
chriseth
9a9a815fc9 Provide formal version in json output. 2016-07-18 18:26:56 +02:00
chriseth
e90ebcd63b Store non-canonical version. 2016-07-11 15:31:38 +02:00
chriseth
781b7eaefe Fix crash for input from stdin. 2016-06-15 01:35:36 +02:00
chriseth
3150ab2bcf Allow remappings to change depending on the context. 2016-06-08 18:16:46 +02:00
VoR0220
fb89e69061 much better and simpler way of handling this 2016-05-13 13:51:41 -05:00
rainbeam
eb20841740 wrap solc add_executable
Allows static linking.
2016-05-01 00:43:16 +01:00
chriseth
ed9da5171b Source location for inline assembly. 2016-04-19 18:35:21 +02:00
chriseth
f227050c20 Make solidity independent from ethcore. 2016-04-06 20:56:00 +02:00
Dimitry
858c41260d rename namespace for instruction.h/cpp in libevmasm 2016-04-02 15:56:43 +03:00
Dimitry
ccbd3ff63f move libevmcore to solidity 2016-04-01 23:11:01 +03:00
chriseth
f049430723 Code generation (missing external access and source locations). 2016-03-30 02:37:00 +02:00
chriseth
949b00ed59 Parsing for inline assembly. 2016-03-30 02:37:00 +02:00
chriseth
e5514becb8 BREAKING: Implement delegatecall and make default for library calls. 2016-03-11 17:49:32 +01:00
chriseth
0c5d892dba Only allow including from allowed directories. 2016-01-29 23:11:16 +01:00
chriseth
bdbb7d8a40 Merge pull request #370 from chriseth/redirects
Path remappings for solc.
2016-01-28 17:05:12 +01:00
chriseth
ebc1dce073 Read files via callback. 2016-01-26 23:25:07 +01:00
chriseth
db2f3c5714 Provide remappings for solc. 2016-01-25 21:01:55 +01:00
chriseth
287f0a2ddf Autoload files in solc. 2016-01-12 01:05:05 +01:00
chriseth
08cb74a1de Merge pull request #290 from chriseth/fix_gas_iterator
Fix: Segfaults connected to paramater types.
2015-12-10 15:47:35 +01:00
chriseth
7dccca5ca9 Removed obsolete dockerfile. 2015-12-10 13:03:08 +01:00
chriseth
39f57a9c71 Fix: Segfaults connected to paramater types.
parameterTypes does not return by const reference anymore.
2015-12-09 17:57:34 +01:00
Lefteris Karapetsas
40cfcd40d7 Fix the build - library is not a module
The Module::Object rule is something only eth_use() and friends can
understand. target_link_libraries() on the other hand needs only the
actual library object to link to.
2015-12-04 10:11:09 +01:00
Bob Summerwill
2a49857ff9 Alternative case-consistency fix for libsolidity. Just using fully-qualified scoped name in eh_use instead. 2015-12-03 10:15:27 -08:00
Gav Wood
bff172cf65 Fix up for new API from EIP-1.1. 2015-11-21 14:34:21 +01:00
chriseth
a957322fd7 Preliminary why3 code output. 2015-10-27 00:49:27 +01:00
chriseth
e3dffb611f File reorganisation. 2015-10-21 00:46:01 +02:00
chriseth
370b6db3ae Do not forget to export the new symbol. 2015-10-15 19:18:14 +02:00
chriseth
cb869fd5a4 Style. 2015-10-15 18:29:56 +02:00
chriseth
52ef07695a Multiple sources for json compiler. 2015-10-15 18:29:56 +02:00
LianaHus
675aed1edf fixed new tests 2015-10-15 11:50:25 +02:00
LianaHus
c3491e4469 errors instead of exceptions
Conflicts:
	libsolidity/CompilerStack.cpp
	libsolidity/NameAndTypeResolver.cpp
	libsolidity/NameAndTypeResolver.h
	libsolidity/TypeChecker.cpp
	test/libsolidity/SolidityNameAndTypeResolution.cpp
2015-10-14 20:37:41 +02:00
LianaHus
742e5b259a added Error class for all kind of errors
Conflicts:
	libsolidity/Exceptions.h
2015-10-14 20:27:41 +02:00
chriseth
95fa516d9e Support warnings. 2015-10-02 22:54:30 +02:00
LianaHus
53d0684cb4 -fixed the warning printing
-style fixes
2015-10-02 12:38:48 +02:00
LianaHus
2706846f43 -added warning case to cl compiler
-modified warning msg
2015-10-02 12:38:48 +02:00
chriseth
09f1f1e595 Merge pull request #89 from chriseth/fixCombinedJson
Fix "combined json" output.
2015-09-23 15:55:14 +02:00
chriseth
317d173218 Fix "combined json" output. 2015-09-23 14:34:42 +02:00
chriseth
42c0009205 Error formatting. 2015-09-21 20:03:53 +02:00
Marek Kotewicz
352c196eb3 Merge pull request #79 from arkpar/cmake
Per project versioning
2015-09-17 10:34:15 +02:00
arkpar
bda7dbd30a per project versioning 2015-09-16 15:55:25 +02:00
chriseth
9de174ce2e Merge pull request #75 from chriseth/exportRuntimeBytecodeForJson
Export runtime bytecode and version.
2015-09-15 12:42:44 +02:00
chriseth
b55cc00180 Export runtime bytecode and version. 2015-09-15 12:27:29 +02:00
Arkadiy Paronyan
613ba2c3f1 Merge pull request #73 from chriseth/emscripten
Changes required to compile on emscripten target.
2015-09-14 18:51:56 +02:00
chriseth
6b4e564b7c Changes required to compile on emscripten target. 2015-09-14 18:36:39 +02:00
chriseth
70c0ed4129 Commandline interface for the linker. 2015-09-11 19:35:01 +02:00
chriseth
a9edc7b1a6 Transition from bytecode to more general linker objects. 2015-09-11 15:21:37 +02:00
chriseth
ea981cb0f5 Merge pull request #41 from LianaHus/sol_rename_getters
solidity interface changes. removing get prefix
2015-09-08 16:47:58 +02:00
LianaHus
df8c82bc60 - renamed AST to ast and ABI to abi
- style fixes
2015-09-08 14:30:21 +02:00
LianaHus
1b5e6fc9e7 renamed getter functions 2015-09-08 13:12:00 +02:00
debris
619c91321b changes required to compile solidity in a single project 2015-09-01 15:30:26 +02:00
Gav Wood
aad59bd1aa Merge pull request #27 from LianaHus/sol_runtime_binary_by_-solc
added option to solc to output runtime part of the contract
2015-08-27 22:37:51 +02:00