List of known bugs in SIMLIB/C++ ================================ Last modified: Wed Apr 26 13:19:22 CEST 2006 Warning: this text is not complete! ========================================= 2006-04: SIMLIB/C++ does not work on 64bit platforms yet - you should use gcc -m32 and compile only 32bit version. [problems/bugs in Process implementation] ========================================= 2004-xx: compilation with GCC 3.3.2/3.3.3 -- models using class Process don't work without optimization g++ (GCC) 3.3.3 20040125 (prerelease) (Debian) possible problem with process-switch code may be libc problem [RedHat, libc-2.3.2, gcc3.4.2 = problem] TEMPORARY SOLUTION: use gcc -O2 ========================================= other_process->Terminate(); //ERROR typecasts --> *_cast() Borland C++ 5.0x --- problem with 'new xxx' in ProcessXX::Behavior() if exception handling is ON temporary solution: enclose new in function Event::Wait() do not use ---> disable in Entity one-time event -- needs Cancel() NumInt: sensitive to order of modules initialization SPARC: not working process implementation OLD: in czech ============================================================================ TODO ============================================================================ ContiBlock -- chybí 'garbage collecting' a kontroly odkazu na neinicializovany blok Store: nejasný výběr z fronty (jsou dvě možnosti) FUNCTIONAL ============================================================================ * pozor na pořadí deklarací v objektu ! problémy s použitím proměnných double ve výrazech: class x { Integrator i; double param; public: R(Input in, double d = 1.0) : i(in/param), // dělí nulou! (ještě neinicializováno) // řešení: in/d param(d) {} Value(); }; * chybí GC --- neprobíhá rušení bloků-operátorů!! toto nevadí u modelů se statickou strukturou a s malým počtem experimentů u optimalizačních už ano --> TODO * ERROR: WaitUntil() bez plánování nezpracuje poslední událost?! revidovat! PORTABILITY ============================================================================ * GNU C: násobná dědičnost 2SimObject => new/delete problem