Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | James Kuyper <jameskuyper@verizon.net> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Casts on lvalues |
| Date | 2012-12-07 14:14 -0500 |
| Organization | A noiseless patient Spider |
| Message-ID | <50C24019.1020505@verizon.net> (permalink) |
| References | (10 earlier) <hGlws.307705$kX.231914@fx18.am4> <k9sqi4$do2$1@dont-email.me> <ftmws.280907$kt5.95535@fx08.am4> <50C216B3.60103@verizon.net> <3zqws.788609$vW7.180152@fx19.am4> |
On 12/07/2012 01:27 PM, BartC wrote:
> "James Kuyper" <jameskuyper@verizon.net> wrote in message
> news:50C216B3.60103@verizon.net...
...
>> I presume that
>> such optimizations are prohibited in your language?
>
> Not in the language. But my compilers never did sophisticated optimisations
> anyway. (Actually I don't think they did unsophisticated ones either...)
>
>> Or perhaps code
>> which would interact badly with such optimizations is prohibited?
>
> I don't think optimisations would need to be entirely ruled out. All the
> information is there at compile-time (unlike pointers where you're never
> quite sure what's pointing to what.) And you wouldn't use this stuff
> everywhere.
I'm not talking about all optimizations, just the ones that depend upon
C's anti-aliasing guarantees. Consider the following function:
void func(int n, float array[static n], long *l)
{
for(int i=0; i<n; i++)
array[i] = *l;
*l = n;
}
This isn't a particularly useful function - I've chosen it solely to
clearly illustrate my point - but my point also applies to more
complicated and useful functions.
An implementation is permitted, because of 6.5p7, to compile that
function as if it had been written:
void func(int n, float array[static n], long *l)
{
long temp = *l;
for(int i=0; i<n; i++)
array[i] = temp;
*l = n;
}
The optimized version has exactly the same behavior as the original, so
long as 6.5p7 is not violated. If C were changed to allow a long integer
to be equivalenced with a element of a float array, the value of *l
might change during the loop. If so, these two versions of the code
would no longer be equivalent, and there's an important question to be
asked about which one actually matches the user's intent. If the initial
value of *l was carefully chosen with the intent that it would, in fact,
be changed by this code inside that loop, the developer is going to be a
little upset if that didn't actually happen.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Casts on lvalues "BartC" <bc@freeuk.com> - 2012-12-02 13:23 +0000
Re: Casts on lvalues SG <sgesemann@gmail.invalid> - 2012-12-02 14:40 +0100
Re: Casts on lvalues Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-12-02 13:53 +0000
Re: Casts on lvalues "BartC" <bc@freeuk.com> - 2012-12-06 12:26 +0000
Re: Casts on lvalues Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-12-06 15:15 +0000
Re: Casts on lvalues Keith Thompson <kst-u@mib.org> - 2012-12-06 12:05 -0800
Re: Casts on lvalues Keith Thompson <kst-u@mib.org> - 2012-12-02 12:34 -0800
Re: Casts on lvalues "BartC" <bc@freeuk.com> - 2012-12-02 21:18 +0000
Re: Casts on lvalues Willem <willem@turtle.stack.nl> - 2012-12-05 22:36 +0000
Re: Casts on lvalues "BartC" <bc@freeuk.com> - 2012-12-05 23:46 +0000
Re: Casts on lvalues Willem <willem@turtle.stack.nl> - 2012-12-06 18:35 +0000
Re: Casts on lvalues pete <pfiland@mindspring.com> - 2012-12-02 16:21 -0500
Re: Casts on lvalues Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-12-02 17:10 -0500
Re: Casts on lvalues pete <pfiland@mindspring.com> - 2012-12-02 18:50 -0500
Re: Casts on lvalues James Kuyper <jameskuyper@verizon.net> - 2012-12-02 19:14 -0500
Re: Casts on lvalues falk@rahul.net (Edward A. Falk) - 2012-12-04 23:57 +0000
Re: Casts on lvalues "BartC" <bc@freeuk.com> - 2012-12-05 01:35 +0000
Re: Casts on lvalues Piotr Kalinowski <pitkali@gmail.com> - 2012-12-05 16:07 +0100
Re: Casts on lvalues "BartC" <bc@freeuk.com> - 2012-12-05 16:47 +0000
Re: Casts on lvalues Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-12-05 13:04 -0500
Re: Casts on lvalues "BartC" <bc@freeuk.com> - 2012-12-05 18:39 +0000
Re: Casts on lvalues James Kuyper <jameskuyper@verizon.net> - 2012-12-05 14:23 -0500
Re: Casts on lvalues "BartC" <bc@freeuk.com> - 2012-12-05 22:11 +0000
Re: Casts on lvalues Ian Collins <ian-news@hotmail.com> - 2012-12-06 11:51 +1300
Re: Casts on lvalues "BartC" <bc@freeuk.com> - 2012-12-05 23:58 +0000
Re: Casts on lvalues Piotr Kalinowski <pitkali@gmail.com> - 2012-12-06 22:00 +0100
Re: Casts on lvalues glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-12-06 03:05 +0000
Re: Casts on lvalues Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-12-05 14:43 -0500
Re: Casts on lvalues Greg Martin <greg@softsprocket.com> - 2012-12-05 12:25 -0800
Re: Casts on lvalues "BartC" <bc@freeuk.com> - 2012-12-05 21:57 +0000
Re: Casts on lvalues Keith Thompson <kst-u@mib.org> - 2012-12-05 16:09 -0800
Re: Casts on lvalues Philipp Thomas <kthomas@linux01.gwdg.de> - 2012-12-07 01:24 +0100
Re: Casts on lvalues Keith Thompson <kst-u@mib.org> - 2012-12-06 17:22 -0800
Re: Casts on lvalues Öö Tiib <ootiib@hot.ee> - 2012-12-07 00:31 -0800
Re: Casts on lvalues James Kuyper <jameskuyper@verizon.net> - 2012-12-07 08:18 -0500
Re: Casts on lvalues Öö Tiib <ootiib@hot.ee> - 2012-12-07 09:07 -0800
Re: Casts on lvalues Keith Thompson <kst-u@mib.org> - 2012-12-07 11:01 -0800
Re: Casts on lvalues glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-12-07 21:57 +0000
Re: Casts on lvalues Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-12-07 22:29 +0000
Re: Casts on lvalues glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-12-08 00:04 +0000
Re: Casts on lvalues lawrence.jones@siemens.com - 2012-12-15 16:51 -0500
Re: Casts on lvalues Keith Thompson <kst-u@mib.org> - 2012-12-15 15:48 -0800
Re: Casts on lvalues lawrence.jones@siemens.com - 2012-12-17 16:37 -0500
Re: Casts on lvalues Tim Rentsch <txr@alumni.caltech.edu> - 2012-12-17 02:58 -0800
Re: Casts on lvalues Tim Rentsch <txr@alumni.caltech.edu> - 2012-12-17 02:53 -0800
Re: Casts on lvalues Tim Rentsch <txr@alumni.caltech.edu> - 2012-12-17 02:43 -0800
Re: Casts on lvalues Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-12-05 22:07 +0000
Re: Casts on lvalues "BartC" <bc@freeuk.com> - 2012-12-05 22:20 +0000
Re: Casts on lvalues Keith Thompson <kst-u@mib.org> - 2012-12-05 16:10 -0800
Re: Casts on lvalues Philip Lantz <prl@canterey.us> - 2012-12-06 22:49 -0800
Re: Casts on lvalues "BartC" <bc@freeuk.com> - 2012-12-07 12:54 +0000
Re: Casts on lvalues James Kuyper <jameskuyper@verizon.net> - 2012-12-07 08:22 -0500
Re: Casts on lvalues "BartC" <bc@freeuk.com> - 2012-12-07 13:48 +0000
Re: Casts on lvalues James Kuyper <jameskuyper@verizon.net> - 2012-12-07 11:17 -0500
Re: Casts on lvalues glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-12-07 17:33 +0000
Re: Casts on lvalues "BartC" <bc@freeuk.com> - 2012-12-07 18:28 +0000
Re: Casts on lvalues glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-12-07 22:18 +0000
Re: Casts on lvalues "BartC" <bc@freeuk.com> - 2012-12-07 18:27 +0000
Re: Casts on lvalues James Kuyper <jameskuyper@verizon.net> - 2012-12-07 14:14 -0500
Re: Casts on lvalues "BartC" <bc@freeuk.com> - 2012-12-07 20:16 +0000
Re: Casts on lvalues James Kuyper <jameskuyper@verizon.net> - 2012-12-07 15:41 -0500
Re: Casts on lvalues Tim Rentsch <txr@alumni.caltech.edu> - 2012-12-17 03:03 -0800
Re: Casts on lvalues Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2012-12-09 17:54 +0200
Re: Casts on lvalues James Kuyper <jameskuyper@verizon.net> - 2012-12-09 12:38 -0500
Re: Casts on lvalues "BartC" <bc@freeuk.com> - 2012-12-09 18:50 +0000
Re: Casts on lvalues James Kuyper <jameskuyper@verizon.net> - 2012-12-09 14:31 -0500
Re: Casts on lvalues Keith Thompson <kst-u@mib.org> - 2012-12-09 20:12 -0800
Re: Casts on lvalues Heikki Kallasjoki <fis+usenet@zem.fi> - 2012-12-10 07:38 +0000
Re: Casts on lvalues James Kuyper <jameskuyper@verizon.net> - 2012-12-10 08:12 -0500
Re: Casts on lvalues Heikki Kallasjoki <fis+usenet@zem.fi> - 2012-12-10 17:46 +0000
Re: Casts on lvalues James Kuyper <jameskuyper@verizon.net> - 2012-12-10 12:59 -0500
Re: Casts on lvalues Keith Thompson <kst-u@mib.org> - 2012-12-10 12:07 -0800
Re: Casts on lvalues Tim Rentsch <txr@alumni.caltech.edu> - 2012-12-17 03:11 -0800
Re: Casts on lvalues Ian Collins <ian-news@hotmail.com> - 2012-12-10 20:50 +1300
Re: Casts on lvalues James Kuyper <jameskuyper@verizon.net> - 2012-12-10 07:49 -0500
Re: Casts on lvalues Rui Maciel <rui.maciel@gmail.com> - 2012-12-07 15:19 +0000
Re: Casts on lvalues "BartC" <bc@freeuk.com> - 2012-12-07 16:54 +0000
csiph-web