// { dg-do assemble  }
// { dg-options "-O -Wall  -fgcse" }
// From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de> 
// Reported against EGCS snaps 98/06/28.
//
// Compilation of this program with the flags g++ -Wall -O -fgcse
// or -O2 produces spurious warnings in the standard
// header <std/bastring.h>.
//
// They vanish if the declaration of a::b is taken out.

#include <string>

std::string foo();
struct a {
	void bar();
	enum b { c, d };
	b theb;
	std::string baz;
};

void
a::bar()
{
	baz += foo() + foo();
	baz += foo() + foo() + "foo";
}

