Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #388869
| From | Tim Rentsch <tr.17687@z991.linuxsc.com> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: constexpr keyword is unnecessary |
| Date | 2024-11-05 07:46 -0800 |
| Organization | A noiseless patient Spider |
| Message-ID | <86wmhhsmy1.fsf@linuxsc.com> (permalink) |
| References | (13 earlier) <20241027220459.109@kylheku.com> <vfnu92$vp1g$1@dont-email.me> <20241028215919.996@kylheku.com> <vfqjnk$1hos6$1@dont-email.me> <20241029134554.3@kylheku.com> |
Kaz Kylheku <643-408-1753@kylheku.com> writes:
[...]
> "I think truncation does not happen" is here logically equivalent to
> the specific condition that ch is in the range 0 to UCHAR_MAX.
>
> That can be asserted:
>
> assert (0 <= ch && ch <= UCHAR_MAX);
>
> If ch has the type unsigned char, then this condition is always
> true.
>
> We can think about a warning like that "controlling expression of
> assert unconditionally true due to range of types", but it serves no
> purpose. There is nothing wrong with asserting something that is
> always true.
>
> When assertions are enabled, the compiler can use their predicates
> to reason about the code and not warn about conditions that are
> precluded by assertions being true.
>
> You will find that this already happens in today's compilers,
> and not due to assert being treated specially. The assertion
> translates into something like
>
> if (!(0 <= ch && ch <= UCHAR_MAX)) do {
> __assert_fail("0 <= ch && ch <= UCHAR_MAX", "foo.c", 42);
> } while (0)
>
> where __assert_fail is annotated a function which does not return.
Invoking assert() emphatically does not expand into any such
statement. The C standard requires the assert macro to expand to
a void expression.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar
constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-11 09:25 -0300
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-11 20:03 +0200
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-11 15:11 -0300
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-11 21:17 +0200
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-11 16:30 -0300
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-12 06:39 +0200
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-12 10:23 -0300
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-12 15:52 +0200
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-12 18:37 -0300
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-13 12:51 +0200
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-13 08:32 -0300
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-13 13:39 +0200
Re: constexpr keyword is unnecessary DFS <nospam@dfs.com> - 2024-10-14 23:30 -0400
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-15 13:41 +0200
Re: constexpr keyword is unnecessary Bart <bc@freeuk.com> - 2024-10-15 14:01 +0100
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-15 10:11 -0300
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-15 15:27 +0200
Re: constexpr keyword is unnecessary Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-16 08:35 +0200
Re: constexpr keyword is unnecessary Kaz Kylheku <643-408-1753@kylheku.com> - 2024-10-15 20:31 +0000
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-16 07:14 +0200
Re: constexpr keyword is unnecessary Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-16 08:44 +0200
Re: constexpr keyword is unnecessary Kaz Kylheku <643-408-1753@kylheku.com> - 2024-10-13 16:39 +0000
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-13 14:39 -0300
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-13 20:13 +0200
Re: constexpr keyword is unnecessary Kaz Kylheku <643-408-1753@kylheku.com> - 2024-10-13 18:21 +0000
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-13 18:12 -0300
Re: constexpr keyword is unnecessary Bart <bc@freeuk.com> - 2024-10-12 14:53 +0100
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-12 18:43 -0300
Re: constexpr keyword is unnecessary Bart <bc@freeuk.com> - 2024-10-13 10:52 +0100
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-13 08:37 -0300
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-13 13:49 +0200
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-13 09:38 -0300
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-13 14:58 +0200
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-13 10:09 -0300
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-13 15:14 +0200
Re: constexpr keyword is unnecessary Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-13 15:35 +0200
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-13 15:47 +0200
Re: constexpr keyword is unnecessary Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-13 16:33 +0200
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-13 16:41 +0200
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-13 11:52 -0300
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-13 17:14 +0200
Re: constexpr keyword is unnecessary Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-13 17:03 +0200
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-13 17:19 +0200
Re: constexpr keyword is unnecessary Michael S <already5chosen@yahoo.com> - 2024-10-13 16:06 +0300
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-13 10:10 -0300
Re: constexpr keyword is unnecessary Michael S <already5chosen@yahoo.com> - 2024-10-13 16:29 +0300
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-13 10:50 -0300
Re: constexpr keyword is unnecessary Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2024-10-18 16:54 -0700
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-19 09:18 +0200
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-19 12:18 -0300
Re: constexpr keyword is unnecessary David Brown <david.brown@hesbynett.no> - 2024-10-19 18:03 +0200
Re: constexpr keyword is unnecessary Bart <bc@freeuk.com> - 2024-10-19 18:22 +0100
Re: constexpr keyword is unnecessary David Brown <david.brown@hesbynett.no> - 2024-10-20 12:40 +0200
Re: constexpr keyword is unnecessary Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2024-10-20 11:28 -0700
Re: constexpr keyword is unnecessary Opus <ifonly@youknew.org> - 2024-10-21 03:02 +0200
Re: constexpr keyword is unnecessary David Brown <david.brown@hesbynett.no> - 2024-10-21 08:40 +0200
Re: constexpr keyword is unnecessary Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2024-10-21 13:47 -0700
Re: constexpr keyword is unnecessary "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-10-21 14:20 -0700
Re: constexpr keyword is unnecessary Kaz Kylheku <643-408-1753@kylheku.com> - 2024-10-22 02:43 +0000
Re: constexpr keyword is unnecessary "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-10-22 12:18 -0700
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-19 16:41 -0300
Re: constexpr keyword is unnecessary Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2024-10-19 14:48 -0700
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-19 19:49 -0300
Re: constexpr keyword is unnecessary Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2024-10-19 21:08 -0700
Re: constexpr keyword is unnecessary Michael S <already5chosen@yahoo.com> - 2024-10-20 14:59 +0300
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-20 09:22 -0300
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-22 10:02 +0200
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-22 09:48 -0300
Re: constexpr keyword is unnecessary Vir Campestris <vir.campestris@invalid.invalid> - 2024-10-26 15:07 +0100
Re: constexpr keyword is unnecessary James Kuyper <jameskuyper@alumni.caltech.edu> - 2024-10-26 11:08 -0400
Re: constexpr keyword is unnecessary Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-26 20:28 +0200
Re: constexpr keyword is unnecessary scott@slp53.sl.home (Scott Lurndal) - 2024-10-26 19:37 +0000
Re: constexpr keyword is unnecessary Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-10-26 21:58 -0700
Re: constexpr keyword is unnecessary scott@slp53.sl.home (Scott Lurndal) - 2024-10-27 17:22 +0000
Re: constexpr keyword is unnecessary Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-11-03 19:06 -0800
Re: constexpr keyword is unnecessary Lowell Gilbert <lgusenet@be-well.ilk.org> - 2024-11-04 12:57 -0500
Re: constexpr keyword is unnecessary Kaz Kylheku <643-408-1753@kylheku.com> - 2024-11-04 19:38 +0000
Re: constexpr keyword is unnecessary Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-11-07 05:15 -0800
Re: constexpr keyword is unnecessary Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-10-26 21:54 -0700
Re: constexpr keyword is unnecessary David Brown <david.brown@hesbynett.no> - 2024-10-27 15:24 +0100
Re: constexpr keyword is unnecessary David Brown <david.brown@hesbynett.no> - 2024-10-27 15:21 +0100
Re: constexpr keyword is unnecessary Kaz Kylheku <643-408-1753@kylheku.com> - 2024-10-28 06:13 +0000
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-28 08:58 -0300
Re: constexpr keyword is unnecessary Kaz Kylheku <643-408-1753@kylheku.com> - 2024-10-29 05:04 +0000
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-29 09:16 -0300
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-29 09:21 -0300
Re: constexpr keyword is unnecessary David Brown <david.brown@hesbynett.no> - 2024-10-29 15:13 +0100
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-29 11:46 -0300
Re: constexpr keyword is unnecessary David Brown <david.brown@hesbynett.no> - 2024-10-29 19:27 +0100
Re: constexpr keyword is unnecessary Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-10-30 01:41 +0100
Re: constexpr keyword is unnecessary Kaz Kylheku <643-408-1753@kylheku.com> - 2024-10-29 20:57 +0000
Re: constexpr keyword is unnecessary Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-11-05 07:46 -0800
Re: constexpr keyword is unnecessary Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-11-05 07:48 -0800
Re: constexpr keyword is unnecessary Richard Harnden <richard.nospam@gmail.invalid> - 2024-10-29 17:26 +0000
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-29 14:48 -0300
Re: constexpr keyword is unnecessary Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-10-26 21:37 -0700
Re: constexpr keyword is unnecessary David Brown <david.brown@hesbynett.no> - 2024-10-27 15:32 +0100
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-19 22:56 -0300
Re: constexpr keyword is unnecessary Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-20 18:12 +0200
Re: constexpr keyword is unnecessary David Brown <david.brown@hesbynett.no> - 2024-10-20 12:45 +0200
Re: constexpr keyword is unnecessary Bart <bc@freeuk.com> - 2024-10-20 12:23 +0100
Re: constexpr keyword is unnecessary David Brown <david.brown@hesbynett.no> - 2024-10-20 13:36 +0200
Re: constexpr keyword is unnecessary Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2024-10-19 14:24 -0700
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-19 19:13 -0300
Re: constexpr keyword is unnecessary David Brown <david.brown@hesbynett.no> - 2024-10-20 12:55 +0200
Re: constexpr keyword is unnecessary Michael S <already5chosen@yahoo.com> - 2024-10-19 19:53 +0300
Re: constexpr keyword is unnecessary Thiago Adams <thiago.adams@gmail.com> - 2024-10-19 16:35 -0300
Re: constexpr keyword is unnecessary Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2024-10-19 14:49 -0700
csiph-web