mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #7697 from ethereum/develop
Merge develop into develop_060
This commit is contained in:
commit
684ccea6f0
@ -1,36 +0,0 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
# This is suitable for CIs, not end users.
|
||||
# This script is invoked by ossfuzz build CI.
|
||||
set -e
|
||||
|
||||
TEMPDIR="src"
|
||||
cd /
|
||||
mkdir -p $TEMPDIR
|
||||
cd $TEMPDIR
|
||||
git clone --recurse-submodules https://github.com/chfast/evmone.git
|
||||
(
|
||||
cd evmone
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DBUILD_SHARED_LIBS=OFF
|
||||
make -j2
|
||||
)
|
||||
|
||||
git clone https://github.com/chfast/intx.git
|
||||
(
|
||||
cd intx
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DBUILD_SHARED_LIBS=OFF -DINTX_TESTING=OFF -DINTX_BENCHMARKING=OFF
|
||||
make -j2
|
||||
)
|
||||
|
||||
git clone https://github.com/chfast/ethash.git
|
||||
(
|
||||
cd ethash
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DBUILD_SHARED_LIBS=OFF -DETHASH_BUILD_TESTS=OFF
|
||||
make -j2
|
||||
)
|
@ -1,13 +0,0 @@
|
||||
#!/usr/bin/env sh
|
||||
set -e
|
||||
TEMPDIR=$(mktemp -d)
|
||||
(
|
||||
cd $TEMPDIR
|
||||
svn co https://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/fuzzer libfuzzer
|
||||
mkdir -p build-libfuzzer
|
||||
cd build-libfuzzer
|
||||
CXXFLAGS="-O1 -stdlib=libstdc++"
|
||||
$CXX $CXXFLAGS -std=c++11 -O2 -fPIC -c ../libfuzzer/*.cpp -I../libfuzzer
|
||||
ar r /usr/lib/libFuzzingEngine.a *.o
|
||||
)
|
||||
rm -rf $TEMPDIR
|
@ -1,13 +0,0 @@
|
||||
#!/usr/bin/env sh
|
||||
set -e
|
||||
|
||||
TEMPDIR="src"
|
||||
cd /
|
||||
mkdir -p $TEMPDIR
|
||||
(
|
||||
cd $TEMPDIR
|
||||
git clone --depth 1 https://github.com/google/libprotobuf-mutator.git
|
||||
mkdir -p LPM
|
||||
cd LPM
|
||||
cmake ../libprotobuf-mutator -GNinja -DLIB_PROTO_MUTATOR_DOWNLOAD_PROTOBUF=ON -DLIB_PROTO_MUTATOR_TESTING=OFF -DCMAKE_BUILD_TYPE=Release && ninja install
|
||||
)
|
@ -1,17 +0,0 @@
|
||||
pragma experimental SMTChecker;
|
||||
|
||||
contract Simple {
|
||||
uint[] a;
|
||||
function f(uint n) public {
|
||||
uint i;
|
||||
for (i = 0; i < n; ++i)
|
||||
a[i] = i;
|
||||
require(n > 1);
|
||||
// Assertion is safe but current solver version times out.
|
||||
// Keep test for next solver release.
|
||||
assert(a[n-1] > a[n-2]);
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (261-284): Error trying to invoke SMT solver.
|
||||
// Warning: (261-284): Assertion violation happens here
|
@ -1,26 +0,0 @@
|
||||
pragma experimental SMTChecker;
|
||||
|
||||
contract LoopFor2 {
|
||||
uint[] b;
|
||||
uint[] c;
|
||||
|
||||
function testUnboundedForLoop(uint n) public {
|
||||
b[0] = 900;
|
||||
uint[] storage a = b;
|
||||
require(n > 0 && n < 100);
|
||||
uint i;
|
||||
while (i < n) {
|
||||
b[i] = i + 1;
|
||||
c[i] = b[i];
|
||||
++i;
|
||||
}
|
||||
// Fails as false positive.
|
||||
assert(b[0] == c[0]);
|
||||
assert(a[0] == 900);
|
||||
assert(b[0] == 900);
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (296-316): Assertion violation happens here
|
||||
// Warning: (320-339): Assertion violation happens here
|
||||
// Warning: (343-362): Assertion violation happens here
|
Loading…
Reference in New Issue
Block a user