spicy
spicy copied to clipboard
Compiler warnings on Debian 11 with 1.6
@bbannier suggested to open a ticket. Probably all false positives, but can't compile with -Werror (not a requirement, just mentioning this).
$ gcc --version
gcc (Debian 10.2.1-6) 10.2.1 20210110
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
In file included from /home/awelzel/corelight-oss/spicy/hilti/toolchain/include/hilti/ast/detail/visitor.h:8,
from /home/awelzel/corelight-oss/spicy/hilti/toolchain/src/ast/expressions/id.cc:6:
/home/awelzel/corelight-oss/spicy/hilti/toolchain/include/hilti/base/visitor.h: In member function ‘const hilti::Type& hilti::expression::ResolvedID::type() const’:
/home/awelzel/corelight-oss/spicy/hilti/toolchain/include/hilti/base/visitor.h:41:17: warning: ‘<anonymous>’ may be used uninitialized in this function [-Wmaybe-uniniti
alized]
41 | return {};
| ^
/home/awelzel/corelight-oss/spicy/hilti/toolchain/include/hilti/base/visitor.h:87:13: warning: ‘<anonymous>’ may be used uninitialized in this function [-Wmaybe-uniniti
alized]
87 | return {};
[... and many more...]
[ 69%] Building CXX object hilti/toolchain/CMakeFiles/hilti-objects.dir/src/compiler/coercion.cc.o
/home/awelzel/corelight-oss/spicy/hilti/toolchain/src/compiler/codegen/unpack.cc: In member function ‘hilti::detail::visitor::Visitor<std::__cxx11::basic_string<char>,
{anonymous}::Visitor, hilti::Node, hilti::detail::visitor::Order::Pre>::result_t {anonymous}::Visitor::operator()(const hilti::type::Address&)’:
/home/awelzel/corelight-oss/spicy/hilti/toolchain/src/compiler/codegen/unpack.cc:41:5: warning: control reaches end of non-void function [-Wreturn-type]
41 | }
| ^
/home/awelzel/corelight-oss/spicy/hilti/toolchain/src/compiler/codegen/unpack.cc: In member function ‘auto {anonymous}::Visitor::kindToString() const’:
/home/awelzel/corelight-oss/spicy/hilti/toolchain/src/compiler/codegen/unpack.cc:34:5: warning: control reaches end of non-void function [-Wreturn-type]
34 | }
|
[ 90%] Building CXX object spicy/toolchain/CMakeFiles/spicy-objects.dir/src/compiler/visitors/printer.cc.o
In file included from /home/awelzel/corelight-oss/spicy/hilti/toolchain/include/hilti/ast/meta.h:11,
from /home/awelzel/corelight-oss/spicy/hilti/toolchain/include/hilti/ast/node.h:24,
from /home/awelzel/corelight-oss/spicy/hilti/toolchain/include/hilti/ast/id.h:11,
from /home/awelzel/corelight-oss/spicy/hilti/toolchain/include/hilti/ast/declaration.h:7,
from /home/awelzel/corelight-oss/spicy/hilti/toolchain/include/hilti/ast/declarations/constant.h:8,
from /home/awelzel/corelight-oss/spicy/hilti/toolchain/include/hilti/ast/declarations/all.h:5,
from /home/awelzel/corelight-oss/spicy/hilti/toolchain/include/hilti/ast/builder/declaration.h:11,
from /home/awelzel/corelight-oss/spicy/hilti/toolchain/include/hilti/ast/builder/builder.h:11,
from /home/awelzel/corelight-oss/spicy/hilti/toolchain/include/hilti/ast/builder/all.h:5,
from /home/awelzel/corelight-oss/spicy/spicy/toolchain/src/compiler/visitors/resolver.cc:5:
/home/awelzel/corelight-oss/spicy/hilti/toolchain/include/hilti/ast/location.h: In function ‘void {anonymous}::Visitor::operator()(const spicy::type::Bitfield&, hilti::
detail::visitor::Visitor<void, {anonymous}::Visitor, hilti::Node, hilti::detail::visitor::Order::Pre>::position_t)’:
/home/awelzel/corelight-oss/spicy/hilti/toolchain/include/hilti/ast/location.h:39:5: warning: ‘*((void*)&<anonymous> +32)’ may be used uninitialized in this function [-
Wmaybe-uninitialized]
39 | Location(Location&&) = default;
| ^~~~~~~~
make[3]: Leaving directory '/home/awelzel/corelight-oss/spicy/build'
[100%] Built target spicy-dump
/home/awelzel/corelight-oss/spicy/spicy/runtime/include/spicy/rt/libspicy.h:3:9: warning: #pragma once in main file
3 | #pragma once
| ^~~~
/home/awelzel/corelight-oss/spicy/spicy/runtime/include/spicy/rt/libspicy.h:3:9: warning: #pragma once in main file
3 | #pragma once
| ^~~~
[100%] Generating precompiled headers
I believe I already looked into these.
The #pragma once in main file diagnostic is also described on SO and probably would require some sort of workaround.
The other warnings look like false positives to me. Since we do not want to globally disable the warning, they would require local suppression. When I quickly tried this in the past I ran into issues due to control flow I couldn't find good places to put diagnostic push/pop pragmas.
Closing this after #1826 .