Bhargava Shastry
0b9fc214c7
Add UBSan build + test CI.
2021-08-26 13:14:56 +02:00
Daniel Kirchner
10c742ed0a
Update emscripten build to be compatible with new docker image.
2021-01-13 01:09:34 +01:00
chriseth
843e37b6e6
Do not warn about unreachable break.
2020-12-14 14:18:03 +01:00
Alex Beregszaszi
bd641a5206
Enable more C++ compiler warnings
2020-12-10 21:03:58 +00:00
Daniel Kirchner
4cb9a42d9a
Verify minimal clang version in cmake.
2020-12-10 17:40:29 +01:00
Daniel Kirchner
7308abc084
Allow loading Z3 dynamically at runtime.
2020-12-10 16:47:47 +01:00
Alex Beregszaszi
7e88ba8da0
Enable the -Wconversion warning
2020-12-08 16:45:24 +00:00
Daniel Kirchner
2e6693c849
Update version checks in cmake to match debian stable and remove some workarounds.
2020-12-07 18:26:51 +01:00
Alex Beregszaszi
1e2bfbd6b2
Enable the -Wextra-semi warning
2020-12-04 17:21:19 +01:00
a3d4
8faa5243b5
Fix MSVC ADL
2020-09-01 00:42:42 +02:00
Djordje Mijovic
3c57e04751
Adding -Wsign-conversion flag to cmake.
2020-07-09 15:07:56 +02:00
Daniel Kirchner
59ee743f6a
Switch to upstream docker image for emscripten build.
2020-06-04 16:17:29 +02:00
Alexander Arlt
a7e1ef6a50
[build-system] Add -Wpessimizing-move & -Wredundant-move warnings.
...
-Wpessimizing-move warns when a call to std::move would prevent copy elision
if the argument was not wrapped in a call. This happens when moving a local
variable in a return statement when the variable is the same type as the
return type or using a move to create a new object from a temporary object.
-Wredundant-move warns when an implicit move would already be made, so the
std::move call is not needed, such as when moving a local variable in a return
that is different from the return type.
2020-04-02 08:36:47 -05:00
cameel
af7139c19f
Enable colorized compiler output when running gcc via cmake
2020-01-30 03:11:28 +01:00
Alex Beregszaszi
eafcb42be7
Enable more compiler warnings in the build system
...
"-pedantic -Wno-unknown-pragmas -Wimplicit-fallthrough"
2020-01-15 14:33:27 +00:00
Daniel Kirchner
90e494615e
Build soljson.js with embedded base64-encoded wasm binary.
2020-01-13 10:51:48 +01:00
Daniel Kirchner
edd80a986d
Update emscripten to 1.39.3
2019-11-29 12:55:02 +01:00
Daniel Kirchner
cdbaf067c7
Internal emscripten build cleanup
2019-11-29 10:21:29 +01:00
kcy1019
547cd2eb71
Remove dependency on boost::regex from Whiskers
2019-10-16 21:26:49 +09:00
Daniel Kirchner
c823b3519e
Replace build source path in __FILE__ macros.
2019-10-02 17:25:10 +02:00
Daniel Kirchner
5677bedf34
Require gcc >= 5.0.
2019-06-05 11:57:06 +02:00
Bhargava Shastry
9f77d90c0b
cmake: Minor refactoring of SANITIZE flag
2019-05-22 11:33:27 +02:00
rocky
b3ef7e2301
Remove clang+osx ld warning
...
Boost libraries on osx use visibility=hidden to reduce unnecessary DWARF entries.
Unless we match visibility, ld will give a warning message like:
ld: warning: direct access in function 'boost::filesystem... from file ...
means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
2019-04-30 07:38:28 -04:00
rocky
6d5505720d
Maximum clang/gcc debugging when debugging desired.
...
-g3 adds macro information. See https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html
Both clang and gdb support this, and I think this preferred over the older -ggdb.
2019-04-16 11:47:06 -04:00
Alex Beregszaszi
62f707610e
Run clang tests with ASAN
2019-02-07 18:59:40 +01:00
Shelly Grossman
3b5f446018
Ensuring UTF-8 encoding for MSVC builds
2019-01-26 15:30:17 +02:00
Daniel Kirchner
5baac8470b
Use emscripten 1.38.8 on both travis and circle.
2019-01-17 18:31:34 +01:00
Alex Beregszaszi
3f58505c76
Remove obsolete ETH_EMSCRIPTEN option
...
This was made obsolete by using toolchain files (#2836 )
2019-01-17 15:23:21 +00:00
Daniel Kirchner
ecdc00d569
Set emscripten to strict mode (wrt deprecated compiler options).
2019-01-17 15:22:43 +00:00
chriseth
8825533222
Merge pull request #5699 from ethereum/cmake-no-c-dependency
...
cmake: Do not depend on a C compiler to be present
2018-12-20 11:56:55 +01:00
Christian Parpart
639622c6d7
cmake: Do not depend on a C compiler to be present by explicitly stating that this is a C++ project.
...
CMake defaults to C *and* C++ toolchain, in case nothing has been specified.
This means that cmake always checks for both, which is more than needed.
This PR cuts off C toolchain requirement from /CMakeLists.txt and ensures that we
don't pass along any `..._C_...` variables in EthCompilerSettings.cake nor jsoncpp.cmake.
2018-12-20 09:02:00 +01:00
Paweł Bylica
b57a36ddae
CMake: Use toolchain files
2018-12-19 12:32:15 +00:00
Christian Parpart
5b86e3ec50
Enables C++14 standard (was C++11) within the Solidity compiler project.
2018-12-11 21:28:05 +01:00
Alex Beregszaszi
551343ae3e
Merge pull request #4665 from mattaereal/cmake-patch-solver
...
cmake option added to make solvers optional
2018-08-08 17:58:01 +01:00
Matías Aereal Aeón
4b20708c49
cmake flags to make solvers optional. Implementation of #4651
2018-08-08 12:43:57 -03: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
f7c96c8dee
Merge pull request #4560 from ethereum/cmake-policy
...
CMake policies
2018-08-02 13:32:32 +01:00
Paweł Bylica
807f7533d9
CMake: Add option COVERAGE
...
This also removed PROFILE option that also adds --coverage flag. Instead you can use -DCMAKE_EXE_LINKER_FLAGS=-lprofiler. The profiling options can be added back when better investigated (e.g. -lprofiler vs -pg options).
2018-07-24 17:12:41 +02:00
Paweł Bylica
9b5d713c28
CMake: Do not use non-existing sanitizer blacklist
2018-07-24 16:53:33 +02:00
Guido Vranken
730a444226
Do not ignore CMAKE_CXX_FLAGS defined on the command line
2018-07-17 00:58:32 +02:00
Cryptomental
140dbfdbd8
Code, Changelog, ReleaseChecklist: Fix typos.
...
Refs: #4442
2018-07-11 00:26:23 +02:00
Christian Parpart
230317e9ff
Visual Studio 2017 build-time (linking) fix and improvements
2018-07-10 19:10:29 +02:00
Alexander Arlt
4aed41d9b6
cmake/EthCompilerSettings.cmake: increase stacksize for apple clang
...
- normally 16MB is enough to run all tests, but it will exceed the stack, if -DSANITIZE=address is used.
2018-05-15 15:11:38 +02:00
Alex Beregszaszi
bff741b42f
Remove obsolete warning supressions for clang
2018-04-18 23:15:16 +01:00
Alex Beregszaszi
b53156b039
Remove -fpermissive
2018-04-18 23:14:38 +01:00
Alex Beregszaszi
c43953f9fe
CMake: abort if linking results in undefined symbols with emscripten
2018-02-20 23:28:43 +01:00
Alex Beregszaszi
b4f99312e6
Disable greedy exception catcher in Emscripten build
2018-02-12 22:44:51 +00:00
Alexander Arlt
d9c51f9ca1
Set stack-size to 16MB for darwin clang.
...
By default Apple's clang defines a stack size of 8MB, some tests require
more.
2018-02-05 22:15:05 +01:00
Paweł Bylica
5722f3083c
CMake: Add compiler warning about implicit fallthough
2017-09-26 14:21:01 +02:00
Paweł Bylica
49c98bbc34
CMake: Better ccache configuration
...
EthCcache module taken from cpp-ethereum.
2017-09-20 16:39:41 +02:00