Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum. |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
03-31-2004, 11:58 AM
|
#1
|
LQ Newbie
Registered: Jul 2003
Location: Hellas - Crete - Heraklion
Distribution: Red Hat 9
Posts: 24
Rep:
|
gcc: recursive function quirk
Hi all you folks!! I'ld like to share with you the exotic piece of code following below, that I (accidentally) wrote and tripped uppon:
size_t
Vector_private__sizeofArrayCell (void)
{
Vector_private__sizeofArrayCell ();
}
Gcc doesn't complain. I think it poses an interesting (`academic') topic. Does anyone know whether gcc (3.2.2 here) rightfully:
1. Doesn't complain about the obvious infinite recursion??
and 2. Doesn't compain about the function not having a return statement to return something of `size_t'??
Any ideas/ thoughts??
Cheers,
Disruptor
|
|
|
09-22-2014, 12:26 PM
|
#2
|
Member
Registered: Aug 2014
Location: Leeds, England
Distribution: Slackware x86 64 version 15.0
Posts: 127
Rep:
|
GCC is not perfect
Simple - its a bug - isnt it? A bug in gcc. Try it in clang or a proprietry C compiler
|
|
1 members found this post helpful.
|
09-22-2014, 12:57 PM
|
#3
|
LQ Guru
Registered: Oct 2003
Location: Bonaire, Leeuwarden
Distribution: Debian /Jessie/Stretch/Sid, Linux Mint DE
Posts: 5,196
|
Now I don't code C every day anymore, but what is wrong with this code?
I am sure gcc doesn't complain about infinite recursion. If that is what you want, fine. Infinite recursion is an execution time property, not a compiler problem.
A return statement is not needed because it is a void function.
jlinkels
|
|
|
09-22-2014, 01:01 PM
|
#4
|
Senior Member
Registered: Feb 2011
Location: Massachusetts, USA
Distribution: Fedora
Posts: 4,314
|
To be correct it should be:
Code:
size_t
Vector_private__sizeofArrayCell (void)
{
return Vector_private__sizeofArrayCell ();
}
Now it will return the correct value once forever elapses.
|
|
|
09-23-2014, 05:45 AM
|
#5
|
LQ 5k Club
Registered: Jan 2006
Location: Oldham, Lancs, England
Distribution: Slackware64 15; SlackwareARM-current (aarch64); Debian 12
Posts: 8,311
Rep: 
|
Original post is 10 years old.
|
|
|
All times are GMT -5. The time now is 04:06 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|