Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Nov 2020 16:40:01 +0000
From:      bugzilla-noreply@freebsd.org
To:        toolchain@FreeBSD.org
Subject:   [Bug 250740] mail/mailsync 12.2-RELEASE breaks package build
Message-ID:  <bug-250740-29464-vHOQwx0ehc@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-250740-29464@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250740

--- Comment #7 from Dimitry Andric <dim@FreeBSD.org> ---
(In reply to Fernando ApesteguĂ­a from comment #4)

First of all, the c-client software was clearly written before C++ existed,
since it uses C++ keywords as struct member names, so that is why they have to
hack around it with #defining those keywords to something non-conflicting.

However, those defines should *not* be active when including any system
headers, and that is clearly violated by the c-client.h file. It is simply
totally broken, and you were lucky that it worked at all.

In any case, it is likely not about clang or clang++, but about the used libc++
headers. If you use C++, libc++ overrides certain standard C headers such as
stdio.h, string.h, etc. Since the c-client headers are including multiple
system headers with 'private' redefined, this wreaks havoc when it eventually
goes into libc++'s own headers. I guess g++ doesn't work that way, but I
haven't investigated.

In my opinion, c-client is obsolete software which is clearly incompatible with
C++, and should either be patched up to relatively non-ancient standards, or
ditched altogether.

Note that mailsync itself does not look much better. :)

-- 
You are receiving this mail because:
You are on the CC list for the bug.

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-250740-29464-vHOQwx0ehc>