segmentation fault on GiNaC-1.2.0 using MinGW on Win XP
Christian.Bauer at Uni-Mainz.DE
Tue Apr 6 17:29:09 CEST 2004
On Mon, Apr 05, 2004 at 10:32:03PM +0200, Richard B. Kreckel wrote:
> Congratulations on your excellent analysis. Well, the fix has been
> applied to CVS already:
I'm beginning to have doubts whether this is the proper fix, because:
> On Mon, 5 Apr 2004, Johannes Brunen wrote:
> > It may happen that the construtor of function_options() is called before
> > the call of library_init().
> > function_options() is called during registration of class container by statement
> > GINAC_DECLARE_REGISTERED_CLASS(container, basic) in file container.h (line 130).
Isn't library_init() supposed to solve all problems of this kind by being
the first static object to appear in any compilation unit?
library_init() is declared in ex.h which is the first file included from
container.h, so it can't come from there. And the GiNaC class registry doesn't
use function_options, so I don't understand why the declaration of container<>
would create a function_options object. The only compilation units creating
function_options are the various inifcns*.cpp files which include inifcns.h
-> function.h -> exprseq.h -> container.h -> ex.h and should see library_init()
before any function_options.
Did I overlook something?
/ Physics is an algorithm
More information about the GiNaC-devel