On Sun, 21 Jun 2009, Szak�ts Viktor wrote:
Hi,
> Can this expression be optimized by compiler to NOP:
> Do( NIL )
> I'm trying to make this work in every situation:
> #if defined( __HB_OUTDEBUG__ ) .AND. defined( __PLATFORM__WINDOWS )
> #xtranslate HB_OUTDEBUG( [<x>] ) => WAPI_OUTPUTDEBUGSTRING( <x> )
> #else
> #xtranslate HB_OUTDEBUG( [<x>] ) => ( Do( NIL ) )
> #endif
> Something would be needed which is converted to
> a complete dummy expression to allow usage in
> codeblocks, but which would be optimized out by
> the compiler to NIL or nothing depending on the
> situation.
> Or maybe there are better ideas for this.
#if defined( __HB_OUTDEBUG__ ) .AND. defined( __PLATFORM__WINDOWS )
#xtranslate HB_OUTDEBUG( [<x,...>] ) => WAPI_OUTPUTDEBUGSTRING( <x> )
#else
#xtranslate HB_OUTDEBUG( [<x,...>] ) => IIF(.T.,,)
#endif
IIF(.T.,,) is optimized by compiler to nothing (fully stripped) in
code like:
IIF(.T.,,)
? IIF(.T.,,)
and to NIL in code like:
{|| IIF(.T.,,) }
x := IIF(.T.,,)
? IIF(.T.,,), "next"
best regards,
Przemek
_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour