Hi, What is the status as far as using optimization is concerned? Is it supposed to be usable? If so I have a problem... I'm on a Solaris 2.6 Ultra 1 using GPC 2.1 (based on GCC 2.95.2). Source code showing the problem is below. When I build and run with the commands:- gpc -c opt.pas gpc -c -DMYMODULE opt.pas -o lichkp1.o gpc opt.o lichkp1.o a.out I see "ok" but if I use -O i.e. gpc -c opt.pas gpc -c -DMYMODULE opt.pas -o lichkp1.o -O gpc opt.o lichkp1.o a.out I see "failed". Can anyone help? Cheers, Martin G C Davies. #if defined MYMODULE module opt; #else program opt(output); #endif const lmpages = 24576 ; lcpgsize = 4096 ; lcpgctrl = 28 ; lmalloc = lcpgsize - lcpgctrl - 4 ; type mylupage = record number : packed 0..lmpages ; datadisp : packed 0..lmalloc end ; mylopage = ^mylupage; function lichkp1( mypage : mylopage ) : boolean ; external ; #if defined MYMODULE function lichkp1( mypage : mylopage ) : boolean ; begin if mypage^.number <> 1 then lichkp1 := false else if ( mypage^.datadisp < lcpgctrl ) or ( mypage^.datadisp > ( lmalloc div 8 ) ) then lichkp1 := false else lichkp1 := true ; end ; #else var mypage : mylupage ; begin mypage.number := 1 ; mypage.datadisp := lcpgctrl ; if lichkp1(addr(mypage)) then writeln('ok') else writeln('failed'); #endif end.