From owner-freebsd-current@FreeBSD.ORG Tue Nov 12 21:35:48 2013 Return-Path: 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 61D04B13 for ; Tue, 12 Nov 2013 21:35:48 +0000 (UTC) Received: from mail-qe0-x234.google.com (mail-qe0-x234.google.com [IPv6:2607:f8b0:400d:c02::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 1033528FD for ; Tue, 12 Nov 2013 21:35:47 +0000 (UTC) Received: by mail-qe0-f52.google.com with SMTP id t9so1840562qeq.11 for ; Tue, 12 Nov 2013 13:35:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eitanadler.com; s=0xdeadbeef; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=RrQWmPK4N8w6NQafdiYqqFU6yj9NV5ZrG0V8vq6GXXY=; b=QpKYkAWGas8m+IGsx1YxKY61INi5cLW0Ls6s0acZC0MLIQyfqJrPirXWCGfmK6/rdK Cm7Tm56Zux9M1MUwa+aZEbXQcI264tcNw6sWDZF4vQZCOHhPEGIFrbTBPCJPWxzn+Sbn obdf2WpKwEU6kA8GB4R5ceKzuQNQckGOML/IU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=RrQWmPK4N8w6NQafdiYqqFU6yj9NV5ZrG0V8vq6GXXY=; b=Uhez82AX28HIOqhCa6ubCEAwf+B+zBjYIGDUDNLiDVcIbaoPdjywuO8RSUm+yCvwAz iLXDD8yF54/EYFd8mQOM0LVKmjcOB/S4WGjf0hkPRNBpmMlQH6C9O4FMVw5J7gCWLhXj Ga2OAzxGxWm2LeSkAwkxPZlbchSWbxMWyKecSsCtNj241cEZO52ddPCN4fyTCmfBYni3 NcCWyLYcbJGn4SnQYeFnIb4NG7OBsv0kJSKPoOzx7mAAvmZ91EB6ScUFMdYPy6nQYhU7 tLdCorrfisViC2FEUDVFmByrMtcb6SStD9gTvfSp7nGeHd5IyQNsl9waCjVyJInYGRTP zyaA== X-Gm-Message-State: ALoCoQnjaLymgELQeXXQ+ALsFnla4kSOTBB6P8JHZVCG8EDxCBrQZsKexuI8QidI4BlpVDwVT1Jf X-Received: by 10.49.103.161 with SMTP id fx1mr59967738qeb.68.1384292147137; Tue, 12 Nov 2013 13:35:47 -0800 (PST) MIME-Version: 1.0 Received: by 10.96.63.101 with HTTP; Tue, 12 Nov 2013 13:35:16 -0800 (PST) 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> <20131112175556.GA3319@troutmask.apl.washington.edu> <20131112201922.GA4330@troutmask.apl.washington.edu> From: Eitan Adler Date: Tue, 12 Nov 2013 16:35:16 -0500 Message-ID: Subject: Re: Are clang++ and libc++ compatible? To: Steve Kargl Content-Type: text/plain; charset=UTF-8 Cc: David Chisnall , freebsd-current Current , Dimitry Andric X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Nov 2013 21:35:48 -0000 On Tue, Nov 12, 2013 at 3:19 PM, Steve Kargl 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 wrote: >> > > >> > > struct Entry { >> > > time_t date; >> > > Severity severity; >> > > std::deque messages; >> > > std::string message; >> > > bool is_child; >> > > Entry() : is_child(false) { } >> > > }; >> > >> > I think the problem is that the code tries to use std::deque 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