Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
295 commits
Select commit Hold shift + click to select a range
9e49b2c
chore: fix typos
xiaoxianBoy Jun 6, 2024
c1edf19
Split docker run command in Dockerfile.emscripten
r0qs May 14, 2024
e2da441
Upgrade to cvc5 in buildpack-deps
r0qs May 14, 2024
3127bbc
Bump docker image versions
r0qs May 16, 2024
128b172
Install cvc5 on OSX
r0qs May 16, 2024
0f98226
Merge pull request #15184 from xiaoxianBoy/fix-typos
cameel Jun 6, 2024
e4a4c57
Merge pull request #15102 from ethereum/install-cvc5
blishko Jun 11, 2024
b8ba5da
SMTChecker: Upgrade CVC4 to cvc5
blishko May 6, 2024
025f9a2
Update CI images
blishko May 15, 2024
20ae0f2
SMTChecker: Allow using multiple external solvers in one analysis
blishko Jun 1, 2024
07f25f5
Merge pull request #15078 from ethereum/smt-cvc4-switch
blishko Jun 11, 2024
b66df3e
CompilerStack: Remove some misapplied std:: prefixes from comments an…
cameel Jun 5, 2024
e2fb57b
CompilerStack: Convert overzealous input validations to assertions
cameel Jun 5, 2024
12e8b0c
Use solAssert() instead of throwing InternalCompilerError directly
cameel Jun 6, 2024
8d561e3
Assert presence of errors in case of FatalError instead of rethrowing
cameel Jun 6, 2024
2694190
Ignore warnings and infos when checking if FatalError was reported
cameel Jun 13, 2024
e5d60a2
Merge pull request #15185 from ethereum/replace-unnecessary-validatio…
cameel Jun 13, 2024
1ca70c8
.gitignore: Mark directories as directories
cameel Jun 6, 2024
e05c596
Setup for benchmarking solc using external projects and foundry
cameel Jun 5, 2024
e1bc6cb
benchmarks: Update Uniswap to the latest revision
cameel Jun 6, 2024
732658f
Rename benchmarks/run.sh to benchmarks/local.sh
cameel Jun 6, 2024
9aceb3a
Move bytecode_size helper to common.sh
cameel Jun 14, 2024
acfc3da
Merge pull request #15183 from ethereum/foundry-benchmarks
cameel Jun 14, 2024
bb16848
Catch and report UnimplementedFeatureError
matheusaaguiar May 31, 2024
7f25267
Merge pull request #15168 from ethereum/catchSolUnimplementedFeatureE…
cameel Jun 17, 2024
48f97a3
SMTChecker: Fix error that reported invalid number of verified checks…
pgebal Jun 10, 2024
d0190e1
Merge pull request #15191 from pgebal/smtchecker/fix-invalid-number-o…
blishko Jun 17, 2024
6ccb3a3
SMTChecker: Fix internal compiler error on reporting proved targets
pgebal Jun 10, 2024
050a3a1
Remove overly specific handlers for internal errors and unexpected ex…
cameel Jun 5, 2024
9b67a39
DocumentationParsingError is never thrown and does not need to be caught
cameel Jun 5, 2024
c2c8c28
Treat util::Error as unexpected outside of codegen
cameel Jun 6, 2024
a5f5eac
Merge pull request #15186 from ethereum/remove-overly-specific-except…
cameel Jun 20, 2024
ad2644c
Make parser accept transient as location (but not a keyword)
matheusaaguiar Apr 6, 2024
7711a8e
Merge pull request #15001 from ethereum/transientStorageParserHack
matheusaaguiar Jun 20, 2024
06c27a5
Require with custom error for legacy pipeline
nikola-matic Jun 2, 2024
2021301
Changelog and docs
nikola-matic Jun 11, 2024
3c65632
Merge pull request #15205 from pgebal/smtchecker/fix-show-proved-safe
blishko Jun 21, 2024
933598d
SMTChecker: Methods returning callback can be const
blishko Jun 17, 2024
3e5516c
SMTChecker: Add SMT callback to SMTChecker tests
blishko Jun 17, 2024
f9be1e3
SMTChecker: Bring back assertions in "external_calls" SMTChecker tests
blishko Jun 17, 2024
fbb5eed
Docs: Small update regarding the use of Eldarica
blishko Jun 19, 2024
74399b6
Merge pull request #15204 from ethereum/smt-tests-update
blishko Jun 21, 2024
ce4be6e
Merge pull request #15174 from ethereum/require-with-error-legacy
nikola-matic Jun 21, 2024
d51dbe8
doc: better specify blobhash() behaviour
ToonVanHove Jun 21, 2024
dd60886
Error out on transient usage in TypeChecker
nikola-matic Jun 24, 2024
c967d46
Merge pull request #15218 from ethereum/fix-transient-storage-allowin…
nikola-matic Jun 25, 2024
0d01c93
SMTChecker: Fix formatting of unary minus expressions in invariants
blishko Jun 25, 2024
31d87b0
Merge pull request #15220 from ethereum/smt-invariants-fix-unary-ops
blishko Jun 26, 2024
477c413
yul literal value is struct of u256 + optional formatting hint or 'un…
clonker May 15, 2024
f3f7720
Merge pull request #15112 from clonker/rework_yul_literals_2
clonker Jun 28, 2024
21e3b22
SMTChecker: Do not depend on predicate name containing numbers
blishko Jun 28, 2024
762ebc1
Yul fuzzer: Skip tstore generation for older EVM versions.
bshastry Jul 1, 2024
81966bc
SMTChecker: Simplify CHC predicate representation
blishko Jun 26, 2024
c012b72
Scanner: Add SpecialComment mode
clonker Jul 1, 2024
ef9aa90
AsmParser: Use scanner instead of regex for source comment parsing
clonker Jul 1, 2024
8b0bb61
CI: Re-enable *_bytecode_too_large_* and *_combined_too_large* tests
clonker Jul 1, 2024
ce02133
BlockHasher: Do not hash literal kind
clonker Jul 1, 2024
abf88cd
Merge pull request #15231 from clonker/no_literal_kind_in_block_hash
clonker Jul 1, 2024
8d788fb
Merge pull request #15209 from clonker/asm_parser_use_scanner
clonker Jul 1, 2024
8c6fed7
Merge pull request #15225 from ethereum/smt-predicate-cleanup
blishko Jul 1, 2024
d42f92b
Merge pull request #15232 from ethereum/fuzzer-filter-tstore
ekpyron Jul 2, 2024
2696cff
Relax memory safety.
ekpyron Jul 2, 2024
22471ea
More details about the zero pointer.
ekpyron Jul 4, 2024
318259c
Phrasing.
ekpyron Jul 4, 2024
60eb073
SMTChecker: Move formatting methods out of Predicate
blishko Jul 5, 2024
08a98d1
OptimizedEVMCodeTransform: tag source location in stack too deep erro…
meetmangukiya Jul 7, 2024
ea51386
Merge pull request #15241 from ethereum/smt-formatting-refactoring
ekpyron Jul 9, 2024
4c857f5
SMTChecker: Increase Z3 resource limit
blishko Jul 9, 2024
5e9d38e
Merge pull request #15251 from ethereum/smt-bump-z3-resource-limit
ekpyron Jul 9, 2024
e0c58e5
SMTChecker: Simplify some of the long running tests
blishko Jul 10, 2024
e9d4239
Merge pull request #15254 from ethereum/smt-test-simplify
blishko Jul 10, 2024
5468686
Yul: Add const version of FunctionCallFinder
clonker Jul 10, 2024
f53bb02
SMTChecker: Further test simplifications
blishko Jul 10, 2024
64facd4
Merge pull request #15253 from ethereum/const_function_call_finder
clonker Jul 12, 2024
678e352
Yul: Object node names are std::string instead of YulString
clonker Jul 15, 2024
d6bf14a
Implementation of Lengauer-Tarjan algorithm to find dominators
r0qs Jun 7, 2023
33ececa
Merge pull request #15261 from ethereum/yul_object_names_as_strings
clonker Jul 15, 2024
790b181
Merge pull request #14460 from ethereum/dominator
r0qs Jul 15, 2024
e0ab0f2
Merge pull request #15256 from ethereum/smt-more-test-simplification
blishko Jul 15, 2024
6ad9252
Add fstream std header to not break build after compiler upgrade.
bshastry Jul 16, 2024
630f736
Add test.
ekpyron Jul 16, 2024
8840e33
Order yul subobjects by order of reference.
ekpyron Jul 15, 2024
c78b7e2
Update test.
ekpyron Jul 16, 2024
5565b86
Merge pull request #15263 from ethereum/ossfuzz-use-clang-18-1-8
ekpyron Jul 16, 2024
9d90b39
Merge pull request #15262 from ethereum/subObjectNonDeterminism
ekpyron Jul 16, 2024
3b85fb9
Remove swap from UniqueVector
nikola-matic Jul 17, 2024
91b1254
Merge pull request #15265 from ethereum/remove-swap-from-unique-vector
ekpyron Jul 17, 2024
94be070
YulStack: Remove unused m_sourceMappings member
cameel Jun 30, 2024
ee839e9
YulStack: Use util::unreachable() instead of returning unnecessary va…
cameel Jun 30, 2024
84b89a5
Fix native source locations in optimized IR AST
cameel Jul 18, 2024
8e74c48
Merge pull request #15228 from ethereum/fix-wrong-native-locations-in…
cameel Jul 18, 2024
198d239
Downgrade nodejs in base_node_small image to fix CI
nikola-matic Jul 19, 2024
61c0be7
Merge pull request #15275 from ethereum/downgrade-nodejs-in-base-node…
nikola-matic Jul 19, 2024
1a5335a
Fix isoltest crash when formatting call arguments in a contract whose…
cameel Jul 17, 2024
96fdcc3
Yul: Prepare removal of YulString by replacing its occurrences by Yul…
clonker Jul 18, 2024
01a3bb5
Merge pull request #15269 from ethereum/fix-isoltest-crash-on-arg-for…
cameel Jul 19, 2024
81a05f3
Merge pull request #15083 from ethereum/rename_yulstring_to_yulname
clonker Jul 19, 2024
b508a63
Fix docs on outputSelection
frangio Jul 19, 2024
cc15097
Merge pull request #15285 from frangio/fix-docs-outputselection
nikola-matic Jul 20, 2024
535203b
Use latest node cimg
nikola-matic Jul 19, 2024
17c3614
Merge pull request #15284 from ethereum/use-latest-nodejs-cimg
nikola-matic Jul 20, 2024
d0cabf4
Docs: Add note about the library placeholder format change in v0.5.0
kuzdogan Jul 22, 2024
1cbb322
Change link to libraries page
kuzdogan Jul 22, 2024
7552012
docs/yul: pc is dissalowed in solc yul
d-xo Jul 22, 2024
35231a1
Merge pull request #15290 from d-xo/update-dissalowed-ops-yul
ekpyron Jul 23, 2024
cccbc12
Updated some outdated docs and TODOs related to the optimizer outputs
cameel May 28, 2024
1a60d18
Do not perform IR optimization if only unoptimized IR is requested
cameel May 29, 2024
b4c395b
Merge pull request #15162 from ethereum/do-not-optimize-without-optim…
cameel Jul 24, 2024
f89e83b
yul: AsmPrinter has mode enum to determine printing mode instead of d…
clonker Jul 12, 2024
065c2c3
Merge pull request #15259 from ethereum/asm_printer_mode
clonker Jul 25, 2024
5af1115
Add library abi notes in ABI page
kuzdogan Jul 25, 2024
e0fb91f
Merge pull request #15301 from kuzdogan/add-library-abi-notes
nikola-matic Jul 30, 2024
911ab3c
SMTChecker: Introduce SMT-LIB context
blishko Jun 20, 2024
e73ab6a
Merge pull request #15239 from ethereum/smt-better-context
blishko Jul 30, 2024
9a1d740
Add --asm-json option in assembler mode.
aarlt Oct 12, 2023
4c7e490
Merge pull request #14612 from ethereum/add-asm-json-output-assembler…
cameel Jul 31, 2024
c458c3e
SMTChecker: Use pipe instead of temporary file in solver interface
blishko Jul 31, 2024
7245108
Merge pull request #15307 from ethereum/smt-pipe
nikola-matic Jul 31, 2024
b4917bb
SMTChecker: Do not prematurely end reading solver's response
blishko Jul 21, 2024
ecfe63a
SMTChecker: Explain command-line arguments of individual solvers
blishko Jul 31, 2024
1bb7872
Merge pull request #15311 from ethereum/smt-solver-command
nikola-matic Aug 1, 2024
c5685e7
generate transient storage layout
matheusaaguiar Jun 24, 2024
7094e30
Merge pull request #15247 from ethereum/transientStorageLayout
nikola-matic Aug 2, 2024
978f9a0
Yul: Immutable AST class with top-level block
clonker Jul 11, 2024
d109d6b
Yul: StackCompressor/StackLimitEvader return modified ast and operate…
clonker Jul 29, 2024
d067964
Yul: introduce setCode method for yul::Object to properly clean up re…
clonker Aug 2, 2024
44bfa72
Yul: optimizer tests assert that there are no subobjects but Data
clonker Aug 2, 2024
860f0d4
Change the constant optimizer to make use of PUSH0
axic Apr 12, 2023
6e7d94e
Add new Peephole Optimiser method (deduplicateNextTag)
matheusaaguiar Mar 30, 2024
7e67811
Update tests
matheusaaguiar Mar 30, 2024
a500a63
workaround to skip failing hardhat tests
matheusaaguiar Jun 28, 2024
57ab4dc
Parser: Fix spuriously emitted parser error for unary plus operations…
clonker Aug 5, 2024
38088a1
Merge pull request #15315 from ethereum/spurious_unary_plus_parser_error
nikola-matic Aug 5, 2024
5dbaa13
Merge pull request #14117 from ethereum/push0-optimisations
ekpyron Aug 5, 2024
40aec73
Update libyul/Object.cpp
ekpyron Aug 6, 2024
c92b32f
Merge pull request #15258 from ethereum/immutable_ast_class
ekpyron Aug 6, 2024
961c99d
Tests for warnings sensitive to optimization
cameel Jul 31, 2024
ea262ed
EVMObjectCompiler: Don't require a mutable object
cameel Jul 31, 2024
fe4c52e
Move optimized IR reparsing from CompilerStack to YulStack
cameel Jul 31, 2024
ea85a78
CLI: remove --yul flag
clonker Aug 6, 2024
f99c239
Merge pull request #15316 from ethereum/remove_yul_cli_arg
r0qs Aug 8, 2024
55a5fd9
Fix SMT logic error when assigning to an array of contracts or functi…
pgebal Aug 9, 2024
da68f49
Dont allow initialization of transient storage state variables
matheusaaguiar Aug 6, 2024
44e008b
Yul: remove deprecated dialect
clonker Aug 7, 2024
2d01e62
Merge pull request #15210 from ToonVanHove/doc-fix
matheusaaguiar Aug 12, 2024
dd64adf
Merge pull request #15317 from ethereum/RestrictTransientStorageVaria…
ekpyron Aug 12, 2024
60530b8
Merge pull request #15319 from ethereum/remove_yul_deprecated_dialect
ekpyron Aug 12, 2024
6d3340a
Merge pull request #15309 from ethereum/fix-wrong-native-locations-in…
ekpyron Aug 12, 2024
61d1d9d
fix typo in micropayment.rst
Allarious Aug 12, 2024
1c0b2f5
Yul: Remove EVMDialectTyped
clonker Aug 13, 2024
6512722
Yul tests: Adapt or remove EVMDialectTyped tests
clonker Aug 13, 2024
40e05d6
Yul optimizer tests: Update test expectations to use evm instead of e…
clonker Aug 13, 2024
d7bfea0
Yul syntax tests: Update test expectations to use evm instead of evmT…
clonker Aug 13, 2024
83895d0
Error codes: Whitelist 1733 and 9547 as they rely on Yul types (which…
clonker Aug 13, 2024
f90d4c0
Merge pull request #15328 from Allarious/patch-2
nikola-matic Aug 13, 2024
63d87a2
Use submodules for some dependencies.
aarlt Jun 12, 2024
5647d99
Merge pull request #15329 from ethereum/remove_evm_typed
ekpyron Aug 13, 2024
3de3c7b
Bump evmone to v0.12.0 in CI
nikola-matic Aug 9, 2024
3d3b78e
Fix UB introduced by casting difference of two unsigneds to signed
clonker Aug 14, 2024
add191d
Merge pull request #15333 from ethereum/yul_evm_code_transform_ub
clonker Aug 14, 2024
da1bc0b
SMTChecker: Add setup of z3 to SMTSolverCommand
blishko Aug 14, 2024
363274d
Update ContractCompiler.cpp
lmanini Aug 15, 2024
fa781b7
Remove cmake dependency and bump boost in ossfuzz
nikola-matic Aug 13, 2024
1c21f83
Add ubuntu2404 docker image
nikola-matic Aug 14, 2024
314b145
Merge pull request #15334 from ethereum/smt-z3-command
ekpyron Aug 15, 2024
3da2cd9
Merge pull request #15246 from meetmangukiya/stack-too-deep-yul-srclo…
ekpyron Aug 15, 2024
b9b1d08
Pass vector of SMT expressions to SymbolicFunctionVariable function
zo9999 Apr 3, 2024
fc0fb95
Merge pull request #14981 from zo9999/fix-signature-of-function-opera…
blishko Aug 15, 2024
60b2b03
Merge pull request #15335 from lmanini/patch-2
ekpyron Aug 15, 2024
a197cbe
Add back CLion build directories to .gitignore.
ekpyron Aug 18, 2024
cae1dec
Merge pull request #15342 from ethereum/gitignore
clonker Aug 19, 2024
b172de5
SMTChecker: Inline let expressions in solvers' models
blishko Aug 15, 2024
c7adde3
Merge pull request #15195 from ethereum/some_dependencies_as_git_subm…
aarlt Aug 19, 2024
98b22f8
Merge pull request #15336 from ethereum/smt-lets
blishko Aug 19, 2024
3b532e4
docs: add the onlyBuyer modifier in function confirmPurchase()
DestinyWei Oct 22, 2023
91076d6
Update safe-remote.rst
mehtavishwa30 Aug 19, 2024
020bde9
SMTChecker: Translate bitvector constants properly
blishko Jul 20, 2024
3f74db6
Merge pull request #15344 from ethereum/revert-docs-pr
ekpyron Aug 19, 2024
06d2bde
Object compiler tests for nested identical objects
cameel Jul 22, 2024
8f237de
Object: Add missing `override` specifier to overridden methods
cameel Jun 12, 2024
6654e87
ObjectDebugData: Expose a helper for formatting the @use-src comment
cameel Jun 12, 2024
27daf26
Caching of optimized IR
cameel Jul 31, 2024
5c7fc04
OptimizedIRCachingTest
cameel Jul 30, 2024
20857af
Merge pull request #15267 from ethereum/caching-optimized-ir
clonker Aug 19, 2024
f6aee35
Fix some submodule related problems.
aarlt Aug 19, 2024
c6075d5
Merge pull request #15346 from ethereum/fix_submodules
ekpyron Aug 19, 2024
05c96ce
Merge pull request #15345 from ethereum/smt-parse-constants
ekpyron Aug 19, 2024
b6ab054
Update fmtlib to v11.0.2.
aarlt Jul 29, 2024
90c0fbb
Merge pull request #15305 from ethereum/version_bump_submodules
aarlt Aug 20, 2024
20fa893
More precise calculations when evaluating how many bytes immutables r…
matheusaaguiar Aug 23, 2024
0e80fbf
prep: Extend `StandardCompiler` settings with `eofVersion` flag. Fix …
rodiazet Jul 22, 2024
5414520
prep: Change `toBigEndian` interface to support rvalue ref.
rodiazet Jul 22, 2024
6437d7e
Merge pull request #15355 from ipsilon/eof-prep-0
ekpyron Aug 23, 2024
2b7274c
Merge pull request #15357 from ipsilon/eof-prep-2
ekpyron Aug 23, 2024
b8d4798
Merge pull request #15354 from ethereum/fixImmutableImpreciseBytesReq…
ekpyron Aug 23, 2024
431911d
Merge pull request #15321 from ethereum/bump-evmc-and-evmone-to-12
nikola-matic Aug 26, 2024
9e752f5
chore: update array_storage_index_zeroed_test.sol
eltociear Aug 26, 2024
a9b9c7d
Merge pull request #15360 from eltociear/patch-3
cameel Aug 27, 2024
b8373e9
CI: explicitly add numpy to LSP test dependencies on windows
clonker Aug 28, 2024
de5e3b8
Merge pull request #15366 from ethereum/lsp_testing_win
clonker Aug 28, 2024
47a715f
Yul: Remove boolType and defaultType from dialect
clonker Aug 14, 2024
f5174e7
Yul: Remove dialect and printing mode from AsmPrinter
clonker Aug 14, 2024
0d0f277
Yul: Remove types from AST
clonker Aug 15, 2024
fbaa505
Yul: Builtins now record number of args and rets instead of respectiv…
clonker Aug 16, 2024
4938075
Yul: Improve variable naming and type error message wording, update t…
clonker Aug 27, 2024
664ee23
Merge pull request #15332 from ethereum/remove_yul_dialect_types
clonker Aug 28, 2024
c5b1ac3
Fix showProvedSafe flag and JSON key name
ardislu Jul 27, 2024
82a3071
SMTChecker: Introduce first draft of Z3CHCSmtlib2Interface
blishko Aug 19, 2024
d5cdf07
Merge pull request #15348 from ethereum/smt-z3smtlib-first-draft
blishko Aug 28, 2024
9e8369f
Merge pull request #15304 from ardislu/fix-show-proved-safe
nikola-matic Aug 28, 2024
4aff997
Implementation of direct SSA CFG generation.
ekpyron Aug 20, 2024
d9116dc
Yul: Split SSA CFG into separate graphs for functions
r0qs Aug 21, 2024
7d87b63
Yul: Dot output of SSA CFG
clonker Aug 9, 2024
80533d8
Convert Yul CFG to Json
r0qs May 31, 2024
b167c27
prep: Pass `_eofVersion` to `libevmasm/Assembly` class
rodiazet Aug 26, 2024
1854186
eof: Remove eof experimental test. It should be reintroduced later.
rodiazet Aug 28, 2024
92a74ed
SMTChecker: Introduce helper struct for query result
blishko Jul 20, 2024
9fb67f0
Merge pull request #15369 from ethereum/smt-helper-struct
blishko Aug 29, 2024
5b1704b
Merge pull request #15359 from ethereum/ssaCfg
ekpyron Aug 29, 2024
ae1c3d4
Merge pull request #15180 from ethereum/export-yul-cfg-json
clonker Aug 29, 2024
03880e4
Updating copyright year to 2024
githubfromgui Feb 13, 2024
d7865f1
Do not suppress the original message from unexpected AssemblyExceptions
cameel Aug 30, 2024
7ad125f
Merge pull request #15375 from ethereum/propagate-assembly-exception-…
matheusaaguiar Aug 30, 2024
2f46323
Bump min Boost dependency to 1.67 on Linux and macOS
cameel Aug 30, 2024
40e005b
Merge pull request #15376 from ethereum/fix-boost-min-version
cameel Aug 30, 2024
ad969e2
Hide undocumented yul export cfg option
r0qs Sep 2, 2024
b30f1e2
Create opRetro.json
mehtavishwa30 Sep 2, 2024
1c4da04
Merge pull request #15385 from ethereum/hide-undocumented-experimenta…
ekpyron Sep 2, 2024
1673c5c
Introduce ubuntu2404 clang docker image
nikola-matic Aug 29, 2024
c1d33a0
Merge pull request #15386 from ethereum/op-grant-verification
ekpyron Sep 2, 2024
9c43cc5
Merge pull request #15370 from ethereum/add-ubuntu2404-clang-image
r0qs Sep 2, 2024
b3ba1b2
Rename opRetro.json to funding.json
mehtavishwa30 Sep 2, 2024
168850b
Merge pull request #15238 from ethereum/relaxMemorySafety
ekpyron Sep 2, 2024
79f05ca
Mark PROFILE_OPTIMIZER_STEPS CMake option as advanced
cameel Aug 30, 2024
b52094b
Remove nlohmann JSON version check
cameel Aug 30, 2024
01a01eb
Clearer names and descriptions for advanced CMake options
cameel Aug 30, 2024
3184534
Improve names/descriptions of Z3-related CMake variables
cameel Sep 2, 2024
d6f9519
Merge pull request #15377 from ethereum/tweak-cmake-options
cameel Sep 2, 2024
9b33e00
Merge pull request #15356 from ipsilon/eof-prep-1
ekpyron Sep 3, 2024
3b04038
Disable failing import tests introduced by boost upgrade
nikola-matic Sep 3, 2024
bf54bdf
Merge pull request #15394 from ethereum/disable-failing-filesystem-tests
ekpyron Sep 3, 2024
3f6f2d3
Fix Yul stack output using standard json in the presence of warnings.
ekpyron Sep 3, 2024
3e5060c
Remove mantic from release PPA script (obsolete).
ekpyron Sep 3, 2024
1207b48
Merge pull request #15396 from ethereum/fixYulStackForWarnings
ekpyron Sep 3, 2024
c14977c
Merge pull request #15393 from ethereum/removeMantic
ekpyron Sep 3, 2024
b92cabd
Sort changelog for the upcoming release
nikola-matic Sep 3, 2024
3c3da63
Merge pull request #15395 from ethereum/sort-changelog-and-fix-incons…
ekpyron Sep 3, 2024
830ec2c
Set changelog release date
nikola-matic Sep 4, 2024
40a35a0
Merge pull request #15399 from ethereum/set-changelog-release-date
nikola-matic Sep 4, 2024
cd07cb5
Merge tag 'v0.8.27' into merge_from_v0.8.27
yanghang8612 Jan 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
49 changes: 33 additions & 16 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@ version: 2.1
parameters:
ubuntu-2004-docker-image:
type: string
# solbuildpackpusher/solidity-buildpack-deps:ubuntu2004-23
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:84a1fb8771236e8d9aa5c615a425b8929e56a6e4f150a60078c8d74a1ceaa6c2"
# solbuildpackpusher/solidity-buildpack-deps:ubuntu2004-24
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:b8b645fa7ab40d55f2d16eac295d16ca01ec51d32be7d668ae6eaecd47dbd763"
ubuntu-2204-docker-image:
type: string
# solbuildpackpusher/solidity-buildpack-deps:ubuntu2204-8
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:1c3a4118218640b2bf632242979a63d48f3d9c70d48be9574332f2dbbd04b192"
# solbuildpackpusher/solidity-buildpack-deps:ubuntu2204-9
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:80247de9655b1f39afd4ac22b14266bc9b9a0d64b283ae8fb9cb5b8250e4e77d"
ubuntu-2204-clang-docker-image:
type: string
# solbuildpackpusher/solidity-buildpack-deps:ubuntu2204.clang-7
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:0f47e733e100080c4174381c262cfcf974bc8e7c3c41b8dff611b9641c82f714"
# solbuildpackpusher/solidity-buildpack-deps:ubuntu2204.clang-8
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:2662376fe0e1ec2d346495a19a6d64508c1048d5a7325d8600c33c343fa64a0f"
ubuntu-clang-ossfuzz-docker-image:
type: string
# solbuildpackpusher/solidity-buildpack-deps:ubuntu.clang.ossfuzz-6
Expand All @@ -30,7 +30,7 @@ parameters:
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:c57f2bfb8c15d70fe290629358dd1c73dc126e3760f443b54764797556b887d4"
evm-version:
type: string
default: london
default: cancun

orbs:
win: circleci/windows@2.2.0
Expand Down Expand Up @@ -875,7 +875,7 @@ jobs:
name: Check spelling
command: |
~/.local/bin/codespell \
--skip "*.enc,.git,Dockerfile*,LICENSE,codespell_whitelist.txt,codespell_ignored_lines.txt" \
--skip "*.enc,.git,Dockerfile*,LICENSE,codespell_whitelist.txt,codespell_ignored_lines.txt,deps" \
--ignore-words scripts/codespell_whitelist.txt \
--exclude-file scripts/codespell_ignored_lines.txt
- matrix_notify_failure_unless_pr
Expand Down Expand Up @@ -1053,7 +1053,7 @@ jobs:
<<: *base_ubuntu2004_xlarge
environment:
<<: *base_ubuntu2204_xlarge_env
CMAKE_OPTIONS: -DCMAKE_BUILD_TYPE=Release -DUSE_Z3_DLOPEN=ON -DUSE_CVC4=OFF -DSOLC_STATIC_STDLIBS=ON
CMAKE_OPTIONS: -DCMAKE_BUILD_TYPE=Release -DUSE_Z3_DLOPEN=ON -DSOLC_STATIC_STDLIBS=ON
steps:
- checkout
- run_build
Expand Down Expand Up @@ -1113,7 +1113,7 @@ jobs:
environment:
<<: *base_ubuntu2204_large_env
CMAKE_BUILD_TYPE: Debug
CMAKE_OPTIONS: -DCMAKE_CXX_STANDARD=20 -DUSE_CVC4=OFF
CMAKE_OPTIONS: -DCMAKE_CXX_STANDARD=20
MAKEFLAGS: -j 10
steps:
- checkout
Expand Down Expand Up @@ -1282,7 +1282,7 @@ jobs:
- run:
name: Install runtime dependencies
command: |
pacman --noconfirm -Syu --noprogressbar --needed z3
pacman --noconfirm -Syu --noprogressbar --needed z3 git
- soltest

t_ubu_clang_soltest: &t_ubu_clang_soltest
Expand Down Expand Up @@ -1447,6 +1447,14 @@ jobs:
# TODO: temporarily set hardhat stack traces tests to use cancun hardfork
# Remove this when hardhat switch to cancun by default: https://github.com/NomicFoundation/hardhat/issues/4851
sed -i 's/hardfork: "shanghai",/hardfork: "cancun",/' test/internal/hardhat-network/stack-traces/execution.ts
# TODO: Remove these tests because they rely on specific stack sequence which has changed since
# Remove when hardhat properly fix a specific version for the tests: https://github.com/NomicFoundation/hardhat/issues/5443
rm -rf test/internal/hardhat-network/stack-traces/test-files/0_8/revert-without-message/modifiers/call-message/multiple-modifiers-require/
rm -rf test/internal/hardhat-network/stack-traces/test-files/0_8/revert-without-message/modifiers/create-message/multiple-modifiers-require/
rm -rf test/internal/hardhat-network/stack-traces/test-files/0_8/revert-without-message/revert-without-message/within-receive/between-statements/
rm -rf test/internal/hardhat-network/stack-traces/test-files/0_8/revert-without-message/revert-without-message/within-receive/no-other-statements/
rm -rf test/internal/hardhat-network/stack-traces/test-files/0_8/revert-without-message/revert-without-message/within-receive/statement-after/
rm -rf test/internal/hardhat-network/stack-traces/test-files/0_8/revert-without-message/revert-without-message/within-receive/statement-before/
pnpm test
- matrix_notify_failure_unless_pr

Expand Down Expand Up @@ -1542,6 +1550,19 @@ jobs:
- run:
name: Summarize reports
command: cat reports/externalTests/all-benchmarks.json | scripts/externalTests/summarize_benchmarks.sh > reports/externalTests/summarized-benchmarks.json
- store_artifacts:
path: reports/externalTests/all-benchmarks.json
- store_artifacts:
path: reports/externalTests/summarized-benchmarks.json
- run:
name: Check CircleCI token presence; Skip remaining steps if the token is not present.
command: |
# NOTE: download_benchmarks.py requires CIRCLECI_TOKEN environment variable to be set to
# a valid CircleCI API token to download the benchmark artifacts.
if [[ -z "$CIRCLECI_TOKEN" ]]; then
echo "Skipping download benchmarks..."
circleci-agent step halt
fi
- run:
name: Download reports from base branch
command: |
Expand Down Expand Up @@ -1586,10 +1607,6 @@ jobs:
base-branch/all-benchmarks-*.json \
all-benchmarks.json > diff/benchmark-diff-all-table-inplace-absolute.md
fi
- store_artifacts:
path: reports/externalTests/all-benchmarks.json
- store_artifacts:
path: reports/externalTests/summarized-benchmarks.json
- store_artifacts:
path: reports/externalTests/diff/
- store_artifacts:
Expand Down Expand Up @@ -1648,7 +1665,7 @@ jobs:
shell: powershell.exe
- run:
name: Install LSP test dependencies
command: python -m pip install --user deepdiff colorama
command: python -m pip install --user numpy deepdiff colorama
- run:
name: Executing solc LSP test suite
command: python test/lsp.py build\solc\Release\solc.exe --non-interactive
Expand Down
10 changes: 10 additions & 0 deletions .circleci/osx_install_dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,16 @@ then
sudo mv /tmp/eldarica/{eld,eld-client,target,eldEnv} /usr/local/bin
rm -rf /tmp/{eldarica,eld_binaries.zip}

#cvc5
cvc5_version="1.1.2"
wget "https://github.com/cvc5/cvc5/releases/download/cvc5-${cvc5_version}/cvc5-macOS-arm64-static.zip" -O /tmp/cvc5.zip
validate_checksum /tmp/cvc5.zip 2017d683d924676cb713865c6d4fcf70115c65b7ec2848f242ab938902f115b5
unzip /tmp/cvc5.zip -x "cvc5-macOS-arm64-static/lib/cmake/*" -d /tmp
sudo mv /tmp/cvc5-macOS-arm64-static/bin/* /usr/local/bin
sudo mv /tmp/cvc5-macOS-arm64-static/include/* /usr/local/include
sudo mv /tmp/cvc5-macOS-arm64-static/lib/* /usr/local/lib
rm -rf /tmp/{cvc5-macOS-arm64-static,cvc5.zip}

# z3
z3_version="4.12.1"
z3_dir="z3-z3-$z3_version"
Expand Down
3 changes: 0 additions & 3 deletions .circleci/parallel_bytecode_report.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,6 @@ cd test-cases/
echo "Preparing input files"
python3 ../scripts/isolate_tests.py ../test/

# FIXME: These cases crash because of https://github.com/ethereum/solidity/issues/13583
rm ./*_bytecode_too_large_*.sol ./*_combined_too_large_*.sol

if [[ $binary_type == native || $binary_type == "osx_intel" ]]; then
interface=$(echo -e "standard-json\ncli" | circleci tests split)
echo "Selected interface: ${interface}"
Expand Down
2 changes: 1 addition & 1 deletion .circleci/soltest_all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ REPODIR="$(realpath "$(dirname "$0")"/..)"
# shellcheck source=scripts/common.sh
source "${REPODIR}/scripts/common.sh"

DEFAULT_EVM_VALUES=(constantinople petersburg istanbul berlin london paris shanghai cancun)
DEFAULT_EVM_VALUES=(constantinople petersburg istanbul berlin london paris shanghai cancun prague)
# Deserialize the EVM_VALUES array if it was provided as argument or
# set EVM_VALUES to the default values.
IFS=" " read -ra EVM_VALUES <<< "${1:-${DEFAULT_EVM_VALUES[@]}}"
Expand Down
2 changes: 0 additions & 2 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,3 @@
# the build context to the docker image build server
/build

# in-tree builds
/deps
Empty file.
14 changes: 9 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
*.o
*.obj
*.pyc
__pycache__
__pycache__/

# Precompiled Headers
*.gch
Expand All @@ -36,12 +36,16 @@ __pycache__
*.app

# Build directory
/build*
/cmake-build-*/
/build*/
emscripten_build/
/docs/_build
/docs/_build/
/docs/_static/robots.txt
/deps
/reports
/deps/

# Reports and benchmarks
/reports/
/benchmarks/

# vim stuff
[._]*.sw[a-p]
Expand Down
9 changes: 9 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[submodule "deps/nlohmann-json"]
path = deps/nlohmann-json
url = https://github.com/nlohmann/json.git
[submodule "deps/range-v3"]
path = deps/range-v3
url = https://github.com/ericniebler/range-v3.git
[submodule "deps/fmtlib"]
path = deps/fmtlib
url = https://github.com/fmtlib/fmt.git
40 changes: 22 additions & 18 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ include(EthPolicy)
eth_policy()

# project name and version should be set after cmake_policy CMP0048
set(PROJECT_VERSION "0.8.26")
set(PROJECT_VERSION "0.8.27")
# OSX target needed in order to support std::visit
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.14")
project(solidity VERSION ${PROJECT_VERSION} LANGUAGES C CXX)
Expand All @@ -34,22 +34,30 @@ endif()

option(SOLC_LINK_STATIC "Link solc executable statically on supported platforms" OFF)
option(SOLC_STATIC_STDLIBS "Link solc against static versions of libgcc and libstdc++ on supported platforms" OFF)
option(STRICT_Z3_VERSION "Use the latest version of Z3" ON)
option(STRICT_Z3_VERSION "Require the exact version of Z3 solver expected by our test suite." ON)
option(PEDANTIC "Enable extra warnings and pedantic build flags. Treat all warnings as errors." ON)
option(PROFILE_OPTIMIZER_STEPS "Output performance metrics for the optimiser steps." OFF)
option(USE_SYSTEM_LIBRARIES "Use system libraries" OFF)
option(ONLY_BUILD_SOLIDITY_LIBRARIES "Only build solidity libraries" OFF)
option(STRICT_NLOHMANN_JSON_VERSION "Strictly check installed nlohmann json version" ON)
mark_as_advanced(USE_SYSTEM_LIBRARIES)
option(
IGNORE_VENDORED_DEPENDENCIES
"Ignore libraries provided as submodules of the repository and allow CMake to look for \
them in the typical locations, including system-wide dirs."
OFF
)
option(
ONLY_BUILD_SOLIDITY_LIBRARIES
"Only build library targets that can be statically linked against. Do not build executables or tests."
OFF
)
mark_as_advanced(PROFILE_OPTIMIZER_STEPS)
mark_as_advanced(IGNORE_VENDORED_DEPENDENCIES)
mark_as_advanced(ONLY_BUILD_SOLIDITY_LIBRARIES)
mark_as_advanced(STRICT_NLOHMANN_JSON_VERSION)

# Setup cccache.
include(EthCcache)

# Let's find our dependencies
include(EthDependencies)
if (NOT USE_SYSTEM_LIBRARIES)
if (NOT IGNORE_VENDORED_DEPENDENCIES)
include(fmtlib)
include(nlohmann-json)
include(range-v3)
Expand Down Expand Up @@ -86,15 +94,15 @@ configure_file("${PROJECT_SOURCE_DIR}/cmake/templates/license.h.in" include/lice

include(EthOptions)
configure_project(TESTS)
set(LATEST_Z3_VERSION "4.12.1")
set(TESTED_Z3_VERSION "4.12.1")
set(MINIMUM_Z3_VERSION "4.8.16")
find_package(Z3)
if (${Z3_FOUND})
if (${STRICT_Z3_VERSION})
if (NOT ("${Z3_VERSION_STRING}" VERSION_EQUAL ${LATEST_Z3_VERSION}))
if (NOT ("${Z3_VERSION_STRING}" VERSION_EQUAL ${TESTED_Z3_VERSION}))
message(
FATAL_ERROR
"SMTChecker tests require Z3 ${LATEST_Z3_VERSION} for all tests to pass.\n\
"SMTChecker tests require Z3 ${TESTED_Z3_VERSION} for all tests to pass.\n\
Build with -DSTRICT_Z3_VERSION=OFF if you want to use a different version. \
You can also use -DUSE_Z3=OFF to build without Z3. In both cases use --no-smt when running tests."
)
Expand Down Expand Up @@ -133,15 +141,11 @@ elseif (${Z3_FOUND})
message("Z3 SMT solver found. This enables optional SMT checking with Z3.")
endif()

find_package(CVC4 QUIET)
if (${CVC4_FOUND})
add_definitions(-DHAVE_CVC4)
message("CVC4 SMT solver found. This enables optional SMT checking with CVC4.")
endif()
find_program(CVC5_PATH cvc5)

if (NOT (${Z3_FOUND} OR ${CVC4_FOUND}))
if (NOT (${Z3_FOUND} OR CVC5_PATH))
message("No SMT solver found (or it has been forcefully disabled). Optional SMT checking will not be available.\
\nPlease install Z3 or CVC4 or remove the option disabling them (USE_Z3, USE_CVC4).")
\nPlease install Z3 or cvc5 or remove the option disabling them (USE_Z3).")
endif()

add_subdirectory(libsolutil)
Expand Down
45 changes: 45 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,48 @@
### 0.8.27 (2024-09-04)

Language Features:
* Accept declarations of state variables with ``transient`` data location (parser support only, no code generation yet).
* Make ``require(bool, Error)`` available when using the legacy pipeline.
* Yul: Parsing rules for source location comments have been relaxed: Whitespace between the location components as well as single-quoted code snippets are now allowed.


Compiler Features:
* Commandline Interface: Add ``--transient-storage-layout`` output.
* Commandline Interface: Allow the use of ``--asm-json`` output option in assembler mode to export EVM assembly of the contracts in JSON format.
* Commandline Interface: Do not perform IR optimization when only unoptimized IR is requested.
* Constant Optimizer: Uses ``PUSH0`` if supported by the selected evm version.
* Error Reporting: Unimplemented features are now properly reported as errors instead of being handled as if they were bugs.
* EVM: Support for the EVM version "Prague".
* Peephole Optimizer: ``PUSH0``, when supported, is duplicated explicitly instead of using ``DUP1``.
* Peephole Optimizer: Remove identical code snippets that terminate the control flow if they occur one after another.
* SMTChecker: Add CHC engine check for underflow and overflow in unary minus operation.
* SMTChecker: Replace CVC4 as a possible BMC backend with cvc5.
* Standard JSON Interface: Add ``transientStorageLayout`` output.
* Standard JSON Interface: Do not perform IR optimization when only unoptimized IR is requested.
* Yul: Drop the deprecated typed Yul dialect that was only accessible via ``--yul`` in the CLI.
* Yul: The presence of types in untyped Yul dialects is now a parser error.
* Yul Optimizer: Caching of optimized IR to speed up optimization of contracts with bytecode dependencies.
* Yul Optimizer: The optimizer now treats some previously unrecognized identical literals as identical.


Bugfixes:
* Assembler: Fix ICE caused by imprecise calculation of required size of tags in bytecode when code size is above 255.
* Parser: Fix spuriously emitted parser error for unary plus operations when used as binary operator in some cases.
* SMTChecker: Fix error that reports invalid number of verified checks for BMC and CHC engines.
* SMTChecker: Fix formatting of unary minus expressions in invariants.
* SMTChecker: Fix internal compiler error when reporting proved targets for BMC engine.
* SMTChecker: Fix SMT logic error when assigning to an array of contracts or functions.
* Standard JSON Interface: For Yul input, properly produce output artifacts in case of warnings.
* TypeChecker: Fix segfault when assigning nested tuple to tuple.
* Yul IR Code Generation: Deterministic order of Yul subobjects.
* Yul Optimizer: Fix Yul source locations always referring to unoptimized source, even in optimized outputs.
* Yul Optimizer: Fix warnings being generated twice when there are no errors.
* Yul Optimizer: Name simplification could lead to forbidden identifiers with a leading and/or trailing dot, e.g., ``x._`` would get simplified into ``x.``.
* Yul Parser: Fix segfault when parsing very long location comments.

Build System:
* Change build system to use git submodules for some dependencies (nlohmann-json, fmtlib & range-v3).

### 0.8.26 (2024-05-21)

Language Features:
Expand Down
6 changes: 5 additions & 1 deletion ReleaseChecklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
At least a day before the release:
- [ ] Run ``make linkcheck`` from within ``docs/`` and fix any broken links it finds.
Ignore false positives caused by ``href`` anchors and dummy links not meant to work.
**Note**: In order to run the link check, make sure you've built the docs first via ``docs.sh``.
- [ ] Double-check that [the most recent docs builds at readthedocs](https://readthedocs.org/projects/solidity/builds/) succeeded.
- [ ] Make sure that all merged PRs that should have changelog entries do have them.
- [ ] Rerun CI on the top commits of main branches in all repositories that do not have daily activity by creating a test branch or PR:
Expand All @@ -24,6 +25,7 @@ At least a day before the release:
This is recommended especially when dealing with PPA for the first time, when we add a new Ubuntu version or when the PPA scripts were modified in this release cycle.
- [ ] Verify that the release tarball of ``solc-js`` works.
Bump version locally, add ``soljson.js`` from CI, build it, compare the file structure with the previous version, install it locally and try to use it.
- [ ] Review [Learning from Past Releases](https://notes.ethereum.org/@solidity/release-mistakes) to make sure you don't repeat the same mistakes.

### Drafts
At least a day before the release:
Expand All @@ -38,6 +40,7 @@ At least a day before the release:
### Blog Post
- [ ] Create a post on [solidity-website](https://github.com/ethereum/solidity-website/tree/main/src/posts) in the ``Releases`` category and explain some of the new features or concepts.
- [ ] Create a post on [solidity-website](https://github.com/ethereum/solidity-website/tree/main/src/posts) in the ``Security Alerts`` category in case of important bug(s).
- [ ] Get the posts reviewed and approved **before the release starts**.

### Changelog
- [ ] Sort the changelog entries alphabetically and correct any errors you notice. Commit it.
Expand Down Expand Up @@ -81,7 +84,7 @@ At least a day before the release:
### PPA
- [ ] Create ``.release_ppa_auth`` at the root of your local Solidity checkout and set ``LAUNCHPAD_EMAIL`` and ``LAUNCHPAD_KEYID`` to your key's email and key id.
- [ ] Double-check that the ``DISTRIBUTIONS`` list in ``scripts/release_ppa.sh`` and ``scripts/deps-ppa/static_z3.sh`` contains the most recent versions of Ubuntu.
- [ ] Make sure the [``~ethereum/cpp-build-deps`` PPA repository](https://launchpad.net/~ethereum/+archive/ubuntu/cpp-build-deps) contains ``libz3-static-dev builds`` for all current versions of Ubuntu.
- [ ] Make sure the [``~ethereum/cpp-build-deps`` PPA repository](https://launchpad.net/~ethereum/+archive/ubuntu/cpp-build-deps) contains ``libz3-static-dev`` builds for all current versions of Ubuntu.
Note that it may be included in the ``z3-static`` multipackage (follow the ``View package details`` link to check).
If not present, run ``scripts/deps-ppa/static_z3.sh`` and wait for the builds to succeed before continuing.
- [ ] Run ``scripts/release_ppa.sh v$VERSION`` to create the PPA release.
Expand Down Expand Up @@ -116,4 +119,5 @@ At least a day before the release:
- [ ] Share the announcement on [Project Updates](https://discord.com/channels/420394352083337236/798974456704925696)
- [ ] Share the announcement on [`#solidity` channel on Matrix](https://matrix.to/#/#ethereum_solidity:gitter.im)
- [ ] Share the announcement on [`#solc-tooling`](https://matrix.to/#/#solc-tooling:matrix.org)
- [ ] If anything went wrong this time, mention it in [Learning from Past Releases](https://notes.ethereum.org/@solidity/release-mistakes).
- [ ] Lean back, wait for bug reports and repeat from step 1 :).
1 change: 0 additions & 1 deletion cmake/EthCompilerSettings.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,6 @@ option(USE_Z3 "Allow compiling with Z3 SMT solver integration" ON)
if(UNIX AND NOT APPLE)
option(USE_Z3_DLOPEN "Dynamically load the Z3 SMT solver instead of linking against it." OFF)
endif()
option(USE_CVC4 "Allow compiling with CVC4 SMT solver integration" ON)

if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang"))
option(USE_LD_GOLD "Use GNU gold linker" ON)
Expand Down
Loading