On 25/07/13 18:58, Gustavo Sverzut Barbieri wrote: > On Thu, Jul 25, 2013 at 1:46 PM, Tom Hacohen <tom.haco...@samsung.com> wrote: >> On 24/07/13 03:09, Carsten Haitzler (The Rasterman) wrote: >>> On Tue, 23 Jul 2013 18:22:02 +0200 Jérémy Zurcher <jer...@asynk.ch> said: >>> >>>> just to clarify a few points: >>>> >>>> - I think the less macro we have in an eo class declaration the best, >>>> actually we have nothing but that extra first parameter called eo2_o, >>>> wich >>>> is either an obj_ptr (devs/tasn/eo2) or a call_ctx (devs/jeyzu/eo2) >>>> >>>> this should go away if we use a stack per thread in eo private code, >>>> so we end up with a clean >>>> EAPI float times(float f, float t); >>>> >>>> - since day 1 break is supported in eo2_do: >>>> #define eo2_do(obj_id, ...) >>>> do >>>> { >>>> obj_ptr_or_ctx = eo2_do_start(obj_id); >>>> if(!obj_ptr_or_ctx) break; >>>> do { __VA_ARGS__ ; } while (0); >>>> eo2_do_end(obj_ptr_or_ctx); >>>> } while (0) >>> >>> i'm worried about people doing return there. seriously - objid came in >>> becau se >>> of experience that people using efl are in general inexperienced programmers >>> who don't take the time to do things right. they do things quickly and take >>> shortcuts, and they ignore warnings. they'd rather patch out abort()s in efl >>> code forcing them to fix their bugs, than fix their bugs. i am fearful that >>> they will stuff in returns quite happily and think it mostly works most of >>> the >>> time... and then find subtle issues and waste our time finding them. >>> >>> how do we protect/stop returns (or goto's for that matter) within the while >>> block. i looked for some pragmas - can't find any to do this. this would be >>> a >>> really useful compiler feature though (to maybe disable some constructs for >>> a >>> sequence of code). >>> >> >> Already showed you a solution, the one with the bla function. It works >> and it's mostly clean. > > > how so? The __VA_ARGS__ may contain a return and it will never reach > eo2_do_end()
What I said with having a bla function. Exactly what Cedric repeated in a reply. "Why not use the idea from Tom of just adding a stupid if (0) eo_dummy(__VA_ARGS__); That is going to enforce only function call get it, no ?" -- Tom. ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel