From owner-freebsd-toolchain@FreeBSD.ORG Tue Sep 11 14:35:11 2012 Return-Path: Delivered-To: toolchain@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 22333106564A; Tue, 11 Sep 2012 14:35:11 +0000 (UTC) (envelope-from utisoft@gmail.com) Received: from mail-ee0-f54.google.com (mail-ee0-f54.google.com [74.125.83.54]) by mx1.freebsd.org (Postfix) with ESMTP id 48FC38FC12; Tue, 11 Sep 2012 14:35:09 +0000 (UTC) Received: by eeke52 with SMTP id e52so529769eek.13 for ; Tue, 11 Sep 2012 07:35:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=VmZ7WlXc7FlZgBpjDN7V74p55pbWoHdbTzvPF2uwnVw=; b=ueD2MXrymKJXIHNO1fhpkHoKbmuocNOAYuTru3LVtC+4v7OhhPzQoQw2s8MUdZsXZN sF+CsAJTZdt23Zm2UxSXPTSxc6vtAPyPiTdL3YonvTC/9ViXeL8VoOs4ZI7Ee0vL8WvB 5pB/izzsjYGO3qGsSAWYqU20HqaOtjsQgYUO6OjiQUma44/G54DTIF7bFLuFaPV25+qi 6f9JCadsFCMrk3Qj/Sv1rxAv6fODcbbuMm7cORK/KtZmYES2kgHSYI3oX1sbldWGxqPz 2RdRVTwccyPjwNrCR3Bm+SQQQFBh/PiyHQopfdd8JhdubZVNxc0YL3gBBJ9UADwu7qRH m6zg== MIME-Version: 1.0 Received: by 10.204.145.82 with SMTP id c18mr4786871bkv.133.1347374108957; Tue, 11 Sep 2012 07:35:08 -0700 (PDT) Received: by 10.204.10.141 with HTTP; Tue, 11 Sep 2012 07:35:08 -0700 (PDT) Received: by 10.204.10.141 with HTTP; Tue, 11 Sep 2012 07:35:08 -0700 (PDT) In-Reply-To: <20120911122122.GJ37286@deviant.kiev.zoral.com.ua> References: <20120910211207.GC64920@lor.one-eyed-alien.net> <20120911104518.GF37286@deviant.kiev.zoral.com.ua> <20120911120649.GA52235@freebsd.org> <20120911122122.GJ37286@deviant.kiev.zoral.com.ua> Date: Tue, 11 Sep 2012 15:35:08 +0100 Message-ID: From: Chris Rees To: Konstantin Belousov Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: toolchain@freebsd.org, current@freebsd.org Subject: Re: Clang as default compiler November 4th X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Sep 2012 14:35:11 -0000 On 11 Sep 2012 13:22, "Konstantin Belousov" wrote: > > On Tue, Sep 11, 2012 at 02:06:49PM +0200, Roman Divacky wrote: > > > > tl;dr: Clang will become the default compiler for x86 architectures on 2012-11-04 > > > > > > There was a chorus of voices talking about ports already. My POV > > > is that suggesting to 'fix remaining ports to work with clang' is > > > just a nonsense. You are proposing to fork the development of all the > > > programs which do not compile with clang. Often, upstream developers > > > do not care about clang at all since it not being default compiler in > > > Debian/Fedora/Whatever Linux. The project simply do not have resources > > > to maintain the fork of 20K programs. > > > > We currently dont compile 4680 ports (out of 23857). Top 10 ports that prevent > > the most other ports from compiling together prevent 2222 ports from > > compilation. So if we fixed those 10 ports we could be at around 2500 ports > > not compiling. Thats quite far from your claim of forking 20k programs. > Sorry, I cannot buy the argument. How many patches there are already > in the ports tree to cope with clang incompatibility with gcc ? You may > declare that all of them are application bugs, but it completely misses > the point. > > > > > > Looking from less amiable angle, you propose to knowingly break significant > > > and important piece of the project work. My belief is that switch cannot > > > be done before ports switch to the port-provided compiler. > > > > I believe majority of the broken ports is broken because their maintainer > > never saw them being broken with clang just because it's not the default > > compiler. Thus by making it the default majority of the problems would just > > go away. > Can you, please, read what I wrote ? Fixing _ports_ to compile with > clang is plain wrong. Upstream developers use gcc almost always for > development and testing. Establishing another constant cost on the > porting work puts burden on the ports submitters, maintainers and even > ports users. > > I do strongly oppose the attempt to drain the freebsd resources by > forcing porters to port third-party code to other compiler. I definitely see your point, but upstream should also be writing correct/portable code. Whenever a patch to fix a port is made, it is actually mandatory to report it to upstream, and nag them to hell until it's committed! Most are very happy for this to happen; we've been removing GNUisms from build scripts etc for years now (and I could link to a "Thank you" email for all the build fixes I've sent upstream). Sometimes, like the common bashism if [ a == b ] we bite the bullet and add the extensions ourselves; sometimes upstream has an education on writing portable code! If we were all the same, would there be much point in being different? Chris