July 08, 2002 Re: new C++ 8.29.5 beta | ||||
---|---|---|---|---|
| ||||
Posted in reply to Christof Meerwald | "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 Re: new C++ 8.29.5 beta | ||||
---|---|---|---|---|
| ||||
Posted in reply to Christof Meerwald | 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 Re: new C++ 8.29.5 beta | ||||
---|---|---|---|---|
| ||||
Posted in reply to Christof Meerwald | 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 Re: new C++ 8.29.5 beta | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | 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
>>
>>
>>
>
>
|
Copyright © 1999-2021 by the D Language Foundation