[zeek/spicy] 711246: Hide GCC pragma from other compilers

0 views
Skip to first unread message

Benjamin Bannier

unread,
Jun 3, 2026, 6:09:21 AM (3 days ago) Jun 3
to spicy-...@zeek.org
Branch: refs/heads/topic/bbannier/msvc-warnings
Home: https://github.com/zeek/spicy
Commit: 711246fa10601e7995c231079e41ee463733c1f2
https://github.com/zeek/spicy/commit/711246fa10601e7995c231079e41ee463733c1f2
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/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: 1afc922ef6c546be2d84f6585f1f86cd6a5504a5
https://github.com/zeek/spicy/commit/1afc922ef6c546be2d84f6585f1f86cd6a5504a5
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: 42ac2a78a7bc00655f3160336b3918d8990cd13d
https://github.com/zeek/spicy/commit/42ac2a78a7bc00655f3160336b3918d8990cd13d
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: 5d8fcb523adfc334cbb1b962a9b1acbbf9f7cb19
https://github.com/zeek/spicy/commit/5d8fcb523adfc334cbb1b962a9b1acbbf9f7cb19
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: 1a9f03d55b4d7870d2cabc87c870e519a0d5364d
https://github.com/zeek/spicy/commit/1a9f03d55b4d7870d2cabc87c870e519a0d5364d
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: 592e9be53554ba756216ce3147279830853b9df5
https://github.com/zeek/spicy/commit/592e9be53554ba756216ce3147279830853b9df5
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: db19f4cc43009c5dc97e0f6a0cea301b191c09e9
https://github.com/zeek/spicy/commit/db19f4cc43009c5dc97e0f6a0cea301b191c09e9
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: 541e4c19b7f6cf7a0f24eb513d0676dce888aa63
https://github.com/zeek/spicy/commit/541e4c19b7f6cf7a0f24eb513d0676dce888aa63
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: aac6ce8a2d4513447139519eee55daac99dc8e4a
https://github.com/zeek/spicy/commit/aac6ce8a2d4513447139519eee55daac99dc8e4a
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: fea69167be503e3bd8087ca1e5218328d1990090
https://github.com/zeek/spicy/commit/fea69167be503e3bd8087ca1e5218328d1990090
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: 82007a5bd221d16c627ef790e21ab527ac58a9bc
https://github.com/zeek/spicy/commit/82007a5bd221d16c627ef790e21ab527ac58a9bc
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: 620d30b0352ac6a98f3c9302208c365620a75f45
https://github.com/zeek/spicy/commit/620d30b0352ac6a98f3c9302208c365620a75f45
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/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/5352db777f9b...620d30b0352a

To unsubscribe from these emails, change your notification settings at https://github.com/zeek/spicy/settings/notifications
Reply all
Reply to author
Forward
0 new messages