From owner-freebsd-current@FreeBSD.ORG  Tue Nov 12 17:38:00 2013
Return-Path: <owner-freebsd-current@FreeBSD.ORG>
Delivered-To: freebsd-current@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 25BC85CD;
 Tue, 12 Nov 2013 17:38:00 +0000 (UTC)
Received: from tensor.andric.com (tensor.andric.com [87.251.56.140])
 (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id D80BA2805;
 Tue, 12 Nov 2013 17:37:59 +0000 (UTC)
Received: from [IPv6:2001:7b8:3a7::d18c:20bf:ce3b:e453] (unknown
 [IPv6:2001:7b8:3a7:0:d18c:20bf:ce3b:e453])
 (using TLSv1 with cipher AES128-SHA (128/128 bits))
 (No client certificate requested)
 by tensor.andric.com (Postfix) with ESMTPSA id C4BBC5C43;
 Tue, 12 Nov 2013 18:37:48 +0100 (CET)
Content-Type: multipart/signed;
 boundary="Apple-Mail=_2303F7FD-863D-41F9-A151-3A02CD1681E1";
 protocol="application/pgp-signature"; micalg=pgp-sha1
Mime-Version: 1.0 (Mac OS X Mail 7.0 \(1822\))
Subject: Re: Are clang++ and libc++ compatible?
From: Dimitry Andric <dim@FreeBSD.org>
In-Reply-To: <20131112165422.GA2939@troutmask.apl.washington.edu>
Date: Tue, 12 Nov 2013 18:37:39 +0100
Message-Id: <E0FE40D9-726C-4501-B31A-3622510C1C68@FreeBSD.org>
References: <20131112163219.GA2834@troutmask.apl.washington.edu>
 <77CB2B92-216A-4C80-B033-7E582B5F0DFC@FreeBSD.org>
 <20131112165422.GA2939@troutmask.apl.washington.edu>
To: Steve Kargl <sgk@troutmask.apl.washington.edu>
X-Mailer: Apple Mail (2.1822)
Cc: freebsd-current@FreeBSD.org, David Chisnall <theraven@FreeBSD.org>
X-BeenThere: freebsd-current@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: Discussions about the use of FreeBSD-current
 <freebsd-current.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/freebsd-current>, 
 <mailto:freebsd-current-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-current/>
List-Post: <mailto:freebsd-current@freebsd.org>
List-Help: <mailto:freebsd-current-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-current>,
 <mailto:freebsd-current-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 17:38:00 -0000


--Apple-Mail=_2303F7FD-863D-41F9-A151-3A02CD1681E1
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

On 12 Nov 2013, at 17:54, Steve Kargl <sgk@troutmask.apl.washington.edu> =
wrote:
...
> namespace pan
> {
>  class Log
>  {
>    public:
>      enum Severity {
>        PAN_SEVERITY_INFO =3D 1,
>        PAN_SEVERITY_ERROR =3D 2,
>        PAN_SEVERITY_URGENT =3D (1<<10)
>      };
>=20
>      struct Entry {
>        time_t date;
>        Severity severity;
>        std::deque<Entry> messages;
>        std::string message;
>        bool is_child;
>        Entry() : is_child(false) { }
>      };

I think the problem is that the code tries to use std::deque<Entry> as a
member of struct Entry, before it is completely defined.  This is not
allowed by the standard, although some libraries (e.g. GNU libstdc++)
apparently permit it for some container types.

You could try to work around it with -fdelayed-template-parsing, but I
am not sure if it will help.  Alternatively, compile the code with
libstdc++, or rewrite it to conform. :-)

-Dimitry


--Apple-Mail=_2303F7FD-863D-41F9-A151-3A02CD1681E1
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)

iEYEARECAAYFAlKCZ2oACgkQsF6jCi4glqOBiQCg/HJ9zP7erIqE0yLAZ1N6UR7j
ZNoAn0mG05UT9+8uKBZJBljupGe25Grm
=ZDEJ
-----END PGP SIGNATURE-----

--Apple-Mail=_2303F7FD-863D-41F9-A151-3A02CD1681E1--