Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #55216

Re: the language

From raltbos@xs4all.nl (Richard Bos)
Newsgroups comp.lang.c
Subject Re: the language
Date 2014-12-21 17:45 +0000
Organization Go wash your mouth.
Message-ID <549705cd.693437@news.xs4all.nl> (permalink)
References (10 earlier) <5yhkw.397413$il4.43434@fx06.am4> <m6sc87$hmj$1@speranza.aioe.org> <ek259a5e27tr5bel88c6o07qah84o349v1@4ax.com> <5492c298.300765@news.xs4all.nl> <ifilw.1128836$yK.904633@fx14.iad>

Show all headers | View raw


Richard Damon <Richard@Damon-Family.org> wrote:

> On 12/18/14, 7:04 AM, Richard Bos wrote:
> > Robert Wessel <robertwessel2@yahoo.com> wrote:
> >
> >> In fact there's a lively discussion going on about compilers doing
> >> just that.  Mike Stump (who's a GCC developer) has been arguing here
> >> in c.l.c that compiler *are* allowed to make assumptions based on what
> >> is technically undefined behavior when optimizing code.  A number of
> >> other folks are unhappy with that.
> >
> > They may be unhappy with that, but I can't see what arguments they can
> > bring against it. Undefined behaviour is _undefined_, so if an optimiser
> > wants to make use of it, it's free to do so.
> 
> The C standard NEVER says something like "if you do X then the results 
> are totally undefined", it only says that "if you do X then the results 
> are undefined by this standard". The standard can't grant permission to 
> act against the defined behavior of another standard that has been 
> accepted by the compiler.

And as I wrote elsewhere in this thread, if that other standard either
defines certain things to happen a specific way, or defines certain
things _not_ to happen in any specific way, a compiler targeting _that_
system is free to do things that way, and a compiler targeting another
system is just as free to do them that system's way - and they'll both
be optimised for _their_ systems.

> I don't have a problem with the compiler having a mode where it ignores 
> these definition and optimizes based on ignoring them, and fully using 
> just C's definition of undefined behavior (like fast floating point 
> optimizations can ignore some of the IEEE floating point requirements).

That misses the point. It's more likely that a compiler will fully use
_that system's_ facilities for optimisation, rather than ignoring them
and creating an inferiorly optimised program. Keeping UB and allowing
this allows for superior optimisation on unusual, historical, and more
importantly, future and as yet unforseen platforms. Insisting that a
compiler is not allowed to do this implies locking the C language firmly
into MicroGNU, which is a Bad Thing.

> I would also contend that the implementer is being genuinely and 
> deliberately unhelpful here. At the point where the compiler has 
> determined that it can omit a section of code, it also knows that the 
> programmer has done something questionable, and appears to be depending 
> on undefined behavior, so it should at least, by default, issue a 
> warning here (and perhaps then do the optimization).

That depends on warning levels, which are compiler-specific and not
specified by the Standard. The programmer may _want_ to have his code
optimised (ab-)using different hacks on different systems, because
that's what the different users on those systems expect.

Richard

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

the language Rosario193 <Rosario@invalid.invalid> - 2014-11-26 21:54 +0100
  Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-11-26 21:56 +0100
    Re: the language John Bode <jfbode1029@gmail.com> - 2014-11-26 13:45 -0800
      Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-11-28 11:52 +0100
      Re: the language "Bill Cunningham" <nospam@nspam.invalid> - 2014-12-01 23:25 -0500
      Re: the language "Bill Cunningham" <nospam@nspam.invalid> - 2014-12-02 00:56 -0500
        Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-12-04 14:52 +0100
          Re: the language "Osmium" <r124c4u102@comcast.net> - 2014-12-04 08:07 -0600
            Re: the language Geoff <geoff@invalid.invalid> - 2014-12-04 10:20 -0800
  Re: the language Mark Storkamp <mstorkamp@yahoo.com> - 2014-11-26 15:11 -0600
    Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-11-28 12:16 +0100
      Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-11-28 12:18 +0100
  Re: the language John Bode <jfbode1029@gmail.com> - 2014-11-26 13:12 -0800
    Re: the language Kaz Kylheku <kaz@kylheku.com> - 2014-11-27 00:37 +0000
    Re: the language Ben Bacarisse <ben.usenet@bsb.me.uk> - 2014-11-27 01:13 +0000
  Re: the language raltbos@xs4all.nl (Richard Bos) - 2014-11-26 22:45 +0000
    Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-11-27 07:41 +0100
  Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-11-27 08:12 +0100
    Re: the language Morris Dovey <mrdovey@iedu.com> - 2014-11-27 01:43 -0600
      Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-11-28 11:56 +0100
        Re: the language Morris Dovey <mrdovey@iedu.com> - 2014-11-28 09:08 -0600
          Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-11-28 20:58 +0100
            Re: the language Morris Dovey <mrdovey@iedu.com> - 2014-11-28 19:22 -0600
              Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-12-02 02:59 +0100
                Re: the language Kaz Kylheku <kaz@kylheku.com> - 2014-12-02 02:53 +0000
                Re: the language Les Cargill <lcargill99@comcast.com> - 2014-12-01 21:25 -0600
                Re: the language Kaz Kylheku <kaz@kylheku.com> - 2014-12-02 06:22 +0000
  Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-11-27 08:37 +0000
    Re: the language Reinhardt Behm <rbehm@hushmail.com> - 2014-11-27 16:44 +0800
      Re: the language gazelle@shell.xmission.com (Kenny McCormack) - 2014-11-27 15:35 +0000
        Re: the language Richard Damon <Richard@Damon-Family.org> - 2014-11-27 11:58 -0500
          Re: the language jt@toerring.de (Jens Thoms Toerring) - 2014-11-27 22:44 +0000
            Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-11-28 09:52 +0100
            Re: the language Tim Rentsch <txr@alumni.caltech.edu> - 2014-11-28 12:53 -0800
          Re: the language Thomas Jahns <jahns@idontlikespam.dkrz.de> - 2014-11-28 10:07 +0100
            Re: the language Thomas Jahns <jahns@idontlikespam.dkrz.de> - 2014-11-28 14:57 +0100
            Re: the language Tim Rentsch <txr@alumni.caltech.edu> - 2014-11-28 13:09 -0800
    Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-11-28 12:01 +0100
      Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-11-28 14:46 +0000
    Re: the language Tim Rentsch <txr@alumni.caltech.edu> - 2014-11-28 13:16 -0800
      Re: the language gazelle@shell.xmission.com (Kenny McCormack) - 2014-11-28 22:09 +0000
        Re: the language Tim Rentsch <txr@alumni.caltech.edu> - 2014-12-01 03:40 -0800
      Re: the language Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-11-28 14:42 -0800
        Re: the language Tim Rentsch <txr@alumni.caltech.edu> - 2014-12-01 03:22 -0800
      Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-11-28 23:09 +0000
        Re: the language Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-11-28 16:14 -0800
          Re: the language BartC <bc@freeuk.com> - 2014-11-29 01:42 +0000
          Re: the language Kaz Kylheku <kaz@kylheku.com> - 2014-11-29 01:42 +0000
            Re: the language Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-11-29 04:03 -0800
          Re: the language Keith Thompson <kst-u@mib.org> - 2014-12-01 00:55 -0800
            Re: the language glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-12-02 05:42 +0000
        Re: the language Richard Damon <Richard@Damon-Family.org> - 2014-11-28 19:25 -0500
        Re: the language Tim Rentsch <txr@alumni.caltech.edu> - 2014-12-01 03:21 -0800
          Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-01 14:02 +0000
            Re: the language Tim Rentsch <txr@alumni.caltech.edu> - 2014-12-05 10:18 -0800
              Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-07 08:25 +0000
                Re: the language Öö Tiib <ootiib@hot.ee> - 2014-12-07 10:44 -0800
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-07 19:17 +0000
                Re: the language Öö Tiib <ootiib@hot.ee> - 2014-12-07 15:48 -0800
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-08 05:45 +0000
                Re: the language Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-12-08 03:27 -0800
                Re: the language Kaz Kylheku <kaz@kylheku.com> - 2014-12-08 06:00 +0000
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-08 06:17 +0000
                Re: the language Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-12-08 03:37 -0800
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-08 12:53 +0000
                Re: the language Tim Rentsch <txr@alumni.caltech.edu> - 2014-12-16 04:21 -0800
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-16 12:43 +0000
                Re: the language Tim Rentsch <txr@alumni.caltech.edu> - 2014-12-16 14:46 -0800
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-17 00:23 +0000
                Re: the language JohnF <john@please.see.sig.for.email.com> - 2014-12-17 07:01 +0000
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-17 07:22 +0000
                Re: the language Ben Bacarisse <ben.usenet@bsb.me.uk> - 2014-12-17 11:56 +0000
                Re: the language Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-12-17 05:43 -0800
                Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-12-18 18:30 +0100
                Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-12-18 18:41 +0100
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-17 14:34 +0000
                Re: the language Ben Bacarisse <ben.usenet@bsb.me.uk> - 2014-12-18 02:15 +0000
                Re: the language James Kuyper <jameskuyper@verizon.net> - 2014-12-17 22:31 -0500
                Re: the language Ben Bacarisse <ben.usenet@bsb.me.uk> - 2014-12-18 17:19 +0000
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-18 07:52 +0000
                Re: the language Ben Bacarisse <ben.usenet@bsb.me.uk> - 2014-12-18 17:21 +0000
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-18 18:15 +0000
                Re: the language Ben Bacarisse <ben.usenet@bsb.me.uk> - 2014-12-19 01:20 +0000
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-19 07:48 +0000
                Re: the language James Kuyper <jameskuyper@verizon.net> - 2014-12-19 07:40 -0500
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-19 12:54 +0000
                Re: the language James Kuyper <jameskuyper@verizon.net> - 2014-12-19 09:54 -0500
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-19 15:19 +0000
                Re: the language James Kuyper <jameskuyper@verizon.net> - 2014-12-19 11:00 -0500
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-19 16:13 +0000
                Re: the language James Kuyper <jameskuyper@verizon.net> - 2014-12-19 11:27 -0500
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-19 16:45 +0000
                Re: the language James Kuyper <jameskuyper@verizon.net> - 2014-12-19 13:48 -0500
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-19 19:10 +0000
                Re: the language Morris Dovey <mrdovey@iedu.com> - 2014-12-19 21:17 -0600
                Re: the language Morris Dovey <mrdovey@iedu.com> - 2014-12-19 21:32 -0600
                Re: the language Ben Bacarisse <ben.usenet@bsb.me.uk> - 2014-12-19 16:49 +0000
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-19 17:00 +0000
                Re: the language James Kuyper <jameskuyper@verizon.net> - 2014-12-19 13:57 -0500
                Re: the language Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-12-19 14:31 -0800
                Re: the language Ben Bacarisse <ben.usenet@bsb.me.uk> - 2014-12-19 20:29 +0000
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-19 20:36 +0000
                Re: the language Tim Rentsch <txr@alumni.caltech.edu> - 2014-12-17 07:18 -0800
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-17 15:45 +0000
                Re: the language glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-12-17 16:50 +0000
                Re: the language raltbos@xs4all.nl (Richard Bos) - 2014-12-17 17:24 +0000
                Re: the language Robert Wessel <robertwessel2@yahoo.com> - 2014-12-18 02:07 -0600
                Re: the language raltbos@xs4all.nl (Richard Bos) - 2014-12-18 12:04 +0000
                Re: the language Richard Damon <Richard@Damon-Family.org> - 2014-12-18 08:06 -0500
                Re: the language James Kuyper <jameskuyper@verizon.net> - 2014-12-18 08:30 -0500
                Re: the language Richard Damon <Richard@Damon-Family.org> - 2014-12-19 00:11 -0500
                Re: the language glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-12-19 07:00 +0000
                Re: the language Keith Thompson <kst-u@mib.org> - 2014-12-19 08:43 -0800
                Re: the language Richard Damon <Richard@Damon-Family.org> - 2014-12-19 23:29 -0500
                Re: the language Keith Thompson <kst-u@mib.org> - 2014-12-20 00:37 -0800
                Re: the language gazelle@shell.xmission.com (Kenny McCormack) - 2014-12-20 08:45 +0000
                Re: the language raltbos@xs4all.nl (Richard Bos) - 2014-12-20 09:45 +0000
                Re: the language Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-12-20 03:17 -0800
                Re: the language Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-12-18 06:09 -0800
                Re: the language raltbos@xs4all.nl (Richard Bos) - 2014-12-18 14:30 +0000
                Re: the language raltbos@xs4all.nl (Richard Bos) - 2014-12-18 14:23 +0000
                Re: the language Keith Thompson <kst-u@mib.org> - 2014-12-18 08:18 -0800
                Re: the language Richard Damon <Richard@Damon-Family.org> - 2014-12-20 12:22 -0500
                Re: the language James Kuyper <jameskuyper@verizon.net> - 2014-12-20 13:36 -0500
                Re: the language Keith Thompson <kst-u@mib.org> - 2014-12-20 11:43 -0800
                Re: the language Keith Thompson <kst-u@mib.org> - 2014-12-20 11:37 -0800
                Re: the language glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-12-20 20:10 +0000
                Re: the language Robert Wessel <robertwessel2@yahoo.com> - 2014-12-21 15:02 -0600
                Re: the language Kaz Kylheku <kaz@kylheku.com> - 2014-12-21 22:02 +0000
                Re: the language Stephen Sprunk <stephen@sprunk.org> - 2014-12-21 23:49 -0600
                Re: the language raltbos@xs4all.nl (Richard Bos) - 2014-12-21 17:45 +0000
                Re: the language Tim Rentsch <txr@alumni.caltech.edu> - 2014-12-18 10:29 -0800
                Re: the language Robert Wessel <robertwessel2@yahoo.com> - 2014-12-20 05:29 -0600
                Re: the language Tim Rentsch <txr@alumni.caltech.edu> - 2014-12-20 11:32 -0800
                Re: the language Robert Wessel <robertwessel2@yahoo.com> - 2014-12-21 15:23 -0600
                Re: the language Tim Rentsch <txr@alumni.caltech.edu> - 2014-12-22 23:39 -0800
                Re: the language glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-12-20 20:22 +0000
                Re: the language Tim Rentsch <txr@alumni.caltech.edu> - 2014-12-18 10:24 -0800
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-18 18:36 +0000
                Re: the language Tim Rentsch <txr@alumni.caltech.edu> - 2014-12-19 09:24 -0800
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-19 17:53 +0000
                Re: the language Tim Rentsch <txr@alumni.caltech.edu> - 2014-12-20 11:48 -0800
                Re: the language JohnF <john@please.see.sig.for.email.com> - 2014-12-19 02:20 +0000
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-19 08:31 +0000
                Re: the language JohnF <john@please.see.sig.for.email.com> - 2014-12-19 09:31 +0000
                Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-19 10:10 +0000
                Re: the language Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-12-19 07:08 -0800
                Re: the language JohnF <john@please.see.sig.for.email.com> - 2014-12-20 06:39 +0000
                Re: the language John Forkosh <forkosh@panix.com> - 2014-12-20 07:32 +0000
                Re: the language Greg Martin <greg.at.softsprocket@dot.com> - 2015-01-04 17:02 +0000
                Re: the language James Kuyper <jameskuyper@verizon.net> - 2015-01-04 12:40 -0500
                Re: the language Greg Martin <greg.at.softsprocket@dot.com> - 2015-01-04 18:02 +0000
                Re: the language James Kuyper <jameskuyper@verizon.net> - 2015-01-05 09:47 -0500
                Re: the language Greg Martin <greg.at.softsprocket@dot.com> - 2015-01-05 15:14 +0000
                Re: the language Keith Thompson <kst-u@mib.org> - 2015-01-05 08:42 -0800
                Re: the language glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-01-06 00:14 +0000
                Re: the language James Kuyper <jameskuyper@verizon.net> - 2015-01-05 13:19 -0500
                Re: the language Richard Damon <Richard@Damon-Family.org> - 2015-01-04 15:59 -0500
                Re: the language Keith Thompson <kst-u@mib.org> - 2015-01-04 14:30 -0800
                Re: the language Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-01-04 15:44 -0800
                Re: the language James Kuyper <jameskuyper@verizon.net> - 2015-01-05 13:36 -0500
  Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-11-28 12:07 +0100
  Re: the language "ocq (an evil corporate man)" <ocq@maili.ng> - 2014-12-02 23:16 +0100
    Re: the language Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-12-03 02:23 -0800
      Re: the language "ocq (an evil corporate man)" <ocq@maili.ng> - 2014-12-03 15:55 +0100
      Re: the language Nobody <nobody@nowhere.invalid> - 2014-12-03 15:42 +0000
        Re: the language Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-12-04 04:49 -0800
          Re: the language Keith Thompson <kst-u@mib.org> - 2014-12-04 09:07 -0800
            Re: the language Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-12-04 10:08 -0800
              Re: the language Keith Thompson <kst-u@mib.org> - 2014-12-04 11:49 -0800
                Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-12-05 12:32 +0100
          Re: the language raltbos@xs4all.nl (Richard Bos) - 2014-12-04 22:17 +0000
  Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-12-18 18:17 +0100
    Re: the language Richard Heathfield <invalid@see.sig.invalid> - 2014-12-18 18:12 +0000
      Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-12-18 23:15 +0100
        Re: the language Rosario193 <Rosario@invalid.invalid> - 2014-12-18 23:50 +0100
    Re: the language "ocq (an evil corporate man)" <ocq@maili.ng> - 2014-12-19 02:34 +0100

csiph-web