Bug#1000974: marked as done (xfs/linux.h defines common word "fallthrough" breaking unrelated headers)

Debian Bug Tracking System
2021-12-07T12:36:10Z

[-- Attachment #1: Type: text/plain, Size: 865 bytes --]

Your message dated Tue, 7 Dec 2021 13:32:48 +0100
with message-id <1ae1f860-e164-4e25-0c59-d4a3bb8587c2@debian.org>
and subject line fixed upstream
has caused the Debian Bug report #1000974,
regarding xfs/linux.h defines common word "fallthrough" breaking unrelated headers
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)

--
1000974: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1000974
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems

[-- Attachment #2: Type: message/rfc822, Size: 3861 bytes --]

From: Thomas Goirand <zigo@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: copy_move_algo.hpp:1083:10: error: ‘__fallthrough__’ was not declared in this scope; did you mean ‘fallthrough’?
Date: Wed, 01 Dec 2021 22:21:48 +0100
Message-ID: <163839370805.58768.6385074074873965943.reportbug@zbuz.infomaniak.ch>

Package: libboost1.74-dev
Version: 1.74.0-13
Severity: important

Hi there!

When building Ceph (current version in Experimental), since a few days/weeks,
I get this:

In file included from /root/ceph/ceph/src/seastar/src/core/file.cc:28:
/usr/include/boost/container/detail/copy_move_algo.hpp: In function ‘typename boost::move_detail::enable_if_c<(boost::container::dtl::is_memtransfer_copy_assignable<F, G>::value && true), void>::type boost::container::deep_swap_alloc_n(A
llocator&, F, typename boost::container::allocator_traits<Allocator>::size_type, G, typename boost::container::allocator_traits<Allocator>::size_type)’:
/usr/include/boost/container/detail/copy_move_algo.hpp:1083:10: error: ‘__fallthrough__’ was not declared in this scope; did you mean ‘fallthrough’?
1083 | BOOST_FALLTHROUGH;
| ^~~~~~~~~~~~~~~~~

To me, it looks like a bug in Boost itself, as this is where the
BOOST_FALLTHROUGH macro is defined.

Note that in Ceph, I had the same issue, until I redefined the
macro like this directly:
#define FMT_FALLTHROUGH [[gnu::fallthrough]]

removing the conditional:
#if __cplusplus == 201103L || __cplusplus == 201402L

which doesn't seem to get some matching, and then the error in
the subject of this bug report went away, at least for the Ceph
part (well, fmt which Ceph embedds...).

Is this still a problem in Ceph, or am I right that it probably
is an issue in Boost?

I can't get my head around this issue which has been blocking me
for weeks. What's annoying is that it used to build fine, and
I don't know what changed in unstable to make it fail to way.
If the issue is in Ceph's code, then I would happily recieve
advices.

Your thoughts?

Cheers,

Thomas Goirand (zigo)

[-- Attachment #3: Type: message/rfc822, Size: 2568 bytes --]

From: Bastian Germann <bage@debian.org>
To: 1000974-done@bugs.debian.org
Subject: fixed upstream
Date: Tue, 7 Dec 2021 13:32:48 +0100
Message-ID: <1ae1f860-e164-4e25-0c59-d4a3bb8587c2@debian.org>

Version: 5.14.2-1

This was fixed by commit 135ce1ed0a99 (libxfs: hide the drainbamaged fallthrough macro from xfslibs)