emacs-devel
[Top][All Lists]
Advanced

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

Re: master 37889523278: Add new `swap` macro and use it


From: Po Lu
Subject: Re: master 37889523278: Add new `swap` macro and use it
Date: Sat, 06 Jan 2024 15:39:11 +0800
User-agent: Gnus/5.13 (Gnus v5.13)

Stefan Kangas <stefankangas@gmail.com> writes:

> branch: master
> commit 37889523278fe65733938fb11c3701898309961c
> Author: Stefan Kangas <stefankangas@gmail.com>
> Commit: Stefan Kangas <stefankangas@gmail.com>
>
>     Add new `swap` macro and use it
>     
>     A `swap` macro prevents programming errors and is more concise.
>     It is a natural addition to our existing `min` and `max` macros.

It's well known that a generic "swap" macro is impossible to express in
Standard C for lack of a standard "typeof"-like expression.  To
compensate for this limitation, the macro must accept an argument
identifying the type of the field where the temporary value is saved,
which is more trouble than it's worth and reintroduces the type
conversion problems such macros are intended to prevent.

Neither typeof nor __typeof__ are portable by our standards, the latter
being an extension compatible with the Standard enabled when GCC is
configured to obey the standard to the letter, while the former is a
keyword enabled in other situations.


reply via email to

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