[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbia
From: |
Thomas Preud'homme |
Subject: |
Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi) |
Date: |
Thu, 24 Jan 2013 00:45:34 +0100 |
User-agent: |
KMail/1.13.7 (Linux/2.6.38-ac2-ac100; KDE/4.8.4; armv7l; ; ) |
No need to do any of what I asked. The error is in the test itself:
As you said, the test runs as follows:
char inChar;
while ((inChar = fgetc(f)) != EOF)
//do something
The problem stems from the fact that fgetc returns an int, not a char. This is
for a very good reason: EOF is defined to (-1). Characters can be either signed
or unsigned (the C standard leaves this choice up to the compiler if I
remember well) and it seems tcc and gcc consider char as being unsigned. Thus,
when the return value from fgetc is stored in inChar, it changes from -1 to
255. Then, to do the comparison between inChar and EOF, the compiler will cast
inChar in int because int is bigger than char. So you'll compare 255 to -1. If
the int were to be casted down to char, then it'll work (as in comparing to
(char) EOF).
I'll fix the test tomorrow.
Best regards,
Thomas
- [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi), Jerry Reed, 2013/01/19
- Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi), Thomas Preud'homme, 2013/01/20
- Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi), Jerry Reed, 2013/01/20
- Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi), Thomas Preud'homme, 2013/01/23
- Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi), Jerry Reed, 2013/01/23
- Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi), Thomas Preud'homme, 2013/01/23
- Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi), Thomas Preud'homme, 2013/01/23
- Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi),
Thomas Preud'homme <=
- Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi), Thomas Preud'homme, 2013/01/23
- Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi), Jerry Reed, 2013/01/23
- Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi), Thomas Preud'homme, 2013/01/25
- Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi), Jerry Reed, 2013/01/25
- Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi), Thomas Preud'homme, 2013/01/26
- Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi), Jerry Reed, 2013/01/26
- Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi), Thomas Preud'homme, 2013/01/27
- Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi), Christian Jullien, 2013/01/27
- Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi), Jerry Reed, 2013/01/26
- Re: [Tinycc-devel] Segmentation Faults and test failures on ARM (Raspbian/Raspberry Pi), Jerry Reed, 2013/01/23