diff options
-rw-r--r-- | cmake/EthCompilerSettings.cmake | 12 | ||||
-rw-r--r-- | cmake/EthDependencies.cmake | 2 | ||||
-rw-r--r-- | docs/index.rst | 2 | ||||
-rw-r--r-- | docs/installing-solidity.rst | 2 | ||||
-rw-r--r-- | liblll/CodeFragment.cpp | 5 |
5 files changed, 12 insertions, 11 deletions
diff --git a/cmake/EthCompilerSettings.cmake b/cmake/EthCompilerSettings.cmake index 066be4c1..af6ae928 100644 --- a/cmake/EthCompilerSettings.cmake +++ b/cmake/EthCompilerSettings.cmake @@ -180,12 +180,12 @@ elseif (DEFINED MSVC) # Always use Release variant of C++ runtime. # We don't want to provide Debug variants of all dependencies. Some default # flags set by CMake must be tweaked. - string(REPLACE "/MDd" "/MD" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}) - string(REPLACE "/D_DEBUG" "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}) - string(REPLACE "/RTC1" "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}) - string(REPLACE "/MDd" "/MD" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) - string(REPLACE "/D_DEBUG" "" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) - string(REPLACE "/RTC1" "" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) + string(REPLACE "/MDd" "/MD" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") + string(REPLACE "/D_DEBUG" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") + string(REPLACE "/RTC1" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") + string(REPLACE "/MDd" "/MD" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") + string(REPLACE "/D_DEBUG" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") + string(REPLACE "/RTC1" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") set_property(GLOBAL PROPERTY DEBUG_CONFIGURATIONS OFF) # disable empty object file warning diff --git a/cmake/EthDependencies.cmake b/cmake/EthDependencies.cmake index 72585d11..a5e9b0c5 100644 --- a/cmake/EthDependencies.cmake +++ b/cmake/EthDependencies.cmake @@ -119,7 +119,7 @@ function(eth_use TARGET REQUIRED) endif() foreach(MODULE ${ARGN}) - string(REPLACE "::" ";" MODULE_PARTS ${MODULE}) + string(REPLACE "::" ";" MODULE_PARTS "${MODULE}") list(GET MODULE_PARTS 0 MODULE_MAIN) list(LENGTH MODULE_PARTS MODULE_LENGTH) if (MODULE_LENGTH GREATER 1) diff --git a/docs/index.rst b/docs/index.rst index 3b47ce78..9bee1515 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -5,7 +5,7 @@ Solidity is a contract-oriented, high-level language whose syntax is similar to and it is designed to target the Ethereum Virtual Machine. Solidity is statically typed, supports inheritance, libraries and complex -user-defines types among other features. +user-defined types among other features. As you will see, it is possible to create contracts for voting, crowdfunding, blind auctions, multi-signature wallets and more. diff --git a/docs/installing-solidity.rst b/docs/installing-solidity.rst index 44ee34f4..ec40e822 100644 --- a/docs/installing-solidity.rst +++ b/docs/installing-solidity.rst @@ -12,7 +12,7 @@ Versioning Solidity versions follow `semantic versioning <https://semver.org>`_ and in addition to releases, **nightly development builds** are also made available. The nightly builds are not guaranteed to be working and despite best efforts they might contain undocumented -and/or broken changes. We recommend to use the latest release. Package installers below +and/or broken changes. We recommend using the latest release. Package installers below will use the latest release. Browser-Solidity diff --git a/liblll/CodeFragment.cpp b/liblll/CodeFragment.cpp index d4b89b70..0f8f2606 100644 --- a/liblll/CodeFragment.cpp +++ b/liblll/CodeFragment.cpp @@ -472,14 +472,15 @@ void CodeFragment::constructOperation(sp::utree const& _t, CompilerState& _s) m_asm << end.tag(); m_asm.donePaths(); } - else if (us == "WHILE") + else if (us == "WHILE" || us == "UNTIL") { requireSize(2); requireDeposit(0, 1); auto begin = m_asm.append(); m_asm.append(code[0].m_asm); - m_asm.append(Instruction::ISZERO); + if (us == "WHILE") + m_asm.append(Instruction::ISZERO); auto end = m_asm.appendJumpI(); m_asm.append(code[1].m_asm, 0); m_asm.appendJump(begin); |