R: Compilation issue

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

R: Compilation issue

Berardi Luca
R: [Quantlib-users] Compilation issue

> To access the 
> relevant docs select Help/Index from the VC++ menu, then look up 
> 'C1001'. Let us know whether you found some way to work around the 
> problem.

I tried to locally deactivate speed optimization by circumventing the piece of code (apparently) generating errors by a pair of pragma optimize off/on, but it didn't work, too. At the end I had to give up, and globally deactivate speed optimization.


-----Messaggio originale-----
Da: Luigi Ballabio [[hidden email]]
Inviato: venerdì 23 aprile 2004 11:11
A: Berardi Luca
Cc: Quantlib-Users (E-mail)
Oggetto: Re: [Quantlib-users] Compilation issue


On 2004.04.23 10:16, Berardi Luca wrote:
> I can't compile the QuantLib library in multithreaded DLL mode when I 
> select the "Optimize speed" option using Visual C++ 6.0.
> More precisely I get the following error:
>
> C:\QUANTLIB\ql/Math/cubicspline.hpp(203) : fatal error C1001: 
> INTERNAL COMPILER ERROR
>
>
> and the visual studio points at the following line
>
>                                         M = QL_MAX(M,
> 1.5*QL_MIN(QL_FABS(pm),QL_FABS(pd)));
>
> Does anybody know how to get over this error?

Ciao Luca,
        it's hard to say, since it's admittedly a compiler bug... The 
VC++ docs say:

----------------------
INTERNAL COMPILER ERROR
(compiler file 'file', line number)

This error is most often generated in one of two cases:

(the first case doesn't apply here)

Failure of the code generator to find a way to generate correct
code for a construct. This is most often caused by the
interaction of an expression and an optimization option. The
optimization has generated a tree which the compiler does not
know how to handle. Such a problem can often be fixed by removing
one or more optimization options when compiling the particular
function containing the line indicated in the error message.
---------------------------

then it goes on explaining how you can try to compile. To access the 
relevant docs select Help/Index from the VC++ menu, then look up 
'C1001'. Let us know whether you found some way to work around the 
problem.

Good luck,
        Luigi


DISCLAIMER: Privileged/Confidential Information may be contained in this message and in any of its attachments (the "message"). If you are not the addressee indicated in this message (or responsible for delivery of the message to such person), you may not copy or deliver this message to anyone. In such case, you should destroy this message and kindly notify the sender by reply e-mail. The contents of this message shall be understood as neither given nor endorsed by Banca Profilo S.p.A., nor Profilo SGR S.p.A., nor Profilo Asset Management SGR S.p.A., nor Profilo Academy S.p.A.. Banca Profilo S.p.A., Profilo SGR S.p.A., Profilo Asset Management SGR S.p.A., Profilo Academy S.p.A. do not accept liability for corruption, interception or amendment, if any, or the consequences thereof.

Il presente messaggio e/o i suoi allegati (di seguito il "messaggio") possono contenere informazioni privilegiate e/o confidenziali. Se non siete i destinatari indicati nel messaggio (o persona incaricata di inoltrare il messaggio al/i destinatario/i), non potete copiare o inoltrare il messaggio ad altri e siete invitati a distruggerlo dandone informazione al mittente a mezzo e-mail. Il contenuto del presente messaggio non deve essere considerato come trasmesso o autorizzato nè da Banca Profilo S.p.A., nè da Profilo SGR S.p.A., nè da Profilo Asset Management SGR S.p.A., nè da Profilo Academy S.p.A.. Nè Banca Profilo S.p.A., nè Profilo SGR S.p.A., nè Profilo Asset Management SGR S.p.A., nè Profilo Academy S.p.A. si assumono alcuna responsabilità per eventuali intercettazioni, modifiche o danneggiamenti del presente messaggio e-mail e per le eventuali conseguenze.