X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org To: cygwin AT cygwin DOT com From: Lewis Hyatt Subject: Re: BUG REPORT: Cygwin, g++, -O2, static member function, std::string Date: Wed, 24 Oct 2007 14:35:19 -0400 Lines: 22 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit User-Agent: Thunderbird 2.0.0.6 (Windows/20070728) In-Reply-To: X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Brad Bell wrote: > > I seem to have run across a bug using g++ with -O2 under Cygwin. It has > to do with using static class member functions and standard string. > > The bash shell script command > ./bug.sh > creates three files, compiles, links, and runs the result. I have run > this command on several Cygwin systems and gotten results similar to > those in bug_cygwin.out; i.e., the assert > assertion r != 0 failed > I have run the same command on several Linux systems and gotten results > similar to those in bug_linux.out; i.e., no assertion. > Can you post the bug{1,2}.cpp files? I would guess that its not a bug, but rather you are relying on an undefined order of static initialization that happens to do what you want sometimes but not others. It's impossible to say for sure without seeing the source files, though. -Lewis -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/