tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] A double-to-float conversion bug


From: C.J. Wagenius
Subject: Re: [Tinycc-devel] A double-to-float conversion bug
Date: Sun, 30 Jul 2023 16:44:58 +0200 (CEST)

Sorry. Ignore that.



30 juli 2023 16:18 av cjw@voidptr.se:

> Use "%lf" for doubles.
>
> /cjw
>
> 30 juli 2023 15:34 av dayllenger@gmail.com:
>
>> Hello everyone. So today I stumbled upon this bug when doing math
>> involving conversions between float and double. A minimal example:
>>
>> ---
>> #include <stdio.h>
>>
>> struct V {
>>  int x, y, z;
>> };
>>
>> struct V vec(void)
>> {
>>  return (struct V) { 0, 0, 1 };
>> }
>>
>> void func(float f, struct V v)
>> {
>>  printf("%f %d %d %d\n", f, v.x, v.y, v.z);
>> }
>>
>> int main(void)
>> {
>>  float f = 5;
>>  double d = f;
>>  func(d, vec());
>>  return 0;
>> }
>> ---
>>
>> The code should print this:
>> 5.000000 0 0 1
>>
>> but it prints garbage in the first value like this:
>> -85964.625000 0 0 1
>>
>> I've tried Linux x86_64 and both mob branch and 0.9.27 release.
>> tcc -run also fails.
>>
>> I hope there is an easy fix for this. Thanks.
>>
>> _______________________________________________
>> Tinycc-devel mailing list
>> Tinycc-devel@nongnu.org
>> https://lists.nongnu.org/mailman/listinfo/tinycc-devel
>>
>
> _______________________________________________
> Tinycc-devel mailing list
> Tinycc-devel@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/tinycc-devel
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]