aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Create getBlockByNumber RPC methodAlex Beregszaszi2017-02-103-4/+11
|
* Do not use modifyTimestamp where not neededAlex Beregszaszi2017-02-101-2/+5
|
* Add blockNumber and blockTimestamp to ExecutionFrameworkAlex Beregszaszi2017-02-104-0/+12
|
* Merge pull request #1669 from ethereum/ipc-cleanupchriseth2017-02-102-32/+23
|\ | | | | Don't rely on new lines in IPC RPC (soltest)
| * Ensure that the whole message was written on Windows IPCAlex Beregszaszi2017-02-091-1/+1
| |
| * Simplify the Windows IPC codeAlex Beregszaszi2017-02-091-6/+3
| |
| * Detect closed sockets in IPCAlex Beregszaszi2017-02-091-1/+2
| |
| * Do not expect a new line, rather buffer up the response in IPCAlex Beregszaszi2017-02-092-20/+17
| |
| * Use only send/recv in IPCAlex Beregszaszi2017-02-092-8/+4
| |
* | Merge pull request #1675 from ethereum/debug-macAlex Beregszaszi2017-02-091-1/+1
|\ \ | | | | | | Do not use -Og for debug mode (won't work on Mac/clang)
| * | Do not use -Og for debug mode (won't work on Mac/clang)Alex Beregszaszi2017-02-091-1/+1
| |/
* | Merge pull request #1672 from ethereum/nodeversionchriseth2017-02-091-1/+1
|\ \ | |/ |/| Use nodejs 6
| * Use nodejs 6chriseth2017-02-091-1/+1
| |
* | Merge pull request #1668 from ethereum/build-test-progresschriseth2017-02-093-6/+3
|\ \ | |/ |/| Show progress in test builds
| * Do not log dots in soltest on windowsAlex Beregszaszi2017-02-091-3/+0
| |
| * Include --show-progress in soltestAlex Beregszaszi2017-02-092-3/+3
| |
* | Merge pull request #1387 from ethereum/json-interfacechriseth2017-02-093-39/+267
|\ \ | |/ |/| JSON interface description
| * Simplify the compiler API section (and remove pseudo code)Alex Beregszaszi2017-02-091-18/+6
| |
| * Drop the legacy assembly outputAlex Beregszaszi2017-02-091-9/+6
| |
| * Include language field in the JSONAlex Beregszaszi2017-02-091-0/+3
| |
| * Move file into sourceLocationAlex Beregszaszi2017-02-091-4/+4
| |
| * Update the AST outputAlex Beregszaszi2017-02-091-9/+11
| |
| * Explain every contract output fieldAlex Beregszaszi2017-02-091-11/+38
| |
| * Support linkReferences with length specifiedAlex Beregszaszi2017-02-091-1/+4
| |
| * Error list should have sourceLocationAlex Beregszaszi2017-02-091-6/+4
| |
| * Updated EVM outputAlex Beregszaszi2017-02-091-13/+16
| |
| * Make contracts output two-levelAlex Beregszaszi2017-02-091-14/+16
| |
| * Update errors outputAlex Beregszaszi2017-02-091-17/+20
| |
| * Include pseudo-code of compiler APIAlex Beregszaszi2017-02-091-1/+13
| |
| * Change layout and include API, Input, Output sectionsAlex Beregszaszi2017-02-091-11/+17
| |
| * Add metadata.useLiteralContent optionAlex Beregszaszi2017-02-091-0/+5
| |
| * Update output selectionAlex Beregszaszi2017-02-091-27/+40
| |
| * Update settings sectionAlex Beregszaszi2017-02-091-8/+21
| |
| * Update sources definition based on the metadataAlex Beregszaszi2017-02-091-9/+25
| |
| * Place into a code blockAlex Beregszaszi2017-02-091-0/+3
| |
| * The metadata section has been moved, make only a reference to itAlex Beregszaszi2017-02-091-95/+5
| |
| * Update the metadata JSON specAlex Beregszaszi2017-02-091-10/+23
| |
| * Update the metadata JSON specAlex Beregszaszi2017-02-091-1/+7
| |
| * Add missing fieldsAlex Beregszaszi2017-02-091-1/+4
| |
| * Describe the ABI output fieldAlex Beregszaszi2017-02-091-1/+3
| |
| * Update with https://pad.riseup.net/p/7x3G896a3NLAAlex Beregszaszi2017-02-091-27/+121
| |
| * Add language and some minor corrections and clarifications.chriseth2017-02-091-6/+9
| |
| * Document input description and metadata output.chriseth2017-02-093-39/+142
|/
* Merge pull request #1662 from ethereum/ipc-safety-checksAlex Beregszaszi2017-02-091-7/+11
|\ | | | | Add safety checks to IPC (tests)
| * Use BOOST_REQUIRE() and stop at the first failureAlex Beregszaszi2017-02-091-5/+5
| |
| * Check the return value of RPC callsAlex Beregszaszi2017-02-091-6/+8
| |
| * Avoid crash if fdopen failed in IPCAlex Beregszaszi2017-02-091-0/+2
| |
| * Ensure that a valid RPC response is received through IPCAlex Beregszaszi2017-02-091-1/+1
|/
* Merge pull request #1667 from ethereum/build-fixAlex Beregszaszi2017-02-091-6/+12
|\ | | | | Build script: ensure that all commands succeed and move back to root
| * Ensure that all commands succed and move back to rootAlex Beregszaszi2017-02-091-6/+12
| |
* | Merge pull request #1643 from federicobond/patch-1chriseth2017-02-091-1/+2
|\ \ | |/ |/| grammar.txt: Add rule for tuple destructuring
| * grammar.txt: Add rule for tuple destructuringFederico Bond2017-02-091-1/+2
| |
* | Merge pull request #1663 from ethereum/mac-tests-fixchriseth2017-02-081-1/+1
|\ \ | | | | | | Fix tests on mac (wc produces whitespace)
| * | Fix tests on mac (wc produces whitespace)Alex Beregszaszi2017-02-081-1/+1
|/ /
* | Merge pull request #1653 from ethereum/node-versionchriseth2017-02-071-2/+2
|\ \ | | | | | | Require node.js >=5
| * | Require node.js >= 5Alex Beregszaszi2017-02-071-2/+2
| | |
* | | Merge pull request #1655 from ethereum/docs-versionchriseth2017-02-071-2/+8
|\ \ \ | | | | | | | | Take documentation version numbers from CMake
| * \ \ Merge branch 'develop' into docs-versionchriseth2017-02-079-11/+17
| |\ \ \ | |/ / / |/| | |
* | | | Merge pull request #1660 from ethereum/asm-selfdestructchriseth2017-02-078-11/+11
|\ \ \ \ | | | | | | | | | | Rename SUICIDE opcode to SELFDESTRUCT in libevmasm
| * \ \ \ Merge branch 'develop' into asm-selfdestructchriseth2017-02-071-0/+6
| |\ \ \ \ | |/ / / / |/| | | |
* | | | | Merge pull request #1659 from ethereum/docs-archlinuxchriseth2017-02-071-0/+6
|\ \ \ \ \ | |_|_|/ / |/| | | | Add archlinux installation instructions
| * | | | Add archlinux installation instructionsAlex Beregszaszi2017-02-071-0/+6
|/ / / /
| * / / Rename SUICIDE opcode to SELFDESTRUCT in libevmasmAlex Beregszaszi2017-02-078-11/+11
|/ / /
| * / Take documentation version numbers from CMakeAlex Beregszaszi2017-02-071-2/+8
|/ /
* | Merge pull request #1649 from ethereum/solc-fix-mkdirAlex Beregszaszi2017-02-062-1/+4
|\ \ | | | | | | Do not create directories . and ..
| * | Do not create directories . and ..Alex Beregszaszi2017-02-062-1/+4
|/ /
* | Merge pull request #1648 from ethereum/escape-filenameschriseth2017-02-062-7/+8
|\ \ | | | | | | Always escape filenames in solc
| * | Always escape filenames in solcAlex Beregszaszi2017-02-062-7/+8
| |/
* | Merge pull request #1640 from ethereum/docs-esotericchriseth2017-02-061-25/+0
|\ \ | |/ |/| Remove obsolete esoteric features section
| * Remove obsolete esoteric features sectionAlex Beregszaszi2017-02-031-25/+0
|/
* Merge pull request #1642 from VoR0220/implementBuildScriptRJ Catalano2017-02-033-7/+27
|\ | | | | implement a build script
| * clarified binaries installationRJ Catalano2017-02-031-1/+2
| | | | | | | | Signed-off-by: RJ Catalano <rj@monax.io>
| * implement a build scriptRJ Catalano2017-02-033-7/+26
|/ | | | Signed-off-by: RJ Catalano <rj@monax.io>
* Merge pull request #1641 from ethereum/docs-gettersRJ Catalano2017-02-037-24/+24
|\ | | | | Rename accessor to getter
| * Rename accessor to getterAlex Beregszaszi2017-02-037-24/+24
|/
* Merge pull request #1638 from willnwhite/patch-1Alex Beregszaszi2017-02-031-2/+1
|\ | | | | Other contracts can't write to a public variable
| * Other contracts can't write to a public variableWill White2017-02-021-2/+1
|/ | | The removed words implied that other contracts can write to a public variable.
* Merge pull request #1634 from ethereum/swap-assertAlex Beregszaszi2017-02-022-4/+5
|\ | | | | Warn early in a case of invalid swap
| * Warn early when exhausting stackAlex Beregszaszi2017-02-021-0/+1
| |
| * More verbose log of when using invalid instructionsAlex Beregszaszi2017-02-021-4/+4
|/
* Merge pull request #1636 from ethereum/docs-solcjsAlex Beregszaszi2017-02-021-7/+8
|\ | | | | Explain the difference between solc and solcjs
| * Explain the difference between solc and solcjsAlex Beregszaszi2017-02-021-7/+8
|/
* Merge pull request #1633 from ethereum/negative-length-arrayschriseth2017-02-024-0/+18
|\ | | | | Reject negative length arrays
| * Merge branch 'develop' into negative-length-arrayschriseth2017-02-0229-116/+116
| |\ | |/ |/|
* | Merge pull request #1635 from ethereum/licensing-headerchriseth2017-02-0229-116/+116
|\ \ | | | | | | Replace cpp-ethereum with solidity in the license headers
| * | Replace cpp-ethereum with solidity in the license headersAlex Beregszaszi2017-02-0229-116/+116
|/ /
| * Disallow arrays with negative lengthAlex Beregszaszi2017-02-023-0/+15
| |
| * Add isNegative to RationalNumberTypeAlex Beregszaszi2017-02-021-0/+3
|/
* Merge pull request #1630 from ethereum/function-to-addressAlex Beregszaszi2017-02-027-1/+85
|\ | | | | Explicit external function type to address conversion
| * Cover both failure casesAlex Beregszaszi2017-02-021-1/+13
| |
| * Add changelog for function types to address conversionAlex Beregszaszi2017-02-011-0/+3
| |
| * Only capture function type to address conversionAlex Beregszaszi2017-02-011-8/+10
| |
| * Add more tests for function type conversionAlex Beregszaszi2017-02-012-1/+32
| |
| * Add tests for explicity fuction type to address castingAlex Beregszaszi2017-02-011-0/+12
| |
| * Be more verbose on the stack-mismatch errorsAlex Beregszaszi2017-02-011-1/+1
| |
| * Support explicit conversion of external function type to addressAlex Beregszaszi2017-02-014-1/+25
|/
* Merge pull request #1625 from ethereum/asmdocschriseth2017-02-012-490/+30
|\ | | | | Integrate missed changes.
| * Integrate missed changes.chriseth2017-02-012-490/+30
| |
* | Merge pull request #1623 from ethereum/versionRJ Catalano2017-02-013-3/+5
|\ \ | |/ |/| Version update
| * Version updatechriseth2017-02-013-3/+5
|/
* Release date for 0.4.9chriseth2017-02-011-1/+1
|
* Merge pull request #1594 from ethereum/fixStdTokenchriseth2017-01-312-14/+34
|\ | | | | Make standard token compileable.
| * Fix transferFrom.chriseth2017-01-231-7/+11
| |
| * Make token constructible.chriseth2017-01-211-12/+24
| |
| * Test that all constructible std contracts produce bytecode.chriseth2017-01-211-0/+4
| |
* | Merge pull request #1621 from VoR0220/fixLinkerForBinariesWithImportschriseth2017-01-311-1/+3
|\ \ | | | | | | fix for linker wrt binaries generated with import statements
| * | fix for linker wrt binaries generated with import statementsVoR02202017-01-311-1/+3
|/ / | | | | | | Signed-off-by: VoR0220 <rj@erisindustries.com>
* | Merge pull request #1619 from ethereum/changelogchriseth2017-01-304-1/+24
|\ \ | | | | | | Mention in changelog that invalid as an opcode is valid inline assembly
| * | Add tests for invalid instructionAlex Beregszaszi2017-01-282-0/+20
| | |
| * | Mention invalid in docsAlex Beregszaszi2017-01-271-0/+2
| | |
| * | Mention in changelog that invalid as an opcode is valid inline assemblyAlex Beregszaszi2017-01-271-1/+2
|/ /
* | Merge pull request #1598 from wuestholz/developchriseth2017-01-2714-23/+85
|\ \ | | | | | | Change translation of implicit throws
| * | Changelog and review suggestions.chriseth2017-01-273-2/+4
| | |
| * | Document special case of zero-initialized internal function.chriseth2017-01-261-1/+6
| | |
| * | Uninitialized internal function should call INVALID.chriseth2017-01-261-1/+3
| | |
| * | Allow inserting low-level functions without calling them.chriseth2017-01-262-5/+26
| | |
| * | Split line.chriseth2017-01-261-1/+3
| | |
| * | Fix optimizer with regards to INVALID instruction.chriseth2017-01-262-0/+2
| | |
| * | Change code for INVALID opcode to 0xfe.chriseth2017-01-262-4/+4
| | |
| * | Address feedback from code review.Valentin Wüstholz2017-01-265-16/+12
| | |
| * | Change translation of implicit throws (issue #1589).Valentin Wüstholz2017-01-2610-17/+49
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #1451 from LefterisJP/fix_buildchriseth2017-01-273-19/+123
|\ \ \ | | | | | | | | Accept any kind of whitespace after natspec tags
| * | | Changelog entry.chriseth2017-01-271-0/+1
| | | |
| * | | Tests for natspect parsing failure casesLefteris Karapetsas2017-01-271-0/+42
| | | |
| * | | Minor changes.chriseth2017-01-271-19/+17
| | | |
| * | | More verbose function namingLefteris Karapetsas2017-01-271-2/+2
| | | |
| * | | Doc tags followed by newline are now parsed properlyLefteris Karapetsas2017-01-272-3/+3
| | | |
| * | | Fix and better output for testsLefteris Karapetsas2017-01-252-1/+7
| | | |
| * | | Accept any kind of whitespace after natspec tagsLefteris Karapetsas2017-01-252-13/+70
| | | |
* | | | Merge pull request #1613 from ethereum/refactorJsonAlex Beregszaszi2017-01-275-51/+49
|\ \ \ \ | | | | | | | | | | Refactor json return type generation.
| * | | | Refactor json return type generation.chriseth2017-01-275-51/+49
|/ / / /
* | | | Merge pull request #1608 from LefterisJP/archlinux_add_ethereum_gitchriseth2017-01-271-0/+2
|\ \ \ \ | |_|/ / |/| | | Add ethereum-git to archlinux dependencies
| * | | Add ethereum-git to archlinux dependenciesLefteris Karapetsas2017-01-261-0/+2
| |/ / | | | | | | | | | It's needed for testing, since we need to have the `eth` client installed
* | | Merge pull request #1604 from ethereum/checksumsAlex Beregszaszi2017-01-2615-18/+294
|\ \ \ | | | | | | | | Warn about invalid checksums of addresses.
| * | | Simplify length rule.chriseth2017-01-261-2/+2
| | | |
| * | | Add some more tests for the checksum routine.chriseth2017-01-251-0/+83
| | | |
| * | | Documentation.chriseth2017-01-251-0/+13
| | | |
| * | | Also check library addresses.chriseth2017-01-254-23/+49
| | | |
| * | | Tests for library checksums.chriseth2017-01-252-14/+53
| | | |
| * | | Warn about invalid checksums of addresses.chriseth2017-01-258-2/+117
| |/ /
* | | Merge pull request #1610 from ethereum/assemblyModeErrorAlex Beregszaszi2017-01-262-26/+33
|\ \ \ | | | | | | | | Proper error reporting for assembly mode.
| * | | Header cleanup.chriseth2017-01-262-26/+29
| | | |
| * | | Proper error reporting for assembly mode.chriseth2017-01-261-0/+4
| |/ /
* | | Merge pull request #1611 from ethereum/metadata-literal-sourceschriseth2017-01-264-5/+18
|\ \ \ | | | | | | | | Add option to keep literal sources in metadata
| * | | Add literal metadata sources to changelogAlex Beregszaszi2017-01-261-0/+1
| | | |
| * | | Add option to solc to use literal sources in metadtaAlex Beregszaszi2017-01-261-1/+6
| | | |
| * | | Add option to store literal sources in metadataAlex Beregszaszi2017-01-262-4/+11
|/ / /
* | | Merge pull request #1606 from ethereum/inlineasm-instr-shadowingAlex Beregszaszi2017-01-265-4/+33
|\ \ \ | |/ / |/| | Avoid shadowing of inline assembly instructions with variables
| * | Update error message.chriseth2017-01-262-2/+2
| | |
| * | Disallow assignment to non-identifiers.chriseth2017-01-262-0/+8
| | |
| * | Disallow instructions in assignment.chriseth2017-01-261-6/+5
| | |
| * | Add test for assignment.chriseth2017-01-261-1/+7
| | |
| * | Renamed function.chriseth2017-01-262-5/+5
| | |
| * | Moved test.chriseth2017-01-263-15/+7
| | |
| * | Rewording in changelog.chriseth2017-01-261-1/+1
| | |
| * | Add test for shadowing inline assembly instructionAlex Beregszaszi2017-01-251-0/+13
| | |
| * | Do not allow shadowing inline assembly instructions with variablesAlex Beregszaszi2017-01-253-1/+12
|/ /
* | Merge pull request #1595 from ethereum/noDuplicatedContractsRJ Catalano2017-01-252-14/+47
|\ \ | | | | | | Include bytecode of created contracts only once.
| * | Include creation code only once.chriseth2017-01-251-14/+18
| | |
| * | Test double inclusion of bytecode.chriseth2017-01-251-0/+29
|/ /
* | Merge pull request #1588 from ethereum/fixrecursivestructschriseth2017-01-258-457/+607
|\ \ | | | | | | Introduce low-level functions
| * | Use int arithmetics for stack adjustment.chriseth2017-01-241-1/+1
| | |
| * | Change clearStorageLoop to TypePointer.chriseth2017-01-242-16/+18
| | |
| * | Changelog entry.chriseth2017-01-241-0/+4
| | |
| * | Use shared_ptrs to enable shared_from_this.chriseth2017-01-241-4/+4
| | |
| * | Convert ArrayUtils routines into low-level functions.chriseth2017-01-241-228/+251
| | |
| * | Move some util functions to low-level functions.chriseth2017-01-245-244/+320
| | |
| * | Low level named functions for CompilerContext.chriseth2017-01-242-0/+23
| | |
| * | Test for initializing recursive structs.chriseth2017-01-241-0/+22
| | |
* | | Merge pull request #1600 from ethereum/functionalAsmOutchriseth2017-01-254-17/+94
|\ \ \ | |/ / |/| | Create functional assembly output, if possible.
| * | Create functional assembly output, if possible.chriseth2017-01-244-17/+94
| | |
* | | Merge pull request #1245 from ethereum/1215chriseth2017-01-245-7/+177
|\ \ \ | |/ / |/| | Allow multiple events of the same name
| * | analysis: disallow overloading functions with eventsYoichi Hirai2017-01-231-1/+6
| | |
| * | test: add tests about functions and events of the same nameYoichi Hirai2017-01-231-0/+47
| | |
| * | analysis: fix formatYoichi Hirai2017-01-231-4/+7
| | |
| * | test: add a test case about inheriting multiple events of the same nameYoichi Hirai2017-01-231-0/+52
| | |
| * | Changelog: move an item upwardsYoichi Hirai2017-01-231-1/+1
| | |
| * | test: somehow log counting system has changedYoichi Hirai2017-01-231-10/+10
| | |
| * | analysis: Resolve event overloadingYoichi Hirai2017-01-232-14/+11
| | |
| * | test: check the results of function calls in the test for multiple events of ↵Yoichi Hirai2017-01-231-6/+9
| | | | | | | | | | | | the same name
| * | test: fixing inconsistent usage of end-to-end test frameworkYoichi Hirai2017-01-231-4/+7
| | |
| * | Changelog: add a point about allowing multiple events that share the same nameYoichi Hirai2017-01-231-0/+1
| | | | | | | | | | | | See #1215
| * | test: Add an end-to-end test about multiple events of the same nameYoichi Hirai2017-01-231-0/+41
| | | | | | | | | | | | See #1215
| * | analysis: Allow multiple events of the same nameYoichi Hirai2017-01-231-0/+7
| | | | | | | | | | | | Fixes #1215
| * | test: Add a test for #1215Yoichi Hirai2017-01-231-0/+11
| |/ | | | | | | using the original example from @pipermerriam
* | Merge pull request #1599 from ethereum/fixErrorTagLLLAlex Beregszaszi2017-01-232-1/+8
|\ \ | | | | | | Fix error tag usage in lll.
| * | LLL: add test for (panic) in a sequenceAlex Beregszaszi2017-01-121-0/+7
| | |
| * | Fix error tag usage in lll.chriseth2017-01-231-1/+1
|/ /
* | Merge pull request #1591 from ethereum/stackTooDeepLocationYoichi Hirai2017-01-233-3/+16
|\ \ | | | | | | Report source location on "stack too deep" errors.
| * | Report source location on "stack too deep" errors.chriseth2017-01-213-3/+16
| |/
* | Merge pull request #1593 from ethereum/identifierRegexYoichi Hirai2017-01-231-1/+1
|\ \ | | | | | | Correct identifier regex
| * | Correct identifier regexchriseth2017-01-211-1/+1
| |/
* | Merge pull request #1592 from ethereum/internalConstructorsYoichi Hirai2017-01-235-2/+49
|\ \ | | | | | | Disallow creation of contracts with internal constructors.
| * | Check if constructor is public or not.chriseth2017-01-213-2/+13
| | |
| * | Add tests for internal constructor.chriseth2017-01-212-0/+36
| |/
* | Merge pull request #1597 from sarbogast/patch-2chriseth2017-01-231-10/+10
|\ \ | | | | | | Fix the list of reasons for throwing automatically
| * | Fix the list of reasons for throwing automaticallySebastien Arbogast2017-01-211-10/+10
| |/ | | | | Used aut-enumerated list syntax
* | Merge pull request #1596 from sarbogast/patch-1chriseth2017-01-231-1/+1
|\ \ | |/ |/| Fixed typo on contract instance
| * Fixed typo on contract instanceSebastien Arbogast2017-01-211-1/+1
|/ | | Fixed the name of the variable referencing a contract instance
* Merge pull request #1576 from ethereum/typeIdentifiersYoichi Hirai2017-01-207-20/+359
|\ | | | | Type identifiers.
| * Make m_id const.chriseth2017-01-201-1/+1
| |
| * Reset AST node IDs between compilation runs.chriseth2017-01-205-5/+28
| |
| * Properly escape user strings and lists.chriseth2017-01-193-56/+98
| |
| * Type identifiers.chriseth2017-01-194-3/+277
| |
* | Merge pull request #1587 from ethereum/fixFunctionVisibilityYoichi Hirai2017-01-192-2/+4
|\ \ | |/ |/| Fix default function type name visibility.
| * Fix default function type name visibility.chriseth2017-01-192-2/+4
|/
* Merge pull request #1583 from federicobond/fix-commentchriseth2017-01-191-1/+1
|\ | | | | Fix typo in comment
| * Fix typo in commentFederico Bond2017-01-181-1/+1
| |
* | Merge pull request #1584 from ethereum/tierchriseth2017-01-193-149/+149
|\ \ | | | | | | libevmasm: remove duplicate `Tier` from `Tier::xTier`s
| * | libevmasm: remove duplicate `Tier` from `Tier::xTier`sYoichi Hirai2017-01-193-149/+149
| | | | | | | | | | | | Synchronize with cpp-ethereum
* | | Merge pull request #1585 from ethereum/libraryfallbackchriseth2017-01-194-21/+42
|\ \ \ | |_|/ |/| | Provide fallback for linking.
| * | Provide fallback for linking.chriseth2017-01-194-21/+42
| | |
* | | Merge pull request #1581 from ethereum/fixosxchriseth2017-01-181-2/+2
|\ \ \ | |/ / |/| | Fix JSON output on macos.
| * | Fix JSON output on macos.chriseth2017-01-181-2/+2
| | |
* | | Merge pull request #1397 from roadriverrail/contract_collisionchriseth2017-01-1810-59/+82
|\ \ \ | |/ / |/| | Error out when contracts collide on name
| * | Provide fall-back method for contract lookupRhett Aultman2017-01-171-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | Properly, contracts are now looked up via <source>:<contract> identifiers called "fully qualified names." As a modicum of backward-compatibility, failure on a lookup is now backed up by seeing if the ":" exists at all, and if it doesn't, then the known contracts are scanned for any matching contract name.
| * | Revert "Fix contract lookup in tests"Rhett Aultman2017-01-175-10/+6
| | | | | | | | | | | | This reverts commit f8914c6b281f398d6084f10708233bf79d633ef0.
| * | Update changelogRhett Aultman2017-01-171-0/+3
| | |
| * | Fix bad merge artifact(?)Rhett Aultman2017-01-171-1/+1
| | | | | | | | | | | | | | | | | | Looks like merging up munged line 188 in CommandLineInterface.cpp, so that a string literal was being used where a global variable should be.
| * | Modify library collision testRhett Aultman2017-01-171-0/+1
| | | | | | | | | | | | | | | Since libaraies no longer collide on name but on fully-qualified name, you can only induce collision by colliding them as idenfitiers.
| * | Revert "Move clashing libraries to common source in test"Rhett Aultman2017-01-171-1/+2
| | | | | | | | | | | | This reverts commit c4a9ca5cfe7a8b4ba9d2d84392c57d5eefacd1f7.
| * | Remove checkLibraryNameClashes()Rhett Aultman2017-01-172-37/+0
| | | | | | | | | | | | | | | | | | | | | | | | The library name clash checker throws errors when two libraries of the same name are spotted. In a previous commit, this function was rewritten to use fully-qualified names instead, which makes it redundant to the checker for multiply-declared identifiers. Since it no longer serves a clear purpose, the function is being dropped.
| * | Use fully-qualified names for linking, tooRhett Aultman2017-01-173-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using libraries leaves behind a library link reference in the binary which the linker must later resolve. These link references were still being generated by name and not by fully-qualified name. This would lead to a link-time collision between two libraries having the same name but in different source units. This change changes linker symbols over to fully-qualified names, which resolves that issue. This does potentially introduce a new problem, which is that linker symbols appear to be limited to 36 characters and are truncated. Storing paths extends the average symbol size, and it would be great if truncation was from the tail rather than the head.
| * | Remove unique error for contract collisionRhett Aultman2017-01-171-39/+10
| | | | | | | | | | | | | | | | | | Because contracts are uniquely identified by their source unit, there is no need for a unique error for this; it's actually covered by the checker for double-declaration of identifiers.
| * | Fix contract lookup in testsRhett Aultman2017-01-175-6/+10
| | | | | | | | | | | | | | | | | | The fully-qualified name of a contract with no source unit is :<Name> instead of just <Name>, so the test system needed to be adjusted accordingly.
| * | Move fullyQualified() name to DeclarationRhett Aultman2017-01-172-10/+1
| | |
| * | Stylistic correctionsRhett Aultman2017-01-173-11/+5
| | |
| * | Move clashing libraries to common source in testRhett Aultman2017-01-171-2/+1
| | | | | | | | | | | | | | | | | | Since contracts and libraries only collide if they share a common source file now, this test only works if both libraries are in the same source.
| * | Push the error instead of throwing itRhett Aultman2017-01-171-10/+34
| | | | | | | | | | | | | | | | | | | | | Throwing a CompilerError on multiple contract definition violates the expectations of the test suite, which thinks that compile() will return false if the code can't compile. This brings contract collision reporting in line with most of the other errors.
| * | Drop ':' if the source file name is emptyRhett Aultman2017-01-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | A large number of tests compile contracts while passing in an empty string for the source name. This leads to it being keyed by the name ":<contract>", while the tests try to look it up under the name "<contract>". This change resolves that issue by dropping the ':' in cases where there is, effectively, no source file to prepend anyway.
| * | Only avoid collision if it's the same fileRhett Aultman2017-01-175-14/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | @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.
| * | Tab whitespace cleanup (again)Rhett Aultman2017-01-171-1/+2
| | |
| * | Tidy up the error messageRhett Aultman2017-01-171-3/+3
| | |
| * | Fix tab, drop stupid '!!!', change error message.Rhett Aultman2017-01-171-3/+3
| | |
| * | Error out when contracts collide on nameRhett Aultman2017-01-171-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous behaviour, courtesy of the [] operator in std::map, would uncritically store a new ContractDefinition in m_contracts even when a ContractDefinition already existed. This "resolved" collissions on contract names by clobbering the original one with the new one, and could lead to scenarios where the clobber would only be discovered when the original ContractDefinition could not be found or referred to, which was an unhelpful InternalCompilerError. This change checks the m_contracts map for a collision first and will not let the ContractDefinition be changed to a new one once it's set, throwing a CompilerError with information about the conflict.
* | | Merge pull request #1573 from ethereum/metadata-versionchriseth2017-01-176-1/+11
|\ \ \ | | | | | | | | Store strict version number in metadata (exclude the platform)
| * | | Include SOL_VERSION_COMMIT/SOL_VERSION_PLATFORM in buildinfo.hAlex Beregszaszi2017-01-173-1/+6
| | | |
| * | | Store strict version number in metadata (exclude the platform)Alex Beregszaszi2017-01-174-1/+6
| | |/ | |/|
* | | Merge pull request #1574 from ethereum/docs-versionchriseth2017-01-171-0/+18
|\ \ \ | | | | | | | | Explain how version numbers are built
| * | | Mention how our version maps to SemverAlex Beregszaszi2017-01-171-0/+3
| | | |
| * | | Explain how version numbers are builtAlex Beregszaszi2017-01-171-0/+15
| |/ /
* | | Merge pull request #1575 from ethereum/docs-copyright-datechriseth2017-01-171-1/+1
|\ \ \ | |/ / |/| | Update copyright date in docs
| * | Update copyright date in docsAlex Beregszaszi2017-01-171-1/+1
|/ /
* | Merge pull request #1570 from ethereum/astidentifierschriseth2017-01-174-2/+11
|\ \ | | | | | | Deterministic AST node identifiers.
| * | Deterministic AST node identifiers.chriseth2017-01-174-2/+11
|/ /
* / Add git submodule init to build instructions (#1569)Rhett Aultman2017-01-171-0/+5
|/
* Update SolidityLexer.py (#1567)Nicola2017-01-161-0/+1
| | | Added number unit keywords
* Merge pull request #1564 from natzei/patch-1chriseth2017-01-131-1/+1
|\ | | | | Update SolidityLexer.py
| * Update SolidityLexer.pyNicola2017-01-131-1/+1
|/ | | 'payable' added as a keyword
* Merge pull request #1562 from ethereum/gas-tier-enum-classchriseth2017-01-133-141/+141
|\ | | | | Make enum Tier into an enum class