Mail Archives: djgpp/2000/12/06/02:57:22
At 03:31 AM 12/06/2000 +0000, you wrote:
>bseab1024 AT my-deja DOT com wrote:
>>
>> FYI...
>>
>> The authors example code does compile with Visual C++ 6.0
>
>The critical thing is the version of the STL. 3.2 works for me, but 3.3
>doesn't. Is your system actually using 3.3?
>
>--
>Ron House house AT usq DOT edu DOT au
> http://www.sci.usq.edu.au/staff/house
>
>A rose grows in the Earth's good soil.
After all the hubbub that this thread has gone through, I got curious and
decided to download the STL 3.3 source code from SGI too. The sample code
compiles as is with STL that comes with DJGPP (which is _not_ STL 3.3).
Okay so before I tried to install the new STL, I first moved the directory
containing the old STL to another directory as a backup. Then I unzipped
the new STL into /dev/env/DJDIR/lang/cxx. I then tried to compile the
sample code. Now gxx complains about not being able to find the iostream
headers. I checked the new STL archive and there are no iostream headers,
hmmm they should be in _this_ archive. I wonder why that is...
So next, to remedy this problem with the iostream headers, I deleted the
new STL directory and copied the old STL back into lang/cxx. Again I
unzipped the new STL into lang/cxx, thus overwriting the old files in
there. Compiling the sample code, gxx barfed the following:
~/djgpp/test>$!gxx
gxx test.cc -o test.exe
g:/lang/cxx/concept_checks.h: In function `static void
_Assignable_concept_speci
fication<vector<int,allocator<int> >
>::_Assignable_requirement_violation(vector
<int,allocator<int> >)':
g:/lang/cxx/stl_vector.h:159: instantiated from
`vector<vector<int,allocator<i
nt> >,allocator<vector<int,allocator<int> > > >'
test.cc:6: instantiated from here
g:/lang/cxx/concept_checks.h:530: use of parameter from containing function
g:/lang/cxx/concept_checks.h:389: `int __a' declared here
g:/lang/cxx/concept_checks.h:531: use of parameter from containing function
g:/lang/cxx/concept_checks.h:389: `int __a' declared here
g:/lang/cxx/concept_checks.h:532: use of parameter from containing function
g:/lang/cxx/concept_checks.h:389: `int __a' declared here
g:/lang/cxx/concept_checks.h:532: use of parameter from containing function
g:/lang/cxx/concept_checks.h:389: `int __a' declared here
g:/lang/cxx/concept_checks.h:533: use of parameter from containing function
g:/lang/cxx/concept_checks.h:389: `int __a' declared here
g:/lang/cxx/concept_checks.h:533: use of parameter from containing function
g:/lang/cxx/concept_checks.h:389: `int __a' declared here
Now I have the same problem as yours ;-P Now this seems to me, as you've
pointed out, that it could be an error in the STL code, since the classes
in particular concept_checks.h are there supposedly to aid in debugging. I
suggest reading the comments in the concept_checks.h header file to see
what these classes do. This header is new in 3.3 and (possibly) introduces
new bugs. Also the problem seems to be correlated with the fact the
stl_config.h does not even mention __DJGPP__. In summary: STL 3.3 does not
work with DJGPP. Well, not unless it is ported to DJGPP. Right now I'm
thinking of starting work on that port if I find the time to start working
on it tonight :-)
Anyway, I hope this answers some of your questions for the moment. And
maybe others will look into this as well.
Bye...
nimrod_a_abing
--------------
+========================================+
| Home page: www.geocities.com/n_abing |
+========================================+
ICQ: 54665893
- Raw text -