List:MySQL++« Previous MessageNext Message »
From:Matt Dargavel Date:January 2 2007 1:35pm
Subject:Re: A couple of patches
View as plain text  
>
>> +    To get bakefile to create the makefiles necessary for each +    
>> platform, simply run bakefile_gen in the project root.
>
> No, this isn't right.
>
> First off, bakefile_gen shouldn't ever be run directly.  Use the 
> rebake or bootstrap wrapper scripts instead.
>
> What problem are you trying to solve here?  Is it the "I just checked 
> out from svn and it doesn't work" case?  If so, that's handled by 
> running the bootstrap script, which is already covered in the HACKERS 
> file.

Sorry, my mistake.  When I first downloaded and built MySQL++ a while 
ago there was a different procedure to build the project file, I'd never 
used bakefile before so I did a quick Google search and the bakefile_gen 
script seemed to do everything required.
> I thought we shot this one down because it's technically illegal in 
> C++.  It's not guaranteed that sbuffer_ is initialized before the base 
> class ctors are called.  It may work on current compilers, but what 
> about the future?
Yes, I'm not entirely sure of the best way.  The reason I suggested this 
was:

    "Having trawled through the VC++ and gcc std lib source code a bit 
more, I think this might be the better solution.  Mainly because in the 
_Uninitialised::_NoInit constructor in VC++ it calls 
ios_base::_Addstd(this) whereas, unless you specify a second param of 
true in the other constructor, it doesn't.  Unfortunately, I have no 
idea what _Addstd does, except that it's "special handling for standard 
streams".  Also, taking this approach it's the same across platforms, 
even if it does rely on all implementations doing nothing with the 
pointer you pass in, except for storing it."

Perhaps it's better to leave the current source as it is, and consider 
this patch archived in case there's ever a problem with the "special 
handling"?

       Cheers,

             Matt.



Thread
A couple of patchesMatt Dargavel29 Nov
  • Re: A couple of patchesWarren Young22 Dec
    • RE: A couple of patchesMatt Dargavel22 Dec
      • RE: A couple of patchesMatt Dargavel22 Dec
        • Re: A couple of patchesWarren Young22 Dec
          • Re: A couple of patchesMatt Dargavel2 Jan
            • Re: A couple of patchesWarren Young3 Jan