Groups | Search | Server Info | Login | Register


Groups > comp.std.c > #6663

Re: 7.17.7.5 The atomic_fetch and modify generic functions and "address types"

From Keith Thompson <Keith.S.Thompson+u@gmail.com>
Newsgroups comp.std.c
Subject Re: 7.17.7.5 The atomic_fetch and modify generic functions and "address types"
Date 2024-12-27 17:24 -0800
Organization None to speak of
Message-ID <87y100tx93.fsf@nosuchdomain.example.com> (permalink)
References <vkn8da$3rj4n$1@dont-email.me>

Show all headers | View raw


Andrey Tarasevich <andreytarasevich@hotmail.com> writes:
> 7.17.7.5 says (https://port70.net/~nsz/c/c11/n1570.html#7.17.7.5)
>> 1 The following operations perform arithmetic and bitwise
>> computations. All of these operations are applicable to an object of
>> any atomic integer type. None of these operations is applicable to
>> atomic_bool.
>
> If I understand it correctly, this wording is intended to restrict
> these operations to integers types only. I.e. they shall not be
> applied to atomic pointer types. Is that correct?
>
> Later 7.17.7.5 also says
>
>> 3 For address types, the result may be an undefined address, but the
>> operations otherwise have no undefined behavior.
>
> However, I was unable to find any mention of "address types" anywhere
> in the standard. What types are "address types"?

I think you've found an error in the standard.  It also appears in
the C17 and the N3096 and N3301 drafts.

There are no other occurrences of "address type" in the standard.
Presumably it was meant to be "pointer type", but pointer types
are already excluded.

An aside: The wording that excludes _Atomic bool is improved
in N3096:

    The following operations perform arithmetic and bitwise
    computations. All these operations are applicable to an object
    of any atomic integer type other than _Atomic bool or the atomic
    version of an enumeration with underlying type bool.

-- 
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
void Void(void) { Void(); } /* The recursive call of the void */

Back to comp.std.c | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

7.17.7.5 The atomic_fetch and modify generic functions and "address types" Andrey Tarasevich <andreytarasevich@hotmail.com> - 2024-12-27 14:06 -0800
  Re: 7.17.7.5 The atomic_fetch and modify generic functions and "address types" Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2024-12-27 17:24 -0800
  Re: 7.17.7.5 The atomic_fetch and modify generic functions and "address types" Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-01-01 20:31 -0800
    Re: 7.17.7.5 The atomic_fetch and modify generic functions and "address types" Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2025-01-01 21:32 -0800

csiph-web