is it worth having the compiler spit out warnings / reports about what optimizations like elisions happened?
On Mon, Apr 23, 2012 at 12:53 AM, john skaller <skal...@users.sourceforge.net> wrote: > OMG I finally found the webserver bug: > > var linst = Dynlink::init_lib(lib + dll_extn); > var library = Dynlink::get_library linst; > var tf = Dynlink::get_thread_frame linst; > var raw_setup = Dynlink::dlsym$ library, "setup"; > //println$ lib+" Got setup address " + str raw_setup; > var setup = C_hack::cast[address * string --> int] raw_setup; > var sresult = setup(tf,config_data); > //println$ lib+" Library set up " + str sresult; > libs = Cons ((lib, linst),libs); > match lib with > | "cpp2html" => > xlat_cpp= C_hack::cast[raw_xlat_t]$ Dynlink::dlsym (library,entry); > tf_xlat_cpp = tf; > endmatch; > > Can you see the bug? No? Neither could I. > It worked with the debug comments included. > So I took them out and it failed again. > > Debugging making stuff work?? > > See the bug yet? No? > > Look at "sresult". It's used in the debugging. > > Yep. Nowhere else. So felix elided it and its initialiser. > So the plugins weren't initialised. > > Actually setup is supposed to be a procedure but the export > of procedures doesn't work yet (exported functions didn't work > either, but i fixed them .. didn't get around to procedures). > > is this a bug? In my code yes. In the compiler no. > It's supposed to eliminate variables that aren't used. > Even if the initialiser is a generator. > Felix ain't C. > > To prevent this you say > > C_hack::ignore (x); > > and x is considered used (the ignore function does nothing, it's > a trick which depends on the fact that Felix can't see into C > functions, so it has to assume the function uses its argument). > > > -- > john skaller > skal...@users.sourceforge.net > http://felix-lang.org > > > > > ------------------------------------------------------------------------------ > For Developers, A Lot Can Happen In A Second. > Boundary is the first to Know...and Tell You. > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > http://p.sf.net/sfu/Boundary-d2dvs2 > _______________________________________________ > Felix-language mailing list > Felix-language@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/felix-language ------------------------------------------------------------------------------ For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language