public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c/7689: Bad code generated when function sometimes does not return
@ 2002-11-25 13:16 ebotcazou
  0 siblings, 0 replies; 3+ messages in thread
From: ebotcazou @ 2002-11-25 13:16 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, hpa, nobody

Synopsis: Bad code generated when function sometimes does not return

State-Changed-From-To: open->feedback
State-Changed-By: ebotcazou
State-Changed-When: Tue Nov 19 03:52:21 2002
State-Changed-Why:
    I can't reproduce the problem with the testcase you provided (using -Os, -O0, -O1, -O2, -O3). Could you specify the options you passed to the compiler ?

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7689


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: c/7689: Bad code generated when function sometimes does not return
@ 2003-02-23 21:29 neroden
  0 siblings, 0 replies; 3+ messages in thread
From: neroden @ 2003-02-23 21:29 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, hpa, nobody

Synopsis: Bad code generated when function sometimes does not return

State-Changed-From-To: feedback->closed
State-Changed-By: neroden
State-Changed-When: Sun Feb 23 21:29:36 2003
State-Changed-Why:
    Can't reproduce, no feedback 3 mo.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7689


^ permalink raw reply	[flat|nested] 3+ messages in thread

* c/7689: Bad code generated when function sometimes does not return
@ 2002-08-22 15:06 hpa
  0 siblings, 0 replies; 3+ messages in thread
From: hpa @ 2002-08-22 15:06 UTC (permalink / raw)
  To: gcc-gnats


>Number:         7689
>Category:       c
>Synopsis:       Bad code generated when function sometimes does not return
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Aug 22 14:56:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     hpa@transmeta.com
>Release:        unknown-1.0
>Organization:
>Environment:
i386-redhat-linux Linux RedHat Beta 7.3.94 ("null")

Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --host=i386-redhat-linux --with-system-zlib --enable-__cxa_atexit
Thread model: posix
gcc version 3.2 (Red Hat Linux Rawhide 3.2-1)

>Description:
The included code is from a real-life program.  Here, obviously, the die() function never returns, and so the programmer has not bothered to put a return at the end of the function.  However, when compiled with gcc 3.2, the compiler does not set the return value register (%eax) even in the case when the function *DOES* return (strcmp() returns zero.)
>How-To-Repeat:
The test case I have looks like: (preprocessed version included in attachment.)

#include <string.h>

struct rom {
  char *name;
  int data;
};

typedef struct rom *rom_t;

typedef int boolean;

extern void assert_rom_layouts(void);
extern int verify_rom_sanity(rom_t, boolean);

extern void errorf(char *, ...);
extern void die(void);

typedef struct rom_file_S
{
    char * name;
    rom_t * roms;
    unsigned s_roms;
    unsigned n_roms;
} rom_file_s, * rom_file_t;

extern rom_file_s rom_file;

extern char *parse_file;

rom_t
find_rom (char * model, boolean complete)
{
    unsigned int ctr;
    rom_t rom;

    assert_rom_layouts ();

    for (ctr = 0; (ctr < (rom_file.n_roms)); ctr++)
    {
        rom = (rom_file.roms[ctr]);
        if ((strcmp ((rom->name), model)) == 0)
        {
            verify_rom_sanity (rom, complete);
            return (rom);
        }
    }
    
    errorf ("ROM layout \"%s\" not found in \"%s\".\n", model, parse_file);
    die ();
}
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/gzip; name="findrom.tar.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="findrom.tar.gz"

H4sIAHNcZT0AA+0c247kRtWbLCTdBBQi3kBQmc2lvdPT27bntts7SUTITdpwySrhYTdYbrd7xhm3
7dju2ZlsRjxEPEQRH8Ebf8BrJBAS/8AbIJDIQ5BQnpCWUze7XC67u+e2CXRppu2qc+qcU6fOOXXt
HvvhKIkmPVc7v9Q3+v3NzXWt3++b8IeffWN9gzzx64a5pfW3NizD3NiELMbf2tjUUP8cZcrTNM2c
BCFtL3Ya8bxw9yLEueh0xQ/dYDry0M00S/xwt7f3QrsNr1M3Q2AX6H4bIXcPNHQ1dCbeAHJ+mKGR
kzmD9vGg3c6OYm/kjZFQ5Sp82JkAwzWGURR4Tgil3mHmJSE6iPwRctLUSzIbVwico2iapR1crg84
Fq564CX++IggpU7oZ0cdwqDLaeoSUS9JomTcoVJ3Ua/XK+gRhJHvcTYK+e2xH3j27TZuOW874o1H
BCODEnimtGQapv5u6I1QaisKQ1Z4XNBOu7Q+zWWF+AVG/loAqSSxk6QehxBZ2mNwYcwEsSajSTTy
glw9yI0mceBlns6alIuGletmidgu+AS6OF/tGtTRGWwcJcAsS9AO6g/o203U4SL3aJN1fYCpr67q
pM79dgvLuCPgYaw7gPIu0G35Y9TpQC+4kxheALT2Ala63qXN0XW0A9z0dgsIYXoVqyCEu0VrBxQv
8bIpaA8DcdExEYZ+kg9qLaiz8tZP3kS0pejuyrPp3RUURhk0dRpiTbGy3t1wpcsVXPSFTnUIhkWU
dNx+2G49dxqz+O+fI4/m+L++bq6blfi/ubGM/xeRriADrXAjcFfaJH9zOPWDbM0PX+AF4FUTBxwh
8EOPF8q1rk3T5BobTq7x0WQFIBbAzc1aBEtRfew54LZeKhC43oSjopEepddciO0lImYDEZPgWGZ/
QUa74RSaMx0KjCyzSVrKyNyqVQlGoKngFvjDa7uuu4afvrW9uZZ4oz0ng3w4Pbxm9UyBzgiaLbS6
fxoaVj5GlgaO1P+AjF3Q1vVZ7RAH36sTb+LGEK1pzrZBJ4APY69tj+C1SyJpJdm2G4VphhS10sTt
MnEgF+pooGA5iQ68gidhVKEpE6KSDGhHVNrQ2IhZ8qobSRQLNWulkIVIvayQAaYVqvqiOjAcy47H
2ErrDYVGTIUotu1k0JbhNPNsG8Zq247BsG1b11WKd/cSBS+1qG00k8EVtFXvNlZ5roRnE7iTaK6h
kxQI0EmF5mWqYSPZmr5tZlbbZUVTnOxcmnIKsnVNbbA+PsOTCYvWl5eZ81hcmXi4APWT2jZvRxQE
59AQJhMwOBwnk4XNbEE7g/HFrI/fVYcaTVXq1RUtmzhBELnca42N64u4rRg0ci550FCxqyoyp3Y6
ciD7Vv3sxqp2m5vGoZJdtWfe89xsEcsrmMzLw3FdL56Lh6y1eJjsnzML+Kty2HOOYEru7lcZhZ43
grXWbEbQZZXZYpO5ZdG+0s+UfSZ4YeBPxOG5RBZqE8J2UkO6zn8bPZjwbKhKq0isnAPPjrNEV8X/
JglPLsgsMWBOasoz8UafCjyVuc9yXNOyFrACshOAOjQoQCacTnRFx3JMW8Lt5nINp2MhzEIOpNcV
MziAfeAlUWkGJw+dpQpDN8ITD+W8tTy1bZoOz2YqjHPDC5grUr3BatI7PEXUL1NLTk1O1MJ4nPLO
9lX1CI/c6raa1rrSHMJJvTOeD1UmRIuxWLATYfnXX8TJUi/m0UYKD6RSPGP5VxuGSVCxNhfbZRj6
WVrZqbA2Z63LGwmZBaUNOcTJaCqZvHDkO6EgjixNgVDbpAqN7VoadCtiQ+5CWVKznhneHShtsTQi
WWeyo2HJWzRlJrSbKtsWxHhse2rjl0EVnu5FSUYQyJsCg4aAqQ1PBTSIwl0Cxi/giTAygPUDNArB
b9To5IOTfX/qjPCeirqijM+xr6D1WTrPTzlKigAy27aqIVxRMkJJTywchpmxqSQiYk0raCWFwqdl
KokU1SlCjWpqNAqfm+v1Cq3vibxiLhFXNw4+7zujUSJBeeeRgHQgtoXZCyE7UgN2qwBmS34Yqavg
Iwg1JAT32RdBQsOi8bhcKRc6kEAUPy4LRgtTvvWnkDeBWCyDch4YSNValZoyko7j2gjRIyuKc+AE
d8x38VHLMeTGKasjiTfivcOL+ZjhygBBMZk/8ZoMEIbQKBylNbXTWfB7w2C/1D4B6MIqeV/VEAJQ
txGLSy2QpDJw3zsq11G6pB+7vHvbSrlAZN7R9RhumNUYFAUyL1KZyjhV1RfMhSM00hj7QTMNiqCi
kSOBk1Xh1CGoz8hQ0XDs1HUCJ1EaTwlvWiDKPQafsDCq6TRmQmALsIzgvVEzFsfZXuI5I3lIVo7u
Mm79BMnd80YFtU15MlFGsvjtAZAZl9mxkzgTyZMZJPGjxM+OiEeTmbO8E6UUlI7unAuD2mMnzbDD
kENu0fcyJ5um/OIC5GM/xHigx+OS6csEYSHlJjYrvVouHpT9Lm8xR8LzZTslorCg5GWOu4dl8QRR
sBbiKPBdogKV3nIsnClq+uGeB5ojIJFeFBPy+Qx+d+okI5wTkPDeComEqZfh4nz9xgElCqSUUjhG
peZlCu2RFtf1DA5pNlU9ktRMQPccP/PxxKlghINqPSOm2ulkciRXKiRU+hNHzUNlE4MJXm14yYGo
6glwmYaZsiUTO7oXeomIvA+r0UGzaiZMNUU7JrDeOpzVeoJEyUs1FZ0kNj0KXXZ+Z6wrZ9PV+FAf
3zhRRk/pxiX/hSWHEqmy5LC2lXPb0iKqdOQE0wznHj93qjt1IgvX68bcpLHH4aNv0S/IPq/tGg17
DGyDd1BDpr0YGdLribfrp0CskASMcxpk5CoOwO/t+YGHaaV3OOhd9PQOev5u/3n03HOoAihvQ6+u
cuCgnd+dKYqO23NoxJzZFKNhB1NMYh1zLjXOw1sie75qNYqWNqGZZ6d+63zUXyZhzdUb84gicWnX
i2B9SbqqEWrN2ZEQfirbhIuFn5lhg53LNHfUvFTmUH2d7nd2UPmQ6HRWPtPPKas5jVysMivEzM1Z
ono2ujPQhx+iWuiZBJCZTnty1ZYpzAofcwvSzORCFF/ooglt/rhg9CunVrMDg3DmiM9tz9BBZnoI
Jd9ekHfVRYqewPhixOb5okMUhYIDpIJuCdoOo/Ui6rBjL72voxv8IEJHHWob+GgnVXpJRb9n5iWL
uklV3SfwE+UoK3jNafuiNJLKUOssewr7y/bGafyFnIDbhlscgqddvgOeejE/1iX3Dw6zeEaXLEqt
XXzBQowM+DY804egCKo4Uo44hYHUVyTmACdJyULUEwhyVmIv8+v6tP+EeoCzujpg5Qrz0PNe5yRX
VyVxaLpfMj8cMtcMCJaEyKAEG8Kqcl8sOmbvvPVUrEF+qV8dUQ1DPkSrtRDBMEBqe1c4rOQnlEj2
NnoCSZa+hnUqW8QsC9spGU/tWlK0vtn1y0NiYXjZgRNQq0oL+2PFT5dsBrs0MzWMIx6sdPBtBz/I
/JBqyAkzO6aECHNStcgJzs7du7R65wJ0C/EhFBTXwypQSJKw1OyuEnl1bI65kQmWgqnMivpYs2aT
Zg0pP2uoPAHB0/dd2bcrpFzqT1wjJU83Cg8W/Ze5Oq4pR4Gqq5Nz/LgagmrdvXD4Cq9cTXjaVSk1
m8Ug+CVzaIw6ZTFwTHXjAi7EpJTojwOPT2Zm1kJWMdcso1Rl1qziBDLIDJaWOr+lKkutL7H94ivD
xqwbMMov5GSjwB8KtziqF4c4whldE6nebOYM+E2ejQ1581sUovxlBnKhmc9A8bwDXmbdfC6TcGUS
IYx1Q+HKFSHZZgbYfKN6e7t6T6mQnPbSrAtI/HtG1cmP+p43qTnHZW9z/mmQQDtsYDrXtbSyFNZW
tWvlL1hdgTfhi2zIXH75efnl5/P48jMPtk3fgRZHD3lmfV+IEYYdeCGe9qYmfhvUzbuFb1HrdNNa
hUW/Xs2m5pQ2SMjvXIs0CpYCAq3eRZ2nO3xtXjp20ztlOVaRoaM1VIcrosJ4CLh0V43K9cIOWqei
1nNj7Wnmw5BEDmbBQYclCf+anBSPdFklVXiukVzsmwX9F4vG3MhLmbQ35u3Ic9L0vCbAG7WO9VQj
smBVZ9dRL1YWnPeLqSE/Ksp3OfKeKd9rxF3U2Kf6nf67WKD56zMpcUXwe7Z3wywW9anrccHwjxig
+2clqbGgpCgX1VCIapynqOaJRTUVopoKUc9IUOvEglpY0GNyO5HtP6Fjnfm1ZLY11HFEoPsqCzIf
nJ8jYJkekmUT1g/HUgnrh2F5hLHakhqGiHOJt2xAqBvyc1DzUHBBo9dXanAwvzqDg/nVGRzM//nB
wVhwcBCFrx8iMOGF7RoJhn0CuyY8L9pCCdOLtTXC8qythp+D1P1WFu7s4/wns9S7iHP8gJaIXv4d
rfLe4TFdGf+f/5TWVzLxva/oHHnM+P1H0+yvV3//y1r+/tdFpF++cuvVS5cu5flL2qPaJQF+l2XW
yWdHa2uPaW9//Lefv3P7o8+e+Md/Hjx4YHzxmycAdP2PH7/yefrsJzuXIfPxFx999vgn3/vdg+nj
DyyC9dEfnvzVp9nVVwfTz5O//PTBBqYG0D38JAgc69fev+/8wv7T74HAg+kTt0nxP/9eK78QaiCq
SIEGl/QggLz28sswzL7247d1ZPVM1HkLQu/rToZu4RME9JZzb88feRi0Zuia1kuPJpkzhGeW0Oce
f0u8oJfBYK318Caw1humKRRGOIOxjZ5laj38W2lemM3fBz8gete0r2uFrlMBfpk9vwv/LaH8JgBe
h+fjrP5l9v4syz/K8H4r8eP0Vhn+LLw+o2ey/Kfw/4yAhxj8Jfbk6a/w3xPyHPZtgSdOTwHgDQUe
fj4ilH8Gmc81qoPHmHxPsrxI78+QsRX05CSWX9b+9UCEPSrVerTEAecvS/mvSfmva99g77gvnwJ6
3xHgWO7npXxfym9J+R9K+Tek/JtSPg/ursa3ybXqzrbG96I1OqPQirFYoyO6BoOxVpkuaBoemh95
nPbnJeiE77MnbscjAPwRzoMSbuEnqOdnuBxixTv4+U1Nm+Dnt7RleoiJm0g6G/XEadbvP28Z1fF/
a305/l9EavWwo7fEH/Ns9VLPzWAx2pKGtu6K8+btle5LcRLt4vPcrgG4TgBLGWSZ7d6tl/s3cGVy
yNqafxEAdfCYmtMy4S022Xu3a7V7u0E0DBCPYRj/KPZaPN99aTwNicD5aSDIEU/TvaD1rDeM261J
dIBf07iLaAEHjvziPRXeh4ftVjodBq1nDBPXSaEOPrtvVcNnu3UYJbQ+wfQZOx5VVykFByhCcMWI
zmEJkRasGZsdLJvebr3neK3eresynXVcCwssKefW1g0u7DaXldTsYPQuEWxdJy0/5C3c5rxoFucO
ddZEOgq0W85ohNu/yWlmXpoV4uP2vIflNMAI8Pk60yBpY94Y3tD3hoC5BbJeF3rGycUpRpwaAZ/B
xsXko2MSy8DIBFQNbHiyvIHnYElMQRLc81HMO5i9kn6nr1i7UO0AxIDlLiZsVHVLJeJ0yzZDZKqM
lND+SYxV1QeSY88gXuJ/IFgwKV4TDBzmo2HWWllk4rqyXCkv0zIt0zIt0zIt0zIt0zIt0zIt0zIt
0zIt0zIt0zIt0zItE0n/Bex7y5kAeAAA


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2003-02-23 21:29 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-11-25 13:16 c/7689: Bad code generated when function sometimes does not return ebotcazou
  -- strict thread matches above, loose matches on Subject: below --
2003-02-23 21:29 neroden
2002-08-22 15:06 hpa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).