> On 17/01/2015 19:03, "Philipp Klaus Krause" <p...@spth.de> wrote:
>
>>Currently, when compiling using --std-sdcc89 or --std-sdcc99 (but not
>>when using --std-c89, --std-c99 or --std-c11), sdcc does not do integer
>>promotion on explicitly cast arguments to functions with variable
>>arguments:
>>
>>void f1(int, ...);
>>
>>char c;
>>
>>void f2(void)
>>{
>>    f1(0, (char)c); // Will pass a char
>>    f1(0, c); // Will pass an int
>>}
>>
>>This can save a byte on the stack when passing an argument of char to a
>>functionw with variable arguments. However, it makes code compiled using
>>different --std- options incompatible (will fail at run time). I assume
>>char arguments to functions with variable arguments to be relatively
>>rare, and the cases where the single byte on the stack matters even more
>>so.
>>
>>In anyone using this feature?
>>
>>If not, I'd suggest to drop it after the next release.
>>
>>Philipp
>>
>>
>
> I'm ok with dropping this.

Please state the targets you use.

I'm not interested in z80 users with 64k stack space who are ok with
dropping this. I would want to hear from 8051 users who need to work with
a really small stack (~128 bytes) or other targets with a similarly small
stack.

Personally I think it really helps the 8051 users. E.g. to printf %c

Maarten

------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to