Section External - stop functions from being optimised out?

sonntag at icps.u-strasbg.fr sonntag at icps.u-strasbg.fr
Wed Nov 12 01:58:55 UTC 2008


Jeremy Cowgar <jeremy at cowgar.com> a écrit :

> I've done this trick:
>
> - make_alive <-
> (
>   `
>   #if 0
>   `;
>   make_alive NULL;
>   `
>   #endif
>   `;
> );
>
> - main <-
> (
>   make_alive;
>   // rest of code
> );
>
> However, I get a strange error:
>
> Depending pass: ..--SEMANTIC---------
> Profil block not found, a first definition must to be before a first  
>  evaluation.
> Sorry, it's a limit for this actual compiler.
> Line 20 column 1 in IUP_BUTTON_ACTION(./iup_button_action.li):
> 	);
>
> The actual function is:
>
> - lisaac_iup_button_action ih:POINTER :INTEGER <-
> (
>   + ptr:POINTER;
>   + self:SELF;
>
>   ptr := `IupGetAttribute(@ih, "OOSELF")`:POINTER;
>   self := CONVERT[POINTER, SELF].on ptr;
>   "Calling button action:\n".print;
>   self.block.value ih
> );
>

Hi,

add the bidon define :

  + block:BLOCK := { p:POINTER; 0};

(it's a little pb with block type...)

Ben.

> Line 20, Column 1 is the "self.block.value ih"
>
> Thanks for any help.
>
> Jeremy
>
> Quoting Jeremy Cowgar <jeremy at cowgar.com>:
>> Greetings!
>>
>> How can I stop the compiler from optimising an external function out of
>> existance? Here is an example:
>>
>> Section External
>>
>>   - say_hello ih:POINTER :INTEGER <-
>>   (
>>     "Hello, World!\n".print;
>>     `IUP_CLOSE`:INTEGER
>>   );
>>
>> Section Public
>>
>>   - main <-
>>   (
>>     // code
>>     `IupSetCallback(@control, "ACTION", say_hello)`;
>>     // code
>>   );
>>
>> The external function "say_hello" is never used directly, thus the compiler
>> is removing it from the compiled code. How can I tell the compiler to
>> keep say_hello?
>>
>> Thanks,
>>
>> Jeremy
>>
>> _______________________________________________
>> Lisaac-devel mailing list
>> Lisaac-devel at lists.alioth.debian.org
>> http://lists.alioth.debian.org/mailman/listinfo/lisaac-devel
>
> _______________________________________________
> Lisaac-devel mailing list
> Lisaac-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/lisaac-devel
>






More information about the Lisaac-devel mailing list