Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751604AbVKIXkG (ORCPT ); Wed, 9 Nov 2005 18:40:06 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751606AbVKIXkG (ORCPT ); Wed, 9 Nov 2005 18:40:06 -0500 Received: from mail27.sea5.speakeasy.net ([69.17.117.29]:56297 "EHLO mail27.sea5.speakeasy.net") by vger.kernel.org with ESMTP id S1751604AbVKIXkD convert rfc822-to-8bit (ORCPT ); Wed, 9 Nov 2005 18:40:03 -0500 Date: Wed, 9 Nov 2005 15:40:02 -0800 (PST) From: Vadim Lobanov To: Andreas Schwab cc: "linux-os \\\\(Dick Johnson\\\\)" , linas , "J.A. Magallon" , Kyle Moffett , Douglas McNaught , Steven Rostedt , linux-kernel@vger.kernel.org Subject: Re: typedefs and structs In-Reply-To: Message-ID: References: <20051107204136.GG19593@austin.ibm.com> <1131412273.14381.142.camel@localhost.localdomain> <20051108232327.GA19593@austin.ibm.com> <20051109003048.GK19593@austin.ibm.com> <20051109004808.GM19593@austin.ibm.com> <19255C96-8B64-4615-A3A7-9E5A850DE398@mac.com> <20051109111640.757f399a@werewolf.auna.net> <20051109192028.GP19593@austin.ibm.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=iso-8859-1 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1365 Lines: 40 On Thu, 10 Nov 2005, Andreas Schwab wrote: > Vadim Lobanov writes: > > > However, if the code is as follows: > > void foo (void) { > > int myvar = 0; > > printf("%d\n", myvar); > > bar(&myvar); > > printf("%d\n", myvar); > > } > > If bar is declared in _another_ file as > > void bar (const int * var); > > then I think the compiler can validly cache the value of 'myvar' for the > > second printf without re-reading it. Correct/incorrect? > > Incorrect. bar() may cast away const. In C const does not mean readonly. In that case, I stand corrected. Is there any real reason to apply const to pointer targets, aside from giving yourself a warning in the case you try to write the pointer target directly? Seems to be a missed opportunity for optimizations where the coder designates that it's okay to do so. > Andreas. > > -- > Andreas Schwab, SuSE Labs, schwab@suse.de > SuSE Linux Products GmbH, Maxfeldstra?e 5, 90409 N?rnberg, Germany > PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 > "And now for something completely different." > -Vadim Lobanov - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/