From owner-freebsd-current@freebsd.org Wed Sep 23 15:38:53 2015 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C434AA066E6 for ; Wed, 23 Sep 2015 15:38:53 +0000 (UTC) (envelope-from kob6558@gmail.com) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id A5F5517E6 for ; Wed, 23 Sep 2015 15:38:53 +0000 (UTC) (envelope-from kob6558@gmail.com) Received: by mailman.ysv.freebsd.org (Postfix) id A50D9A066E5; Wed, 23 Sep 2015 15:38:53 +0000 (UTC) Delivered-To: current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8BD18A066E4 for ; Wed, 23 Sep 2015 15:38:53 +0000 (UTC) (envelope-from kob6558@gmail.com) Received: from mail-ob0-x232.google.com (mail-ob0-x232.google.com [IPv6:2607:f8b0:4003:c01::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5448217E3 for ; Wed, 23 Sep 2015 15:38:53 +0000 (UTC) (envelope-from kob6558@gmail.com) Received: by obbmp4 with SMTP id mp4so36358715obb.3 for ; Wed, 23 Sep 2015 08:38:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:message-id:subject:from:to:content-type; bh=ltfWo6vIXRJ19gZ87F/iQQQuTrjJwza0IBlLbiopUgU=; b=h3f2F/oQe3zPQec2kc1U7Etc01/geBb95n1dHVQuN5RP7Hn7UwNq0/5/Vn0xsH7OIe 8O+QsywheWWDqQCGDctCqVNdBp6DLU/4cbWiUFMHKwYCoA1Gyp6EnOlX+Tjo/FeA/UIC 4KvipLiQ7vsrwJft0Il0pD/p8At+KsGueZIH6bj3QjeHcse1djgkeDBm7WazRQmrn2+m RvVa8MQ6ZVXFoIC5FNXY2/27x23Mi7HkgZxhuxv1aXk0BgQEILRUkYma0CjI6TJFXDig 3Y6LhcBZkKazjGCS6OJ1D+h6vZCMLYOwtj//LdCn5WUmiIIVkfAt0pLNWPupPoPL9mSD lV3g== MIME-Version: 1.0 X-Received: by 10.182.104.130 with SMTP id ge2mr19155226obb.79.1443022732567; Wed, 23 Sep 2015 08:38:52 -0700 (PDT) Sender: kob6558@gmail.com Received: by 10.202.102.9 with HTTP; Wed, 23 Sep 2015 08:38:52 -0700 (PDT) Date: Wed, 23 Sep 2015 08:38:52 -0700 X-Google-Sender-Auth: abY0djutuQGreQOOzWBMAdn6DBk Message-ID: Subject: Port compilation fails on HEAD. works on 9 and 10 STABLE From: Kevin Oberman To: "current@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.20 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: Wed, 23 Sep 2015 15:38:53 -0000 met/mediatomb fails to compile with clang++36. Works fine with gcc++ and older versions of clang++. /usr/local/bin/clang++36 -DHAVE_CONFIG_H -I. -I.. -I../tombupnp/upnp/inc -I/usr/local/include -DLIBICONV_PLUG -I../src -I../tombupnp/ixml/inc -I../tombupnp/threadutil/inc -I../tombupnp/upnp/inc -I.. -I/usr/local/include -I/usr/local/include -I/usr/local/include/taglib -I/usr/local/include -D_THREAD_SAFE -I/usr/local/include -I/usr/local/include -O2 -pipe -DLIBICONV_PLUG -fstack-protector -fno-strict-aliasing -DLIBICONV_PLUG -MT libmediatomb_a-timer.o -MD -MP -MF .deps/libmediatomb_a-timer.Tpo -c -o libmediatomb_a-timer.o `test -f '../src/timer.cc' || echo './'`../src/timer.cc ../src/timer.cc:40:1: error: explicit specialization of 'mutex' after instantiation SINGLETON_MUTEX(Timer, true); ^ ../src/singleton.h:112:89: note: expanded from macro 'SINGLETON_MUTEX' ...recursive) template <> zmm::Ref Singleton::mutex = zmm::Re... ^ ../src/timer.h:82:18: note: implicit instantiation first required here AUTOLOCK(mutex); ^ ../src/sync.h:40:66: note: expanded from macro 'AUTOLOCK' #define AUTOLOCK(mutex) zmm::Ref mutex_autolock = mutex->... ^ 1 error generated. The macro in question is: #define SINGLETON_MUTEX(klass, recursive) template <> zmm::Ref Singleton::mutex = zmm::Ref(new Mutex(recursive)) //template zmm::Ref Singleton::mutex = zmm::Ref(new Mutex()); template zmm::Ref Singleton::instance = nil; template bool Singleton::singletonActive = true; Is this a problem with the code or the compiler? If it is the code, any suggestions on fixing it? I have no clue about C++, but I'd really like to get this working on HEAD. -- Kevin Oberman, Part time kid herder and retired Network Engineer E-mail: rkoberman@gmail.com PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683