From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31819 invoked by alias); 7 Apr 2003 21:36:00 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 31805 invoked by uid 71); 7 Apr 2003 21:36:00 -0000 Date: Mon, 07 Apr 2003 21:36:00 -0000 Message-ID: <20030407213600.31804.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Michael Ubell Subject: Re: c/10339: strncmp generates imPure code Reply-To: Michael Ubell X-SW-Source: 2003-04/txt/msg00315.txt.bz2 List-Id: The following reply was made to PR optimization/10339; it has been noted by GNATS. From: Michael Ubell To: Andreas Schwab Cc: Timothy C Prince , falk.hueffner@student.uni-tuebingen.de, bangerth@ices.utexas.edu, gcc-bugs@gcc.gnu.org, gcc-gnats@gcc.gnu.org Subject: Re: c/10339: strncmp generates imPure code Date: Mon, 07 Apr 2003 14:28:29 -0700 Andreas Schwab wrote: > Michael Ubell writes: > > |> Attached is a program that reads 831 unaligned unallocated > |> bytes. I can't actually get it to segv on Solaris because > |> I don't know enough about their memory management, but > |> I cannot believe this is correct code. > > Yes, you are right, I can reproduce that also on ia64-linux. The > conversion to memcmp is really invalid here. > > Andreas. > Now I get to argue the other side :-) Was your string properly null terminated? If not, then its not the compiler's fault. I think memcmp is valid so long as the strings are well formed. This will be true because C strings may not contain embedded nulls.