Grant Wuerker 
							
						 
					 
					
						
						
						
						
							
						
						
							69b4ce36de 
							
						 
					 
					
						
						
							
							Some move semantics improvements.  
						
						
						
					 
					
						2019-04-17 14:19:48 +02: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 
							
						 
					 
					
						
						
						
						
							
						
						
							1a823f0bf8 
							
						 
					 
					
						
						
							
							Fix tabs/spaces.  
						
						
						
					 
					
						2019-02-13 17:05:48 +01:00 
						 
				 
			
				
					
						
							
							
								Mathias Baumann 
							
						 
					 
					
						
						
						
						
							
						
						
							2f6dc2e773 
							
						 
					 
					
						
						
							
							Replace push_back with emplace_back where it makes sense  
						
						
						
					 
					
						2018-12-10 19:02:39 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							7c051f1e32 
							
						 
					 
					
						
						
							
							LLL: implement WITH keyword  
						
						
						
					 
					
						2018-11-21 15:50:45 +00:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							dcfa5f4ea0 
							
						 
					 
					
						
						
							
							LLL: add UNSET to remove a variable  
						
						
						
					 
					
						2018-11-21 15:37:11 +00:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							e82917d4e6 
							
						 
					 
					
						
						
							
							Add LLL error when assembly instruction causes stack underflow  
						
						
						
					 
					
						2018-11-13 13:47:29 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							c320a650f9 
							
						 
					 
					
						
						
							
							LLL: terminate sequences with a STOP  
						
						
						
					 
					
						2018-11-13 13:47:29 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Parpart 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ab0de38f16 
							
						 
					 
					
						
						
							
							Eliminate byte-typedef and use uint8_t in all their places instead.  
						
						... 
						
						
						
						This change is made to (easily) be forward compatible with future C++
standards, in order to allow compiling the code with newer standards at
some point in the future.
* Removed the `using byte = uint8_t;` line from Common.h
* Mechanically change all uses of `byte` to `uint8_t`.
Tested with GCC 7.3 in C++11/14/17 modes :-) 
						
					 
					
						2018-11-07 12:17:57 +01:00 
						 
				 
			
				
					
						
							
							
								Augusto F. Hack 
							
						 
					 
					
						
						
						
						
							
						
						
							6c3b48ddfc 
							
						 
					 
					
						
						
							
							Added guards for unknown pragmas  
						
						... 
						
						
						
						Removed push/pop if there was no change to the warnings *in the same
file* for a given compiler. This assumes the imported boost headers use
a warning stack themselves.
The pragmas don't seem to be required anymore, but were not removed to
mantain compatibility with older versions of the boost library.
Compiled with
- clang version 6.0.1 (tags/RELEASE_601/final)
- gcc (GCC) 8.1.1 20180531
 against:
- libboost 1.67.0-5 
						
					 
					
						2018-08-05 19:21:33 -03:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							7c509137cf 
							
						 
					 
					
						
						
							
							Replace dev::eth namespace with dev::lll in LLL  
						
						
						
					 
					
						2018-07-28 12:00:36 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							15517b571d 
							
						 
					 
					
						
						
							
							lll: disallow useless PUSHn in assembly  
						
						
						
					 
					
						2017-10-13 02:04:36 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							ab206b8113 
							
						 
					 
					
						
						
							
							LLL: do not crash if import callback is null  
						
						
						
					 
					
						2017-10-03 10:22:30 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							26f3ea8cf7 
							
						 
					 
					
						
						
							
							LLL: change (include) to use a callback  
						
						
						
					 
					
						2017-10-02 21:19:36 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							cbd4465a7f 
							
						 
					 
					
						
						
							
							lll: do not expose push/dup/swap/jumpdest as functions  
						
						
						
					 
					
						2017-10-02 16:21:21 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							6cbb726fb8 
							
						 
					 
					
						
						
							
							Merge pull request  #2622  from benjaminion/lll-switch  
						
						... 
						
						
						
						LLL: Implement a "switch" expression 
						
					 
					
						2017-10-02 13:38:21 +01:00 
						 
				 
			
				
					
						
							
							
								benjaminion 
							
						 
					 
					
						
						
						
						
							
						
						
							326c7887a4 
							
						 
					 
					
						
						
							
							LLL: Implement a switch expression.  
						
						
						
					 
					
						2017-10-02 12:01:15 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							cddfec27ee 
							
						 
					 
					
						
						
							
							lll: better error reporting in some cases  
						
						
						
					 
					
						2017-10-02 11:48:26 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							d70974ea7c 
							
						 
					 
					
						
						
							
							Merge pull request  #2573  from benjaminion/lll-error-report-symbol  
						
						... 
						
						
						
						LLL: Improve error reporting in certain cases. 
						
					 
					
						2017-07-20 11:02:31 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							fa2781d6da 
							
						 
					 
					
						
						
							
							LLL: remove useless code  
						
						
						
					 
					
						2017-07-18 21:12:43 +01:00 
						 
				 
			
				
					
						
							
							
								benjaminion 
							
						 
					 
					
						
						
						
						
							
						
						
							4c0953385e 
							
						 
					 
					
						
						
							
							LLL: Improve error reporting in certain cases.  
						
						
						
					 
					
						2017-07-15 22:17:20 +01:00 
						 
				 
			
				
					
						
							
							
								benjaminion 
							
						 
					 
					
						
						
						
						
							
						
						
							3bc935d932 
							
						 
					 
					
						
						
							
							LLL: rewrite alloc to avoid issues with edge cases.  
						
						
						
					 
					
						2017-07-11 21:22:38 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							dbbdcc66e6 
							
						 
					 
					
						
						
							
							LLL: fix redefinitions on some compilers  
						
						
						
					 
					
						2017-06-24 12:59:30 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							af57c083f2 
							
						 
					 
					
						
						
							
							LLL: fix the set keyword (create symbol if not present)  
						
						
						
					 
					
						2017-06-23 02:52:44 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							1ffe286a81 
							
						 
					 
					
						
						
							
							LLL: report correct name if a symbol was not found  
						
						
						
					 
					
						2017-06-22 23:00:22 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							581aace501 
							
						 
					 
					
						
						
							
							LLL: do not allow empty variable names  
						
						
						
					 
					
						2017-06-22 23:00:22 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							0868a50eb1 
							
						 
					 
					
						
						
							
							Merge pull request  #2440  from ethereum/lll-include  
						
						... 
						
						
						
						LLL: better error reporting in (include) 
						
					 
					
						2017-06-22 17:18:34 +02:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							a14a1254ca 
							
						 
					 
					
						
						
							
							LLL: report errors if (include) failed  
						
						
						
					 
					
						2017-06-22 10:56:58 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							bc95da354d 
							
						 
					 
					
						
						
							
							Replace obsolete assembly code in LLL  
						
						
						
					 
					
						2017-06-21 21:23:39 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							c08c4b8b6f 
							
						 
					 
					
						
						
							
							Move subroutine helpers from CompilerContext to Assembly  
						
						
						
					 
					
						2017-06-14 21:21:26 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							6a260a9ff1 
							
						 
					 
					
						
						
							
							Remove single use Assembly::popTo  
						
						
						
					 
					
						2017-06-14 21:21:26 +01:00 
						 
				 
			
				
					
						
							
							
								benjaminion 
							
						 
					 
					
						
						
						
						
							
						
						
							c603369a51 
							
						 
					 
					
						
						
							
							Change opcode generated by (panic) to INVALID  
						
						... 
						
						
						
						EIP-141 ethereum/EIPs#141  has preserved 0xfe as an invalid opcode for aborting EVM execution. The EVM assembler supports this via the INVALID opcode.
The LLL "panic" expression used to generate a jump to an invalid location in order to abort EVM execution.  This change brings "panic" into line with EIP-141 by generating the INVALID opcode instead. 
						
					 
					
						2017-06-13 17:01:38 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							902f69640b 
							
						 
					 
					
						
						
							
							Replace cpp-ethereum with solidity in the license headers  
						
						
						
					 
					
						2017-02-02 10:06:28 +00:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							b1add657b7 
							
						 
					 
					
						
						
							
							LLL: throw exceptions on invalid symbols  
						
						
						
					 
					
						2016-11-30 16:17:50 +00:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							4a67a2862c 
							
						 
					 
					
						
						
							
							Merge pull request  #1329  from ethereum/lll-lit-changes  
						
						... 
						
						
						
						LLL: improvements (and fixes) to the lit keyword 
						
					 
					
						2016-11-26 15:22:14 +00:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							eee10f1af2 
							
						 
					 
					
						
						
							
							LLL: simplify the LIT parsing code  
						
						
						
					 
					
						2016-11-26 14:41:15 +00:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							e51f852504 
							
						 
					 
					
						
						
							
							Converted sub assembly to smart pointer.  
						
						
						
					 
					
						2016-11-16 14:37:18 +01:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							e543bd34c0 
							
						 
					 
					
						
						
							
							Stored combined creation and runtime tags.  
						
						... 
						
						
						
						Includes a change to Assembly to allow tags from sub-assemblies to be
used.
Sorry, this get a bit bigger than I thought. 
						
					 
					
						2016-11-16 14:37:18 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							200cbc08dd 
							
						 
					 
					
						
						
							
							LLL: add bytecodesize keyword to push resulting bytecode size  
						
						
						
					 
					
						2016-11-01 22:19:06 +00:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							ac3c8a553a 
							
						 
					 
					
						
						
							
							LLL: properly support dashes (-) as part of variable names  
						
						
						
					 
					
						2016-11-01 10:45:13 +00:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							b24eed1c3e 
							
						 
					 
					
						
						
							
							LLL: remove unneeded includes  
						
						
						
					 
					
						2016-10-31 23:19:32 +00:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							9b65a79cb3 
							
						 
					 
					
						
						
							
							LLL: report back unsupported keywords  
						
						
						
					 
					
						2016-10-31 23:19:32 +00:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							75b1ae8910 
							
						 
					 
					
						
						
							
							LLL: only support variable length bigendian numbers in LIT  
						
						
						
					 
					
						2016-10-31 23:17:55 +00:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							6d97a56af1 
							
						 
					 
					
						
						
							
							LLL: support multiple strings in LIT  
						
						
						
					 
					
						2016-10-31 23:17:48 +00:00 
						 
				 
			
				
					
						
							
							
								chriseth 
							
						 
					 
					
						
						
						
						
							
						
						
							e85390cc60 
							
						 
					 
					
						
						
							
							Merge pull request  #1302  from ethereum/lll-panic  
						
						... 
						
						
						
						LLL: introduce panic keyword 
						
					 
					
						2016-10-28 11:44:46 +02:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							274c76fc5e 
							
						 
					 
					
						
						
							
							LLL: introduce panic keyword  
						
						
						
					 
					
						2016-10-27 13:45:33 +01:00 
						 
				 
			
				
					
						
							
							
								Daniel Ellison 
							
						 
					 
					
						
						
						
						
							
						
						
							7ac53f5305 
							
						 
					 
					
						
						
							
							Added support for until, the inverse of while.  
						
						
						
					 
					
						2016-10-26 09:24:01 -04:00 
						 
				 
			
				
					
						
							
							
								Alex Beregszaszi 
							
						 
					 
					
						
						
						
						
							
						
						
							6cb9c36977 
							
						 
					 
					
						
						
							
							LLL: reorder arithmetic/binary instruction list for readability  
						
						
						
					 
					
						2016-10-26 01:16:29 +01:00