July 08, 2002
"Christof Meerwald" <cmeerw@web.de> wrote in message news:agcfme$btn$1@digitaldaemon.com...
> I have already made some progress trying to compile STLport-4.5.3. I am
even
> able to compile simple programs like these (with an unofficial 8.29.7n
beta):

Great!

> But as soon as I add some string operations (something like
> a.assign("test")), I get an "Internal error: struct 3273".
> Walter, can you give me a hint what I should be looking for to track it
> down?

There's nothing obvious, the only thing to be done is to whittle down the STL until the problem is isolated. I've done that many times, it sure is tedious.


July 08, 2002
Thanks! But fixing that will have to wait a moment, as I've realized I did the overloading rules of template functions all wrong and am trying to fix that.

"Christof Meerwald" <cmeerw@web.de> wrote in message news:agcs2i$ooq$1@digitaldaemon.com...
> On Mon, 8 Jul 2002 16:47:10 +0000 (UTC), Christof Meerwald wrote:
> > But as soon as I add some string operations (something like
> > a.assign("test")), I get an "Internal error: struct 3273".
>
> I think I have tracked it down to this test-case:
>
> template <class T>
> struct A
> {
>   typedef A<T> B;
>
>   template <class I> B &f(I a)
>   {
>     return *this;
>   }
> };
>
> int main()
> {
>   A<char> a;
>   a.f(5);
>
>   return 0;
> }
>
>
> bye, Christof
>
> --
> http://cmeerw.org                                 JID: cmeerw@jabber.at mailto cmeerw at web.de
>
> ...and what have you contributed to the Net?


July 09, 2002

Christof Meerwald wrote:

> Maybe we should move this discussion to the c++ group - i've set a
> Followup-To...
> 

I agree. I had not seen your email when I posted to c.announce


> On Mon, 08 Jul 2002 16:01:18 +0100, Damian wrote:
> 
>>However I'm having a problem :<. The compiler runs out of memory but does not give an indication as to why or where.
>>
> 
> Maybe it's a recursive macro that DMC doesn't correctly handle yet (I think
> I have reported the bug a few months ago), try to compile/preprocess this
> test-case:
> 
>   #define A(x) x
>   #define test A(test)
>   test
> 
> And yes, STLport uses these kind of constructs...
> 

I will double check and also use Walter's suggestion. I've been trying
to avoid recursive macro's, but I could easily have missed one.

I would like to avoid the divide and conquer route of debugging
though...


> 
> 
>>I am trying to build the very latest STLport from www.stlport.org, and
>>
> 
> I have already made some progress trying to compile STLport-4.5.3. I am even
> able to compile simple programs like these (with an unofficial 8.29.7n beta):
> 
> #include <string>
> 
> int main()
> {
>   std::string a;
>     return 0;
> }
> 

I've been compiling the regression tests and have managed to build string1.cpp. The problem occurs when building the vector tests.


> 
> But as soon as I add some string operations (something like
> a.assign("test")), I get an "Internal error: struct 3273".
> 
> Walter, can you give me a hint what I should be looking for to track it
> down?
> 

I will also have a look.

I believe most of the problems I have run into are the same ones
you have reported. I have worked around IsSame and I've noticed
that partial specialization only works in some cases. This may
be due to the problem Walter has found with template overloading.

I currently don't have DM on my machine at work, so it makes it
difficult to double check. I am hoping to rectify that soon.


> 
> BTW, I have put a diff against STLport-4.5.3 on my Web-page:
> http://cmeerw.org/files/dm/STLport-4.5.3-dm.diff (you need the Cygwin tools
> or a Linux/Unix machine to apply the patch with "patch -sp1
> <STLport-4.5.3-dm.diff" inside your STLport-4.5.3 directory)
> 

I will have a look at your patch and let you know if I have anything
else to add. I've got cygwin :>. Up until recently most of my work
has been on Unix or embedded OS's.

The CVS server I think is still active, though I have not used it for
a while. Have a word with Jan, to see if he will give you access. If
not the SourceForge may be an option.

We might be able to crack this one by cooperation :>

Regards
Damian


> 
> bye, Christof
> 
> 

July 09, 2002
Thanks for the suggestion Walter.

I have moved my discussion to the c++ newsgroup as suggested by Christof

Regards
Damian


Walter wrote:

> I appreciate greatly the help you're giving. The way to find out where the
> compiler is possibly hanging is to compile with -e -l, and then a .lst file
> will be created up to the point where it failed. If that doesn't work, the
> only think left is to try the binary approach (delete the second half of the
> source, if it still fails, delete the second half of what's left, etc.).
> 
> "Damian" <damiandixon@netscape.net> wrote in message
> news:3D29A93E.4030603@netscape.net...
> 
>>Walter,
>>
>>Thanks for the new template support.
>>
>>However I'm having a problem :<. The compiler runs out of memory but
>>does not give an indication as to why or where.
>>
>>Is there anything I can turn on to find out where the compiler has got
>>to so that I can attempt to create an RBT.
>>
>>I am trying to build the very latest STLport from www.stlport.org, and
>>thus pushing the new template code in the compiler rather hard. I don't
>>mind if the output is large or slows the compiler down, just so that I
>>can narrow the problem down to a few lines of code.
>>
>>I know that you have listed the new template functionality, but could
>>you please elaborate the actual acceptable syntax that you have
>>implemented, as it is proving difficult to work out what may not have
>>been implemented. I think I may have found a few problems but I am not
>>totally sure that I am not expeecting too much for now. I will try to
>>create some examples that demonstrate the problems (but not the crash
>>one), but it may take me a while as I want to check against g++ (v3.03)
>>and GreenHills (3.5) just to make sure it's not me!
>>Regards
>>Damian
>>
>>
>>
> 
> 

1 2
Next ›   Last »