Branch: refs/heads/topic/bbannier/msvc-warnings
Home:
https://github.com/zeek/spicy
Commit: 9a66dd167e221fc6711f3d6b3a657fedc24a17a0
https://github.com/zeek/spicy/commit/9a66dd167e221fc6711f3d6b3a657fedc24a17a0
Author: Benjamin Bannier <
benjamin...@corelight.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M hilti/runtime/src/benchmarks/fiber.cc
M hilti/runtime/src/benchmarks/iteration.cc
M hilti/runtime/src/tests/intrusive-ptr.cc
M hilti/toolchain/include/compiler/detail/cfg.h
M hilti/toolchain/src/compiler/jit.cc
M spicy/runtime/tests/benchmarks/parsing.cc
Log Message:
-----------
Hide GCC pragma from other compilers
Commit: d1c52a2c11b0e1e8a6e4a42351de79ee3a7d2cfd
https://github.com/zeek/spicy/commit/d1c52a2c11b0e1e8a6e4a42351de79ee3a7d2cfd
Author: Benjamin Bannier <
benjamin...@corelight.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M hilti/runtime/include/logging.h
M hilti/runtime/include/macros.h
M hilti/runtime/include/safe-int.h
M hilti/runtime/include/types/optional.h
M hilti/runtime/include/types/reference.h
M hilti/runtime/include/types/struct.h
M hilti/runtime/include/types/tuple.h
M hilti/runtime/include/util.h
M hilti/runtime/src/types/optional.cc
M hilti/runtime/src/types/tuple.cc
M hilti/toolchain/include/base/logger.h
M hilti/toolchain/include/base/util.h
Log Message:
-----------
Consistently use `[[noreturn]]` in favor of compiler-specific attributes
This also addresses the issue of a couple of functions not being marked
noreturn for msvc which caused it to emit warnings about unhandled code
paths.
Commit: 89042cf8db8da1695ecc65241c4f825672b0d5f9
https://github.com/zeek/spicy/commit/89042cf8db8da1695ecc65241c4f825672b0d5f9
Author: Benjamin Bannier <
benjamin...@corelight.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M hilti/runtime/include/macros.h
Log Message:
-----------
Prefer attributes over `__declspec`
This should be a non-functional change for all supported compilers.
Commit: 5479540a73bc25e1784aae7dd177f80d1a6849a1
https://github.com/zeek/spicy/commit/5479540a73bc25e1784aae7dd177f80d1a6849a1
Author: Benjamin Bannier <
benjamin...@corelight.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M hilti/toolchain/src/ast/operators/port.cc
Log Message:
-----------
Fix declaration misplaced in include section
Commit: af9520d48d404aa9dec9761b35146506c322a077
https://github.com/zeek/spicy/commit/af9520d48d404aa9dec9761b35146506c322a077
Author: Benjamin Bannier <
benjamin...@corelight.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M CMakeLists.txt
Log Message:
-----------
Suppress warnings from libunistd
With msvc this triggers a lot of warnings of the following form which
are not interesting for us to fix.
```
[162/444] Building CXX object hilti\toolchain\CMakeFiles\hilti-objects.dir\src\base\code-formatter.cc.obj
..\3rdparty\libunistd\unistd\unistd.h(79): warning C4273: 'read': inconsistent dll linkage
C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\corecrt_io.h(525): note: see previous definition of 'read'
```
Commit: 5612b7633d5cb065f781252a303672a3cef8c484
https://github.com/zeek/spicy/commit/5612b7633d5cb065f781252a303672a3cef8c484
Author: Benjamin Bannier <
benjamin...@corelight.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M hilti/toolchain/src/compiler/optimizer/passes/dead-code-static.cc
Log Message:
-----------
Be explicit about type to prevent possible narrowing
msvc warned about this
```
2
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\numeric(31): warning C4267: '=': conversion from 'size_t' to '_Ty', possible loss of data
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\numeric(31): note: the template instantiation context (the oldest one first) is
..\hilti\toolchain\src\compiler\optimizer\passes\dead-code-static.cc(68): note: see reference to function template instantiation '_Ty std::accumulate<std::_Tree_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<const hilti::ID,std::map<std::string,bool,std::less<std::string>,std::allocator<std::pair<const std::string,bool>>>>>>>,unsigned int,`anonymous-namespace'::Collector::run::<lambda_1>::()::<lambda_1>>(const _InIt,const _InIt,_Ty,_Fn)' being compiled
_InIt=std::_Tree_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<const hilti::ID,std::map<std::string,bool,std::less<std::string>,std::allocator<std::pair<const std::string,bool>>>>>>>,
_Fn=`anonymous-namespace'::Collector::run::<lambda_1>::()::<lambda_1>
```
Commit: 8b92fd7964970a7a0fae8bb3420003b212419171
https://github.com/zeek/spicy/commit/8b92fd7964970a7a0fae8bb3420003b212419171
Author: Benjamin Bannier <
benjamin...@corelight.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M spicy/toolchain/src/
config.cc.in
Log Message:
-----------
Make implicit cast `size_t`->`int` explicit
msvc warned about this, but it should always have been safe. Fix it
nevertheless.
Commit: 057050525f0882a96e1f40d6b7bdc464ded2e133
https://github.com/zeek/spicy/commit/057050525f0882a96e1f40d6b7bdc464ded2e133
Author: Benjamin Bannier <
benjamin...@corelight.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M hilti/runtime/src/tests/context.cc
Log Message:
-----------
Fix msvc warning about widening cast from `uint32_t` to 64-bit `void*`
Commit: 50a02881d40a77d88ca966cb561c4ddc21dada29
https://github.com/zeek/spicy/commit/50a02881d40a77d88ca966cb561c4ddc21dada29
Author: Benjamin Bannier <
benjamin...@corelight.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M hilti/runtime/include/types/bytes.h
M hilti/runtime/src/types/bytes.cc
Log Message:
-----------
Fix arg type in `Bytes::match` to avoid possible unintentional widening
Commit: 5c731e2e0f20d180c6489a2c7ea59a8fb6f43c73
https://github.com/zeek/spicy/commit/5c731e2e0f20d180c6489a2c7ea59a8fb6f43c73
Author: Benjamin Bannier <
benjamin...@corelight.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M hilti/runtime/include/exception.h
Log Message:
-----------
Implement rule-of-five for generated exceptions
Commit: c26cd51df4ad4deb1004045ece86d7f9374cbe35
https://github.com/zeek/spicy/commit/c26cd51df4ad4deb1004045ece86d7f9374cbe35
Author: Benjamin Bannier <
benjamin...@corelight.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M hilti/runtime/include/fiber.h
Log Message:
-----------
Implement rule-of-five for `FiberContext`
Commit: 00c8bfc3326c66882d6786894f37a76a8eed2bc8
https://github.com/zeek/spicy/commit/00c8bfc3326c66882d6786894f37a76a8eed2bc8
Author: Benjamin Bannier <
benjamin...@corelight.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M .clang-tidy
M hilti/runtime/include/result.h
M hilti/runtime/include/types/any.h
M hilti/runtime/include/types/map.h
M hilti/runtime/include/types/null.h
M hilti/runtime/include/types/set.h
M hilti/runtime/src/benchmarks/fiber.cc
M hilti/runtime/src/fiber.cc
M hilti/runtime/src/safe-math.cc
M hilti/runtime/src/tests/fiber.cc
M hilti/runtime/src/tests/util.cc
M hilti/runtime/src/type-info.cc
M hilti/toolchain/include/ast/builder/builder.h
M hilti/toolchain/include/ast/declarations/export.h
M hilti/toolchain/include/ast/node.h
M hilti/toolchain/include/ast/operator.h
M hilti/toolchain/include/ast/type.h
M hilti/toolchain/include/ast/types/auto.h
M hilti/toolchain/include/ast/types/bitfield.h
M hilti/toolchain/include/ast/types/enum.h
M hilti/toolchain/include/ast/types/exception.h
M hilti/toolchain/include/ast/types/function.h
M hilti/toolchain/include/ast/types/integer.h
M hilti/toolchain/include/ast/types/list.h
M hilti/toolchain/include/ast/types/map.h
M hilti/toolchain/include/ast/types/member.h
M hilti/toolchain/include/ast/types/operand-list.h
M hilti/toolchain/include/ast/types/optional.h
M hilti/toolchain/include/ast/types/reference.h
M hilti/toolchain/include/ast/types/result.h
M hilti/toolchain/include/ast/types/set.h
M hilti/toolchain/include/ast/types/struct.h
M hilti/toolchain/include/ast/types/tuple.h
M hilti/toolchain/include/ast/types/type.h
M hilti/toolchain/include/ast/types/union.h
M hilti/toolchain/include/ast/types/vector.h
M hilti/toolchain/include/ast/visitor.h
M hilti/toolchain/include/base/id-base.h
M hilti/toolchain/include/compiler/detail/cxx/unit.h
M hilti/toolchain/include/compiler/detail/optimizer/pass.h
M hilti/toolchain/include/compiler/driver.h
M hilti/toolchain/src/ast/expressions/name.cc
M hilti/toolchain/src/ast/node.cc
M hilti/toolchain/src/ast/operator.cc
M hilti/toolchain/src/ast/operators/bitfield.cc
M hilti/toolchain/src/ast/operators/enum.cc
M hilti/toolchain/src/ast/operators/exception.cc
M hilti/toolchain/src/ast/operators/generic.cc
M hilti/toolchain/src/ast/operators/list.cc
M hilti/toolchain/src/ast/operators/map.cc
M hilti/toolchain/src/ast/operators/optional.cc
M hilti/toolchain/src/ast/operators/real.cc
M hilti/toolchain/src/ast/operators/reference.cc
M hilti/toolchain/src/ast/operators/result.cc
M hilti/toolchain/src/ast/operators/set.cc
M hilti/toolchain/src/ast/operators/signed-integer.cc
M hilti/toolchain/src/ast/operators/struct.cc
M hilti/toolchain/src/ast/operators/tuple.cc
M hilti/toolchain/src/ast/operators/union.cc
M hilti/toolchain/src/ast/operators/unsigned-integer.cc
M hilti/toolchain/src/ast/operators/vector.cc
M hilti/toolchain/src/ast/type.cc
M hilti/toolchain/src/compiler/cfg.cc
M hilti/toolchain/src/compiler/codegen/codegen.cc
M hilti/toolchain/src/compiler/codegen/coercions.cc
M hilti/toolchain/src/compiler/codegen/ctors.cc
M hilti/toolchain/src/compiler/codegen/expressions.cc
M hilti/toolchain/src/compiler/codegen/operators.cc
M hilti/toolchain/src/compiler/codegen/statements.cc
M hilti/toolchain/src/compiler/codegen/types.cc
M hilti/toolchain/src/compiler/codegen/unpack.cc
M hilti/toolchain/src/compiler/coercer.cc
M hilti/toolchain/src/compiler/constant-folder.cc
M hilti/toolchain/src/compiler/cxx/unit.cc
M hilti/toolchain/src/compiler/optimizer/passes/remove-unused-fields.cc
M hilti/toolchain/src/compiler/plugin.cc
M hilti/toolchain/src/compiler/printer.cc
M hilti/toolchain/src/compiler/resolver.cc
M hilti/toolchain/src/compiler/type-unifier.cc
M hilti/toolchain/src/compiler/unit.cc
M hilti/toolchain/tests/visitor.cc
M spicy/runtime/include/filter.h
M spicy/runtime/include/parsed-unit.h
M spicy/runtime/include/unit-context.h
M spicy/runtime/src/driver.cc
M spicy/toolchain/bin/spicy-driver.cc
M spicy/toolchain/include/ast/types/unit-items/property.h
M spicy/toolchain/include/ast/types/unit-items/unresolved-field.h
M spicy/toolchain/include/ast/types/unit.h
M spicy/toolchain/src/ast/operators/unit.cc
M spicy/toolchain/src/ast/types/unit-items/field.cc
M spicy/toolchain/src/compiler/codegen/grammar-builder.cc
M spicy/toolchain/src/compiler/codegen/parser-builder.cc
M spicy/toolchain/src/compiler/codegen/parsers/types.cc
M spicy/toolchain/src/compiler/driver.cc
M spicy/toolchain/src/compiler/plugin.cc
M spicy/toolchain/src/compiler/printer.cc
M spicy/toolchain/src/compiler/resolver.cc
Log Message:
-----------
Fix msvc warnings about unused parameters
Instead of fixing all instances where msvc warns about this, address
this globally by addressing everything clang-tidy's
`misc-unused-parameters` lint reports. That lint support automatic
updates with a fixit, so almost all changes here were done
automatically; the only manual tweaks were updating uses of the
constructor of `ProductionFactory` where clang-tidy correctly dropped a
parameter, but did not update all users, and a removal of a now unused
value around use of the resolver's `fieldType` method.
Compare:
https://github.com/zeek/spicy/compare/41a377bb223c...00c8bfc3326c
To unsubscribe from these emails, change your notification settings at
https://github.com/zeek/spicy/settings/notifications