unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: [Emacs-diffs] trunk r114447: Some minor cleanups of recently-added bool vector code.
       [not found] <E1VOKEv-0006xW-Rw@vcs.savannah.gnu.org>
@ 2013-09-24 11:37 ` Daniel Colascione
  2013-09-24 11:48   ` Dmitry Antipov
  2013-09-24 14:02   ` Jan Djärv
  0 siblings, 2 replies; 9+ messages in thread
From: Daniel Colascione @ 2013-09-24 11:37 UTC (permalink / raw)
  To: Paul Eggert, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 457 bytes --]

On 9/23/13 9:28 PM, Paul Eggert wrote:
>   (size_t_to_host_endian): Now static, not static inline;
>   the latter isn't needed with modern compilers and doesn't
>   work with older compilers anyway.

gcc 4.2.1, frequently the system compiler for OS X, will inline these
functions if they are marked "static inline", but not if they're just
marked "static". I don't think we should be removing annotations that
help compilers that see common use.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Emacs-diffs] trunk r114447: Some minor cleanups of recently-added bool vector code.
  2013-09-24 11:37 ` [Emacs-diffs] trunk r114447: Some minor cleanups of recently-added bool vector code Daniel Colascione
@ 2013-09-24 11:48   ` Dmitry Antipov
  2013-09-24 14:09     ` Eli Zaretskii
  2013-09-24 14:02   ` Jan Djärv
  1 sibling, 1 reply; 9+ messages in thread
From: Dmitry Antipov @ 2013-09-24 11:48 UTC (permalink / raw)
  To: Daniel Colascione, Paul Eggert, emacs-devel

On 09/24/2013 03:37 PM, Daniel Colascione wrote:

> On 9/23/13 9:28 PM, Paul Eggert wrote:
>>    (size_t_to_host_endian): Now static, not static inline;
>>    the latter isn't needed with modern compilers and doesn't
>>    work with older compilers anyway.
>
> gcc 4.2.1, frequently the system compiler for OS X, will inline these
> functions if they are marked "static inline", but not if they're just
> marked "static". I don't think we should be removing annotations that
> help compilers that see common use.

There is a more general question: what is the oldest compiler which can
be used to build Emacs? IMHO it would be nice if `configure' will reject
"definitely old and unsuitable" compilers and issue a warnings like "your
compiler is likely too old and has not/has incomplete/has broken support
for feature X" in doubtful cases.

Dmitry




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Emacs-diffs] trunk r114447: Some minor cleanups of recently-added bool vector code.
  2013-09-24 11:37 ` [Emacs-diffs] trunk r114447: Some minor cleanups of recently-added bool vector code Daniel Colascione
  2013-09-24 11:48   ` Dmitry Antipov
@ 2013-09-24 14:02   ` Jan Djärv
  2013-09-24 23:12     ` Richard Stallman
  1 sibling, 1 reply; 9+ messages in thread
From: Jan Djärv @ 2013-09-24 14:02 UTC (permalink / raw)
  To: Daniel Colascione; +Cc: Paul Eggert, emacs-devel

Hello.

24 sep 2013 kl. 13:37 skrev Daniel Colascione <dancol@dancol.org>:

> On 9/23/13 9:28 PM, Paul Eggert wrote:
>>  (size_t_to_host_endian): Now static, not static inline;
>>  the latter isn't needed with modern compilers and doesn't
>>  work with older compilers anyway.
> 
> gcc 4.2.1, frequently the system compiler for OS X, will inline these
> functions if they are marked "static inline", but not if they're just
> marked "static". I don't think we should be removing annotations that
> help compilers that see common use.
> 

+1.  However, gcc is going away on OSX.  In XCode 5.0 it is some strange clang-hybrid (i.e. it claims to be both GCC and Clang).  But it will be many years untill we can ignore Gcc 4.2 and that generation, even on GNU/Linux, I still have some woth Gcc 4.1.

	Jan D.




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Emacs-diffs] trunk r114447: Some minor cleanups of recently-added bool vector code.
  2013-09-24 11:48   ` Dmitry Antipov
@ 2013-09-24 14:09     ` Eli Zaretskii
  2013-09-24 14:56       ` Paul Eggert
  0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2013-09-24 14:09 UTC (permalink / raw)
  To: Dmitry Antipov; +Cc: dancol, emacs-devel, eggert

> Date: Tue, 24 Sep 2013 15:48:33 +0400
> From: Dmitry Antipov <dmantipov@yandex.ru>
> 
> There is a more general question: what is the oldest compiler which can
> be used to build Emacs?

Why should there be?  Where are the real problems that would justify
rejecting old compilers?

FWIW, I'm still using 2004 vintage GCC 3.4.x on one of my machines,
its speed blows GCC 4.x right out of the water every day.



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Emacs-diffs] trunk r114447: Some minor cleanups of recently-added bool vector code.
  2013-09-24 14:09     ` Eli Zaretskii
@ 2013-09-24 14:56       ` Paul Eggert
  2013-09-24 16:18         ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Paul Eggert @ 2013-09-24 14:56 UTC (permalink / raw)
  To: Eli Zaretskii, Dmitry Antipov; +Cc: dancol, emacs-devel

Eli Zaretskii wrote:
> Where are the real problems that would justify
> rejecting old compilers?

This cuts both ways, since some old compilers
refuse to compile 'static inline', whereas the
old compiler that Daniel wrote about presumably
generates faster code if the function is marked
'static inline' than if it's marked 'static'.

In trunk bzr 114452 I installed a workaround that
should cause GCC to inline the function for the case
that Daniel wrote about.  I view this as a temporary hack;
in the longer run I plan to fix this in a better
way, by merging Daniel's performance improvements
into the Gnulib module for popcount, and then
having Emacs use that module.  This will be more
portable (and I think in some cases faster) than what we
have now, and it should simplify the code in Emacs
proper.



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Emacs-diffs] trunk r114447: Some minor cleanups of recently-added bool vector code.
  2013-09-24 14:56       ` Paul Eggert
@ 2013-09-24 16:18         ` Eli Zaretskii
  0 siblings, 0 replies; 9+ messages in thread
From: Eli Zaretskii @ 2013-09-24 16:18 UTC (permalink / raw)
  To: Paul Eggert; +Cc: dmantipov, dancol, emacs-devel

> Date: Tue, 24 Sep 2013 07:56:53 -0700
> From: Paul Eggert <eggert@cs.ucla.edu>
> CC: dancol@dancol.org, emacs-devel@gnu.org
> 
> Eli Zaretskii wrote:
> > Where are the real problems that would justify
> > rejecting old compilers?
> 
> This cuts both ways, since some old compilers
> refuse to compile 'static inline', whereas the
> old compiler that Daniel wrote about presumably
> generates faster code if the function is marked
> 'static inline' than if it's marked 'static'.

Sure, but those nuisances don't sound like they are hard to overcome,
as long as we know which versions want what.  They hardly justify
telling people to upgrade their entire toolchain (as we know a newer
compiler needs newer Binutils, a newer libc, a newer GDb, ...) just to
compile Emacs.



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Emacs-diffs] trunk r114447: Some minor cleanups of recently-added bool vector code.
  2013-09-24 14:02   ` Jan Djärv
@ 2013-09-24 23:12     ` Richard Stallman
  2013-09-24 23:18       ` Daniel Colascione
  0 siblings, 1 reply; 9+ messages in thread
From: Richard Stallman @ 2013-09-24 23:12 UTC (permalink / raw)
  To: Jan Djärv; +Cc: dancol, emacs-devel, eggert

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    +1.  However, gcc is going away on OSX.

GCC will contiune to be used by some users even if Apple does not
recommend it.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Emacs-diffs] trunk r114447: Some minor cleanups of recently-added bool vector code.
  2013-09-24 23:12     ` Richard Stallman
@ 2013-09-24 23:18       ` Daniel Colascione
  2013-09-25 20:09         ` Richard Stallman
  0 siblings, 1 reply; 9+ messages in thread
From: Daniel Colascione @ 2013-09-24 23:18 UTC (permalink / raw)
  To: rms; +Cc: eggert, Jan Djärv, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 677 bytes --]

On 9/24/13 4:12 PM, Richard Stallman wrote:
>         [ To any NSA and FBI agents reading my email: please consider
>         [ whether defending the US Constitution against all enemies,
>         [ foreign or domestic, requires you to follow Snowden's example.
> 
>     +1.  However, gcc is going away on OSX.
> 
> GCC will contiune to be used by some users even if Apple does not
> recommend it.

Sure, but I think we can expect _antique_ versions of GCC to disappear.
Once most Apple users switch to Clang, I'd support making configure fail
by default if run with a version of gcc that's too old. (We'd have to
give users a way to override it, of course.)



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Emacs-diffs] trunk r114447: Some minor cleanups of recently-added bool vector code.
  2013-09-24 23:18       ` Daniel Colascione
@ 2013-09-25 20:09         ` Richard Stallman
  0 siblings, 0 replies; 9+ messages in thread
From: Richard Stallman @ 2013-09-25 20:09 UTC (permalink / raw)
  To: Daniel Colascione; +Cc: eggert, jan.h.d, emacs-devel

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    Sure, but I think we can expect _antique_ versions of GCC to disappear.

Only slowly.

    I'd support making configure fail
    by default if run with a version of gcc that's too old.

I don't want to fight against this given that I am not sure what the
other alternatives are, but it is definitely a mistake to think
of this as painless.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-09-25 20:09 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <E1VOKEv-0006xW-Rw@vcs.savannah.gnu.org>
2013-09-24 11:37 ` [Emacs-diffs] trunk r114447: Some minor cleanups of recently-added bool vector code Daniel Colascione
2013-09-24 11:48   ` Dmitry Antipov
2013-09-24 14:09     ` Eli Zaretskii
2013-09-24 14:56       ` Paul Eggert
2013-09-24 16:18         ` Eli Zaretskii
2013-09-24 14:02   ` Jan Djärv
2013-09-24 23:12     ` Richard Stallman
2013-09-24 23:18       ` Daniel Colascione
2013-09-25 20:09         ` Richard Stallman

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).