From owner-freebsd-ppc@freebsd.org Sun Dec 20 08:33:48 2015 Return-Path: Delivered-To: freebsd-ppc@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 B5D45A4B8F8 for ; Sun, 20 Dec 2015 08:33:48 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-211-151.reflexion.net [208.70.211.151]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6AEF818B1 for ; Sun, 20 Dec 2015 08:33:47 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 7714 invoked from network); 20 Dec 2015 08:33:47 -0000 Received: from unknown (HELO rtc-sm-01.app.dca.reflexion.local) (10.81.150.1) by 0 (rfx-qmail) with SMTP; 20 Dec 2015 08:33:47 -0000 Received: by rtc-sm-01.app.dca.reflexion.local (Reflexion email security v7.80.0) with SMTP; Sun, 20 Dec 2015 03:33:43 -0500 (EST) Received: (qmail 22083 invoked from network); 20 Dec 2015 08:33:42 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with SMTP; 20 Dec 2015 08:33:42 -0000 X-No-Relay: not in my network X-No-Relay: not in my network X-No-Relay: not in my network Received: from [192.168.1.8] (c-76-115-7-162.hsd1.or.comcast.net [76.115.7.162]) by iron2.pdx.net (Postfix) with ESMTPSA id 21319B1E002; Sun, 20 Dec 2015 00:33:16 -0800 (PST) Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) Subject: bug 205453: another buildworld failure that shows up for powerpc64 lib32 contexts From: Mark Millard In-Reply-To: <5671D5DD.9090808@fgznet.ch> Date: Sun, 20 Dec 2015 00:33:15 -0800 Cc: FreeBSD PowerPC ML Content-Transfer-Encoding: quoted-printable Message-Id: <4E5F2AD9-180D-4800-98D7-774F40808FB6@dsl-only.net> References: <894D2513-6DE7-4E31-87A5-0529ECDF336C@dsl-only.net> <20151215123640.GG3625@kib.kiev.ua> <5671D5DD.9090808@fgznet.ch> To: Andreas Tobler , Konstantin Belousov X-Mailer: Apple Mail (2.2104) X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Dec 2015 08:33:48 -0000 I have submitted bug 205453: another buildworld failure that shows up = for powerpc64 lib32 contexts. But in this case I submitted against the Base System for sys/cdefs.h = and/or libcxxrt/guard.cc problems in using/handling C11's = _Static_assert. You may want to look and see if you expect it should instead be = attributed to the various g++ compilers (g++49, g++5, = powerpc64-portbld-freebsd11.0-g++, . . .). A simple 6 line program = source shows the g++ syntax error issue with a direct use of = _Static_assert. (See the bug.) As I understand C++ the rejections are = valid/allowed. gcc49, gcc5, powerpc64-portbld-freebsd11.0-gcc, . . . accept the same = C11 _Static_assert notation fine when compiling the same source file = content as C code. clang++ (3.7) accepts the C11 _Static_assert syntax = in C++ compiles. But: # clang++ -Wall -pedantic main.cc main.cc:2:1: warning: _Static_assert is a C11-specific feature = [-Wc11-extensions] _Static_assert(1,"Test"); ^ 1 warning generated. In the buildworld case the reason for lib32's -m32 compiles being = involved is #if/#elif/. . . structure for = non-__arm__/non-_LP64/non-__LITTLE_ENDIAN__ contexts being the only ones = to attempt to use C11's _Static_assert in libcxxrt/guard.cc's C++ source = code: #ifdef __arm__ . . . #elif defined(_LP64) . . . #else typedef uint32_t guard_lock_t; # if defined(__LITTLE_ENDIAN__) . . . # else typedef struct { uint32_t init_half; uint32_t lock_half; } guard_t; _Static_assert(sizeof(guard_t) =3D=3D sizeof(uint64_t), ""); . . . # endif . . . #endif =3D=3D=3D Mark Millard markmi at dsl-only.net