This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

problems with egcs-1.0.3a / Solaris 2.5.1


I use egcs-1.0.3a on Solaris 2.5.1. I found the following bugs:


1) Is there a patch for the following bug that appeared in
   EGCS 1.0 and GNU C 2.8.0? This code does not compile, because
   the templated != operator of STL is used in place of the
   'native' != operator for enum's:

   	#include <set>
   	foo() {
   		enum { A, B } i, j;
   		i != j;
   	}


2) The native assembler doesn't like the -O3 option. Is this a known issue?
   Here is the error I get from my assembler:

   	g++ -ansi -O3 -fPIC -Wall -c reader.cc -o obj.fast/SunOS/reader.o
   	/usr/ccs/bin/as: "/tmp/cca002XX.s", line 30307: error: can't compute value of an expression involving an external symbol

   The same source compiles fine with -O3 together with -g:

   	g++ -ansi -g -O3 -fPIC -Wall -c reader.cc -o obj.debug/SunOS/reader.o

   Here is line 30307 of reader.s (I don't know Sparc assembly to
   understand if it helps :)

   		.size	 __copy__t7rb_tree5Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt3map4Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZbZt4less1Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt24__default_alloc_template2b0i0Zt9select1st1Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt3map4Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZbZt4less1Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt24__default_alloc_template2b0i0Zt4less1Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt24__default_alloc_template2b0i0Pt14__rb_tree_node1Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt3map4Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_a!
 lloc_template2b0i0ZbZt4less1Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt24__default_alloc_template2b0i0T1,.LLfe21-__copy__t7rb_tree5Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt3map4Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZbZt4less1Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt24__default_alloc_template2b0i0Zt9select1st1Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt3map4Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZbZt4less1Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt24__default_alloc_template2b0i0Zt4less1Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt24__default_alloc_template2b0i0Pt14__rb_tree_node1Zt4pair2ZCt12b!
 asic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0



i0Zt3map4Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZbZt4less1Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt24__default_alloc_template2b0i0T1


3) Using -O3, I also get a warning in the following source:

   	map<string, Attribute>
   	AttributeReader::read(const char* filename) const
   	throw(parse_error) // WARNING DISAPPEARS IF I REMOVE
   	                   // EXCEPTION SPECIFICATIONS
   	{
   		// [...] some code here to create "stream" from "filename"
   		try
   		{
   			return read(stream);
   		}
   		catch (parse_error& e) // THIS IS LINE 65
   		{
   			// parse_error is a subclass of runtime_error
  	 		throw parse_error(e.what(), e.line(), filename);
   		}
   	}

   The warning message itself is a little bit messy. Does anyone understand
   what is going on here? Is this a known issue?

   	g++ -ansi -O3 -fPIC -Wall -c attribute.cc -o obj.fast/SunOS/attribute.o
   	attribute.cc: In method `class map<basic_string<char,string_char_traits<char>,__default_alloc_template<false,0> >,Attribute,less<basic_string<char,string_char_traits<char>,__default_alloc_template<false,0> > >,__default_alloc_template<false,0> > AttributeReader::read(const char *) const':
   	attribute.cc:65: warning: `struct cp_eh_info * __exception_info' might be used uninitialized in this function
   	/home/x/egcs-1.0.3a/include/g++/stl_tree.h: In method `class map<basic_string<char,string_char_traits<char>,__default_alloc_template<false,0> >,Attribute,less<basic_string<char,string_char_traits<char>,__default_alloc_template<false,0> > >,__default_alloc_template<false,0> > AttributeReader::read(class istream &) const':
   	/home/x/egcs-1.0.3a/include/g++/stl_tree.h:540: warning: `struct cp_eh_info * __exception_info' might be used uninitialized in this function


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]