[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Mac OS Sierra tab feature breaks C-x 5 2

From: Charles A. Roelli
Subject: Re: Mac OS Sierra tab feature breaks C-x 5 2
Date: Tue, 18 Jul 2017 20:33:05 +0200
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:45.0) Gecko/20100101 Thunderbird/45.8.0

It does seem to be gcc:

(snippet from output of 'make V=1' when compiling src/nsterm.m):
gcc -std=gnu99 -c -Demacs -I. -I. -I../lib -I../lib -D_REENTRANT -I
[...]  -MMD -MF deps/nsterm.d -MP -O0 -g3 nsterm.m

And IIRC 'gcc' is symlinked to 'clang' on later macOS versions.

On 18/07/2017 08:06, Anders Lindgren wrote:
Hi Charles, thanks for replying!

Yes, that is what I saw as well. The question is which compiler is used (by default) when building Emacs on 10.6. I guess it is "gcc", but I didn't have time to verify this.

    -- Anders

On Mon, Jul 17, 2017 at 10:09 PM, Charles A. Roelli <address@hidden> wrote:
clang and gcc seem different on 10.6 (can't say for certain, though):

$ which gcc
$ gcc --version
i686-apple-darwin10-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO

$ which clang
$ clang --version
Apple clang version 2.1 (tags/Apple/clang-163.7.1) (based on LLVM 3.0svn)
Target: x86_64-apple-darwin10.8.0
Thread model: posix

On 17/07/2017 01:01, Alan Third wrote:
On Sun, Jul 16, 2017 at 08:43:25PM +0200, Anders Lindgren wrote:
I tried to figure out if gcc or clang was used when building on 10.6.8, but
ran out of time (and won't have the chance to do it again anytime soon). I
did conclude that it comes with both a real "gcc" and a real "clang", so
presumably gcc is used. (Surprisingly, more modern versions of macOS seems
to map the command "gcc" to "clang".)
Charles can maybe answer this for us, as he uses 10.6.

A warning-free build is a must on modern system (which use clang). It would
be nice on older system, I guess, but it would be hard to enforce. (We
could even lobby to add the option to future gcc versions, for the benefit
of GNUStep, but it would not help the situation on older macOS versions.)
My gut feeling is to go with the NS_SILENCE_MISSING_METHOD_WARNING_BEGIN
solution, as it work on modern macOS systems, it retains type checking, and
it give us a single location to describe the situation and to modify the
macro, if there should be a need for it in the future.

I think that a lot (if not most) of the code that we might want to use
this on won’t work on GNUstep at all, so we could still exclude it
from building there if the warnings are too much.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]