Date: Tue, 12 Nov 2013 16:35:16 -0500 From: Eitan Adler <lists@eitanadler.com> To: Steve Kargl <sgk@troutmask.apl.washington.edu> Cc: David Chisnall <theraven@freebsd.org>, freebsd-current Current <freebsd-current@freebsd.org>, Dimitry Andric <dim@freebsd.org> Subject: Re: Are clang++ and libc++ compatible? Message-ID: <CAF6rxgmQ9k3GVPFy3J0N4gLK-aDc2XUsrAE0Fj_zq9UzedSwwg@mail.gmail.com> In-Reply-To: <20131112201922.GA4330@troutmask.apl.washington.edu> References: <20131112163219.GA2834@troutmask.apl.washington.edu> <77CB2B92-216A-4C80-B033-7E582B5F0DFC@FreeBSD.org> <20131112165422.GA2939@troutmask.apl.washington.edu> <E0FE40D9-726C-4501-B31A-3622510C1C68@FreeBSD.org> <20131112175556.GA3319@troutmask.apl.washington.edu> <20131112201922.GA4330@troutmask.apl.washington.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Nov 12, 2013 at 3:19 PM, Steve Kargl
<sgk@troutmask.apl.washington.edu> wrote:
> On Tue, Nov 12, 2013 at 09:55:56AM -0800, Steve Kargl wrote:
>> On Tue, Nov 12, 2013 at 06:37:39PM +0100, Dimitry Andric wrote:
>> > On 12 Nov 2013, at 17:54, Steve Kargl <sgk@troutmask.apl.washington.edu> wrote:
>> > >
>> > > 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. :-)
>> >
>>
>> Thanks for the suggestions. -fdelayed-template-parsing did not
>> help. (Un)fortunately, I know very little about C++, so rewriting
>> the code is not option for me. I guess I'll add a USE_GCC to the
>> port's Makefile to if it will build.
>>
>
> Sigh. Adding USE_GCC isn't the solution.
Try USES=compiler:libstd++ - I think this is the syntax required.
--
Eitan Adler
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAF6rxgmQ9k3GVPFy3J0N4gLK-aDc2XUsrAE0Fj_zq9UzedSwwg>
