Commit Graph

7257 Commits

Author SHA1 Message Date
Yoichi Hirai
5a56496db9
test: Add a test for #1215
using the original example from @pipermerriam
2017-01-23 15:25:13 +01:00
Yoichi Hirai
9c278448c8 Merge pull request #1591 from ethereum/stackTooDeepLocation
Report source location on "stack too deep" errors.
2017-01-23 15:02:22 +01:00
chriseth
318fbb2604 Fix transferFrom. 2017-01-23 14:58:07 +01:00
Yoichi Hirai
c382ce1f6b Merge pull request #1593 from ethereum/identifierRegex
Correct identifier regex
2017-01-23 14:27:53 +01:00
Yoichi Hirai
38bdc7a7dc Merge pull request #1592 from ethereum/internalConstructors
Disallow creation of contracts with internal constructors.
2017-01-23 14:27:01 +01:00
chriseth
7e2e1eb94f Merge pull request #1597 from sarbogast/patch-2
Fix the list of reasons for throwing automatically
2017-01-23 09:32:37 +01:00
chriseth
6946902cb5 Merge pull request #1596 from sarbogast/patch-1
Fixed typo on contract instance
2017-01-23 09:31:00 +01:00
Sebastien Arbogast
7ecc8e412d Fix the list of reasons for throwing automatically
Used aut-enumerated list syntax
2017-01-20 22:53:45 +01:00
Sebastien Arbogast
0897e7bcec Fixed typo on contract instance
Fixed the name of the variable referencing a contract instance
2017-01-20 21:52:36 +01:00
chriseth
c6207e2761 Make token constructible. 2017-01-20 19:50:25 +01:00
chriseth
61a15bb92e Test that all constructible std contracts produce bytecode. 2017-01-20 19:50:14 +01:00
chriseth
0b01678bc3 Correct identifier regex 2017-01-20 19:29:43 +01:00
chriseth
0ef460461a Check if constructor is public or not. 2017-01-20 19:22:39 +01:00
chriseth
df4ef74199 Add tests for internal constructor. 2017-01-20 19:22:39 +01:00
chriseth
2536bdd6d0 Report source location on "stack too deep" errors. 2017-01-20 19:01:19 +01:00
Yoichi Hirai
12b002b3b8 Merge pull request #1576 from ethereum/typeIdentifiers
Type identifiers.
2017-01-20 16:18:57 +01:00
chriseth
07b0a0a560 Make m_id const. 2017-01-20 15:56:56 +01:00
chriseth
7159944f0f Reset AST node IDs between compilation runs. 2017-01-20 12:00:16 +01:00
Yoichi Hirai
09403dd5ed Merge pull request #1587 from ethereum/fixFunctionVisibility
Fix default function type name visibility.
2017-01-19 16:24:25 +01:00
chriseth
da178d967f Properly escape user strings and lists. 2017-01-19 13:23:58 +01:00
chriseth
3fed790a56 Type identifiers. 2017-01-19 13:23:57 +01:00
chriseth
23a654ade8 Fix default function type name visibility. 2017-01-19 11:11:40 +01:00
chriseth
ba7dcbc15e Merge pull request #1583 from federicobond/fix-comment
Fix typo in comment
2017-01-18 19:28:55 +01:00
chriseth
7c18b785e3 Merge pull request #1584 from ethereum/tier
libevmasm: remove duplicate `Tier` from `Tier::xTier`s
2017-01-18 19:28:37 +01:00
chriseth
9ce30e9da0 Merge pull request #1585 from ethereum/libraryfallback
Provide fallback for linking.
2017-01-18 19:28:14 +01:00
chriseth
d3a391c136 Provide fallback for linking. 2017-01-18 17:41:36 +01:00
Yoichi Hirai
821997a1d3
libevmasm: remove duplicate Tier from Tier::xTiers
Synchronize with cpp-ethereum
2017-01-18 17:24:39 +01:00
Federico Bond
d40ae663ec Fix typo in comment 2017-01-18 12:43:23 -03:00
chriseth
28a05e5aa3 Merge pull request #1581 from ethereum/fixosx
Fix JSON output on macos.
2017-01-18 15:41:39 +01:00
chriseth
005e190885 Merge pull request #1397 from roadriverrail/contract_collision
Error out when contracts collide on name
2017-01-18 14:28:00 +01:00
chriseth
c16e141ffb Fix JSON output on macos. 2017-01-18 14:09:40 +01:00
chriseth
4f4963131b Merge pull request #1573 from ethereum/metadata-version
Store strict version number in metadata (exclude the platform)
2017-01-17 15:35:08 +01:00
chriseth
ed12b97761 Merge pull request #1574 from ethereum/docs-version
Explain how version numbers are built
2017-01-17 15:34:41 +01:00
chriseth
78b12e8f5c Merge pull request #1575 from ethereum/docs-copyright-date
Update copyright date in docs
2017-01-17 15:33:40 +01:00
Alex Beregszaszi
2bf89776ae Update copyright date in docs 2017-01-17 13:08:22 +00:00
Alex Beregszaszi
592c692bce Mention how our version maps to Semver 2017-01-17 13:01:55 +00:00
Alex Beregszaszi
4675599170 Include SOL_VERSION_COMMIT/SOL_VERSION_PLATFORM in buildinfo.h 2017-01-17 12:54:58 +00:00
Alex Beregszaszi
350c7e7e2c Store strict version number in metadata (exclude the platform) 2017-01-17 12:54:58 +00:00
Alex Beregszaszi
9f9b7fb6f0 Explain how version numbers are built 2017-01-17 12:39:30 +00:00
chriseth
a466f26c45 Merge pull request #1570 from ethereum/astidentifiers
Deterministic AST node identifiers.
2017-01-17 11:35:21 +01:00
chriseth
99eaadd2cd Deterministic AST node identifiers. 2017-01-17 10:45:45 +01:00
Rhett Aultman
6ecb4aa36f Add git submodule init to build instructions (#1569) 2017-01-17 08:14:53 +01:00
Rhett Aultman
94b092d87c Provide fall-back method for contract lookup
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.
2017-01-16 23:47:04 -05:00
Rhett Aultman
88a2ac25e5 Revert "Fix contract lookup in tests"
This reverts commit f8914c6b28.
2017-01-16 18:07:48 -05:00
Rhett Aultman
43dbf01e73 Update changelog 2017-01-16 12:32:58 -05: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
fda39afdba Modify library collision test
Since libaraies no longer collide on name but on fully-qualified name,
you can only induce collision by colliding them as idenfitiers.
2017-01-16 12:32:58 -05:00
Rhett Aultman
a7f8a1986a Revert "Move clashing libraries to common source in test"
This reverts commit c4a9ca5cfe7a8b4ba9d2d84392c57d5eefacd1f7.
2017-01-16 12:32:58 -05:00
Rhett Aultman
5a2331a9f6 Remove checkLibraryNameClashes()
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.
2017-01-16 12:32:58 -05:00
Rhett Aultman
1f30982ab5 Use fully-qualified names for linking, too
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.
2017-01-16 12:32:57 -05:00